Product SiteDocumentation Site

6.3. A Colecção de Compiladores GCC

O gcc foi actualizado da versão 4.4.2 para 4.4.3. Isto inclui o gcc, gcc-c++, gcc-fortran, gcc-gnat, e gcc-objc.

6.3.1. GCC agora utiliza lincagem DSO implícita

Pontos chave:
  1. O ld não irá procurar automaticamente nas dependências dos objectos lincados.
  2. Se o seu projecto utiliza duas bibliotecas A e B, ele não irá compilar a não ser que A e B sejam ambos explicitamente lincadas.
  3. Há mais explicações na página das funcionalidades do GCC na wiki do Fedora: http://fedoraproject.org/w/index.php?title=UnderstandingDSOLinkChange.
Sob estas novas alterações, se o seu pacote falhar a sua construção com uma mensagem como:
/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
Então a linha que constrói o .o especificado precisa de explicitamente lincar a libm.

6.3.2. _builtin_stdarg_start foi completamente removida do gcc 4.4.3.

_builtin_stdarg_start irá retornar uma referência indefinida para _builtin_stdarg_start por causa da depreciação do <stdarg.h> no gcc 4.x A substituição é _builtin_va_start.