Documentation Development GCC Tools Beat

From FedoraProject

Revision as of 13:05, 22 April 2010 by Jjmcd (Talk | contribs)

Jump to: navigation, search
Warning (medium size).png
Document is Final
The contents of this beat have been sent for translation for the GA version of the Release Notes. Any additional changes to this beat will not appear until after the release of Fedora 13. If you have zero-day changes, be sure to post a bug.

gcc

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/libm.so.6 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.