patches/gcc/4.2.1/300-libstdc++-nostdlib-linking.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Thu Dec 27 12:45:22 2012 +0100 (2012-12-27)
changeset 3152 b286c7993be5
permissions -rw-r--r--
scripts/addToolsVersion: properly handle .in vs. .in.2

While most components have their version in the .in file, some
have it in the .in.2 (eg. elf2flt).

Currently, to handle this case, we indiscriminately munge both files,
but this is wrong: in the elf2flt case, if we add a binutils version,
we do not want it to be added to elf2flt, and conversely.

So, for each tool, we need to explicitly know what file to munge.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
yann@1287
     1
On 20090401, Ted Jordan writes:
yann@1287
     2
 The generated libtool for building libstdc++ adds the -nostdlib option to the
yann@1287
     3
 g++ command for linking but doesn't add -lgcc.  This causes a "hidden symbol"
yann@1287
     4
 error when linking against the libstdc++ shared object.  This patch adds gcc
yann@1287
     5
 to the list of libraries linked against when linking libstdc++.
yann@1287
     6
yann@1287
     7
Index: gcc-4.2.1/ltcf-cxx.sh
yann@1287
     8
===================================================================
yann@1287
     9
--- gcc-4.2.1.orig/ltcf-cxx.sh	2005-07-15 21:30:53.000000000 -0500
yann@1287
    10
+++ gcc-4.2.1/ltcf-cxx.sh	2009-04-02 09:30:34.000000000 -0500
yann@1287
    11
@@ -78,8 +78,8 @@
yann@1287
    12
   # to be the same.
yann@1287
    13
 
yann@1287
    14
   if test "$with_gnu_ld" = yes; then
yann@1287
    15
-    archive_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
yann@1287
    16
-    archive_expsym_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
yann@1287
    17
+    archive_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -lgcc ${wl}-soname $wl$soname -o $lib'
yann@1287
    18
+    archive_expsym_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -lgcc ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
yann@1287
    19
 
yann@1287
    20
     hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
yann@1287
    21
     export_dynamic_flag_spec='${wl}--export-dynamic'