Product SiteDocumentation Site

6.3. Zestaw kompilatorów GCC

Pakiet gcc został zaktualizowany z wersji 4.4.2 do 4.4.3. Wliczają się w to pakiety gcc, gcc-c++, gcc-fortran, gcc-gnat i gcc-objc.

6.3.1. GCC używa teraz implikowanej konsolidacji DSO

Kluczowe zmiany:
  1. ld nie będzie dłużej automatycznie wyszukiwał zależności konsolidowanych obiektów.
  2. Jeśli projekt używa zarówno biblioteki A, jak i B, nie zostanie skompilowana, chyba że A i B są bezpośrednio dowiązane.
  3. Więcej wyjaśnień tej funkcji GCC znajduje się w wiki Fedory: http://fedoraproject.org/w/index.php?title=UnderstandingDSOLinkChange.
W związku z tymi zmianami, jeśli pakiet nie kompiluje się, wyświetlając komunikat podobny do tego:
/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
W takim przypadku wiersz budujący podany plik .o musi bezpośrednio dowiązywać do libm.

6.3.2. _builtin_stdarg_start zostało całkowicie usunięte z GCC 4.4.3.

_builtin_stdarg_start zwróci nieokreślone odniesienie do _builtin_stdarg_start, z powodu określenia<stdarg.h> jako przestarzałe w GCC 4.x. Powinno zostać zastąpione przez _builtin_va_start.