Product SiteDocumentation Site

6.3. Sada překladačů GCC

gcc byl aktualizován z verze 4.4.2 na 4.4.3, vč. gcc, gcc-c++, gcc-fortran, gcc-gnat a gcc-objc.

6.3.1. GCC nyní využívá implicitní DSO linkování

Klíčové body:
  1. ld již více nebude automaticky vyhledávat v závislostech linkovaných objektů.
  2. Kdyby váš projekt využíval dvě knihovny, knihovnu A a B, neprovede překlad, dokud A a B nejsou explicitně slinkovány.
  3. Více vysvětlivek je k dispozici na wiki stránce Fedory s vlasnostmi GCC: http://fedoraproject.org/w/index.php?title=UnderstandingDSOLinkChange.
Díky těmto změnám selhání sestavení balíčku skončí zprávou jako např.:
/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
Pak řádka, která sestavuje uvedený .o soubor, potřebuje explicitně slinkovat s libm.

6.3.2. byl zcela odstraněn příkaz _builtin_stdarg_start z gcc 4.4.3.

_builtin_stdarg_start will return a undefined reference to _builtin_stdarg_start because of the depreciation of <stdarg.h> in gcc 4.x The replacement is _builtin_va_start.