Product SiteDocumentation Site

6.3. Kompilatorsamlingen GCC

gcc har uppdaterats från 4.4.2 till 4.4.3. Detta innefattar gcc, gcc-c++, gcc-fortran, gcc-gnat och gcc-objc.

6.3.1. GCC använder nu implicit DSO-länkning

Nyckelpunkter:
  1. ld söker inte längre automatiskt i beroendena till länkade objekt.
  2. Om ditt projekt använde både bibliotek A och B kommer det inte kompilera om inte både A och B båda uttryckligen länkas.
  3. Det finns fler förklaringar på GCC-funktionssidan i Fedoras wiki: http://fedoraproject.org/w/index.php?title=UnderstandingDSOLinkChange.
Om ditt paket misslyckas att bygga med de nya ändringarna med et meddelande av typen:
/usr/bin/ld: gpx-parser.o: undefined reference to symbol 'acos@@GLIBC_2.0'
/usr/bin/ld: note: 'acos@@GLIBC_2.0' is defined in DSO /lib/libm.so.6 so try adding it to the linker command line
I så fall behöver raden som bygger den angivna .o uttryckligen länka libm.

6.3.2. _builtin_stdarg_start har tagits bort fullständigt från gcc 4.4.3.

_builtin_stdarg_start kommer returnera en odefinierad referens till _builtin_stdarg_start eftersom <stdarg.h> undanbedes i gcc 4.x. Det ersättes av _builtin_va_start.