From Fedora Project Wiki

No edit summary
No edit summary
Line 1: Line 1:
{{Admon/warning | F13 | Beat owner should begin placing Fedora 13 content in this beat. }}




== gcc ==


==  GCC upgraded in alpha ==
''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 ===


'''Note: 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.'''
[[Features/ChangeInImplicitDSOLinking |Implicit DSO Linking ]]
Key points:
Key points:
# ld will no longer automatically search in the dependencies of linked objects.  
# ld will no longer automatically search in the dependencies of linked objects.  
Line 28: Line 22:
Then the line that builds the specified .o needs to explicitly link libm.
Then the line that builds the specified .o needs to explicitly link libm.


----




''' _builtin_stdarg_start has been completely removed from GCC 4.4.3''' 
=== _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
_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.  
The replacement is _builtin_va_start.  





Revision as of 13:21, 18 March 2010


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.


_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.