]> code.ossystems Code Review - openembedded-core.git/commitdiff
gcc_4.5.0: import a missing patch from gcc_4.3.3
authorNitin A Kamble <nitin.a.kamble@intel.com>
Tue, 17 Aug 2010 17:03:29 +0000 (10:03 -0700)
committerRichard Purdie <rpurdie@linux.intel.com>
Tue, 17 Aug 2010 21:50:47 +0000 (22:50 +0100)
[BUGID #208]

Thanks to Edwin Zhai for reproducing issue and narrowing it down to the
segmentation fault in the floorf function of libstdc++-v3

And

Thanks to RP for pointing out that this is a known issue with the fix
already in the gcc 4.3.3 recipe

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard@openedhand.com>
meta/packages/gcc/gcc-4.5.0.inc
meta/packages/gcc/gcc-4.5.0/optional_libstdc.patch [new file with mode: 0644]
meta/packages/gcc/gcc-cross-canadian_4.5.0.bb
meta/packages/gcc/gcc-cross-initial_4.5.0.bb
meta/packages/gcc/gcc-cross-intermediate_4.5.0.bb
meta/packages/gcc/gcc-cross_4.5.0.bb
meta/packages/gcc/gcc-crosssdk-initial_4.5.0.bb
meta/packages/gcc/gcc-crosssdk-intermediate_4.5.0.bb
meta/packages/gcc/gcc-crosssdk_4.5.0.bb
meta/packages/gcc/gcc-runtime_4.5.0.bb
meta/packages/gcc/gcc_4.5.0.bb

index a93b67bfedbb6f7f5be01e32fc1218e53ac113ee..6ca2f98bc88f5629645bc90b30b89ce483013314 100644 (file)
@@ -45,7 +45,8 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
            file://zecke-xgcc-cpp.patch \
            file://gcc-poison-system-directories.patch \
            file://gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \
-          file://64bithack.patch;patch=1 \
+          file://64bithack.patch \
+          file://optional_libstdc.patch \
          "
        
 SRC_URI_append_sh3  = " file://sh3-installfix-fixheaders.patch;patch=1 "
diff --git a/meta/packages/gcc/gcc-4.5.0/optional_libstdc.patch b/meta/packages/gcc/gcc-4.5.0/optional_libstdc.patch
new file mode 100644 (file)
index 0000000..0f74353
--- /dev/null
@@ -0,0 +1,23 @@
+gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++ 
+will not run correctly since my default the linker will try and link against libstdc++
+which shouldn't exist yet. We need an option to disable the automatically added -lstdc++
+option whilst leaving -lc, -lgcc and other automatic library dependencies. This patch 
+adds such an option which only disables the -lstdc++ linkage.
+
+A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to 
+do this officially, the likely answer is don't build libstdc++ separately.
+
+RP 29/6/10
+
+Index: gcc-4.3.3/gcc/cp/g++spec.c
+===================================================================
+--- gcc-4.3.3.orig/gcc/cp/g++spec.c    2010-06-29 00:06:03.901695025 +0100
++++ gcc-4.3.3/gcc/cp/g++spec.c 2010-06-29 00:06:58.800325439 +0100
+@@ -131,6 +131,7 @@
+       if (argv[i][0] == '-')
+       {
+         if (strcmp (argv[i], "-nostdlib") == 0
++            || strcmp (argv[i], "-nostdlib++") == 0
+             || strcmp (argv[i], "-nodefaultlibs") == 0)
+           {
+             library = -1;
index 92708d44e7db04525066dc29b0ca84a81011e9bd..f67a5a37954a8483187b14bdda558053c4986302 100644 (file)
@@ -5,7 +5,7 @@ require gcc-cross-canadian.inc
 require gcc-configure-sdk.inc
 require gcc-package-sdk.inc
 
-PR = "r4"
+PR = "r5"
 
 DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
 RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
index 081b7d60fb5946d582bc1423e1e549b731972787..28ac1abe182141a4d270c397c9936e79d2d140ed 100644 (file)
@@ -1,5 +1,5 @@
 require gcc-cross_${PV}.bb
 require gcc-cross-initial.inc
 
-PR = "r4"
+PR = "r5"
 
index 9a30cb51195a5376bff61bc8390e0978aaa36b3c..a8473b0ebe7b7b3ea493f632ae1a4f0876095631 100644 (file)
@@ -1,4 +1,4 @@
 require gcc-cross_${PV}.bb
 require gcc-cross-intermediate.inc
-PR = "r4"
+PR = "r5"
 
index 04e4f8d21214afbd7d66fe9be3f6fe51a0796e9b..3900c8b2ea642e2af5e87a2c2311d6bd995050b3 100644 (file)
@@ -1,4 +1,4 @@
-PR = "r4"
+PR = "r5"
 
 require gcc-${PV}.inc
 require gcc-cross4.inc
index 970824805fcf196ab312bb41663eea8b01a25db8..57d1f6b7ea7b566e9bf3d577a5fed192e316d09c 100644 (file)
@@ -1,4 +1,4 @@
 require gcc-cross-initial_${PV}.bb
 require gcc-crosssdk-initial.inc
 
-PR = "r4"
+PR = "r5"
index d23596959139503c9115e70b81ef1649eeae1bb7..57d1f4844afe504d5221e9a7a4f8686c9b780d30 100644 (file)
@@ -1,4 +1,4 @@
 require gcc-cross-intermediate_${PV}.bb
 require gcc-crosssdk-intermediate.inc
 
-PR = "r4"
+PR = "r5"
index bae238970a6a365598961a98016946407bd58ed1..1f3f63d38cf2e36e1ebdc4f7e837c2dcab12d73e 100644 (file)
@@ -1,4 +1,4 @@
 require gcc-cross_${PV}.bb
 require gcc-crosssdk.inc
 
-PR = "r4"
+PR = "r5"
index 9eb658b12c29697b8b17a6b199299106899299b0..2127eb687b30b27b4d5f699404dadd02be1c6f6e 100644 (file)
@@ -1,4 +1,4 @@
-PR = "r4"
+PR = "r5"
 
 require gcc-${PV}.inc
 require gcc-configure-runtime.inc
index c14914cddbd9b80ae84f4f657ac4eb0c126159df..a257ddc1de6492b2b2837e4e85213874879b5fc3 100644 (file)
@@ -1,4 +1,4 @@
-PR = "r4"
+PR = "r5"
 
 require gcc-${PV}.inc
 require gcc-configure-target.inc