From Fedora Project Wiki

Revision as of 13:22, 18 March 2010 by Jjmcd (talk | contribs)


gcc has upgraded from 4.4.2 to 4.4.3. This includes gcc, gcc-c++, gcc-fortran, gcc-gnat, and gcc-objc.

GCC now uses Implicit DSO linking

Key points:

  1. ld will no longer automatically search in the dependencies of linked objects.
  2. If your project used both libraries A and B, it will not compile unless A and B are both explicitly linked.
  3. There are more explanations on the Features page. here

Under the new changes, if your package fails its build with a message like:

 /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/ so try adding it to the linker command line

Then the line that builds the specified .o needs to explicitly link libm.

For additional details refer to the feature page on the wiki Features/ChangeInImplicitDSOLinking

_builtin_stdarg_start has been completely removed from 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.0 The replacement is _builtin_va_start.