Product SiteDocumentation Site

6.3. De GCC compiler collectie

gcc is vernieuwd van 4.4.2 naar 4.4.3. Dit omvat gcc, gcc-c++, gcc-fortran, gcc-gnat, en gcc-objc.

6.3.1. GCC gebruikt nu impliciete DSO linking

Kern punten:
  1. ld zal niet langer automatisch zoeken in de afhankelijkheden van gelinkte objecten.
  2. Als jouw project zowel bibliotheek A als bibliotheek B gebruikt, zal niet compileren behalve als A en B beide expliciet gelinkt zijn.
  3. Er is meer uitleg op de GCC eigenschappen pagina op de Fedora wiki: http://fedoraproject.org/w/index.php?title=UnderstandingDSOLinkChange.
Als met de nieuwe veranderingen jouw pakket niet gebouwd wordt met een boodschap zoals:
/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
Dan heeft de regel die de gespecificeerde .o bouwt een expliciete link naar libm nodig.

6.3.2. _builtin_stdarg_start is in zijn geheel verwijderd uit gcc 4.4.3.

_builtin_stdarg_start zal een niet-gedefinieerde referentie naar _builtin_stdarg_start teruggeven wegens het afschrijven van <stdarg.h> in gcc 4.x. De vervanging is _builtin_va_start.