Product SiteDocumentation Site

6.3. La collection de compilateur GCC

gcc a été mis à jour de la version 4.4.2 à la version 4.4.3. Cette mise à jour impacte les programme suivants : gcc, gcc-c++, gcc-fortran, gcc-gnat, et gcc-objc.

6.3.1. GCC utilise dorénavant les liens DSO implicites

Points clés :
  1. ld ne cherchera plus automatiquement dans les dépendances des objects liés.
  2. Si votre projet utilise les deux bibliothèques A et B, il ne compilera plus à moins que A et B soient explicitement liés.
  3. Le wiki du Projet Fedora contient plus d'explications sur les fonctionnalités de GCC : http://fedoraproject.org/w/index.php?title=UnderstandingDSOLinkChange.
Suite à ces changements, si votre paquet ne peut être construit et qu'un message comme celui-ci s'affiche :
/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
Alors, la ligne qui construit le .o spécifié doit explicitement être liée à libm.

6.3.2. _builtin_stdarg_start a été retiré entièrement de gcc 4.4.3.

_builtin_stdarg_start va retourner une référence non définie à _builtin_stdarg_start à cause de la dépréciation de <stdarg.h> dans gcc 4.x. Il est remplacé par _builtin_va_start.