diff options
| author | Nitin A Kamble <nitin.a.kamble@intel.com> | 2010-08-17 10:03:29 -0700 |
|---|---|---|
| committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-17 22:50:47 +0100 |
| commit | 94f63fa5642f70d993efa0428f46851a2cddc213 (patch) | |
| tree | 28248276014147996665f287cf6ca06640bfbaa7 | |
| parent | 514d768673049eb43d1429b095d5937ded38eb99 (diff) | |
| download | poky-94f63fa5642f70d993efa0428f46851a2cddc213.tar.gz | |
gcc_4.5.0: import a missing patch from gcc_4.3.3
[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>
| -rw-r--r-- | meta/packages/gcc/gcc-4.5.0.inc | 3 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-4.5.0/optional_libstdc.patch | 23 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-cross-canadian_4.5.0.bb | 2 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-cross-initial_4.5.0.bb | 2 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-cross-intermediate_4.5.0.bb | 2 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-cross_4.5.0.bb | 2 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-crosssdk-initial_4.5.0.bb | 2 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-crosssdk-intermediate_4.5.0.bb | 2 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-crosssdk_4.5.0.bb | 2 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-runtime_4.5.0.bb | 2 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc_4.5.0.bb | 2 |
11 files changed, 34 insertions, 10 deletions
diff --git a/meta/packages/gcc/gcc-4.5.0.inc b/meta/packages/gcc/gcc-4.5.0.inc index a93b67bfed..6ca2f98bc8 100644 --- a/meta/packages/gcc/gcc-4.5.0.inc +++ b/meta/packages/gcc/gcc-4.5.0.inc | |||
| @@ -45,7 +45,8 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ | |||
| 45 | file://zecke-xgcc-cpp.patch \ | 45 | file://zecke-xgcc-cpp.patch \ |
| 46 | file://gcc-poison-system-directories.patch \ | 46 | file://gcc-poison-system-directories.patch \ |
| 47 | file://gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ | 47 | file://gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ |
| 48 | file://64bithack.patch;patch=1 \ | 48 | file://64bithack.patch \ |
| 49 | file://optional_libstdc.patch \ | ||
| 49 | " | 50 | " |
| 50 | 51 | ||
| 51 | SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 " | 52 | 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 index 0000000000..0f74353a1f --- /dev/null +++ b/meta/packages/gcc/gcc-4.5.0/optional_libstdc.patch | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++ | ||
| 2 | will not run correctly since my default the linker will try and link against libstdc++ | ||
| 3 | which shouldn't exist yet. We need an option to disable the automatically added -lstdc++ | ||
| 4 | option whilst leaving -lc, -lgcc and other automatic library dependencies. This patch | ||
| 5 | adds such an option which only disables the -lstdc++ linkage. | ||
| 6 | |||
| 7 | A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to | ||
| 8 | do this officially, the likely answer is don't build libstdc++ separately. | ||
| 9 | |||
| 10 | RP 29/6/10 | ||
| 11 | |||
| 12 | Index: gcc-4.3.3/gcc/cp/g++spec.c | ||
| 13 | =================================================================== | ||
| 14 | --- gcc-4.3.3.orig/gcc/cp/g++spec.c 2010-06-29 00:06:03.901695025 +0100 | ||
| 15 | +++ gcc-4.3.3/gcc/cp/g++spec.c 2010-06-29 00:06:58.800325439 +0100 | ||
| 16 | @@ -131,6 +131,7 @@ | ||
| 17 | if (argv[i][0] == '-') | ||
| 18 | { | ||
| 19 | if (strcmp (argv[i], "-nostdlib") == 0 | ||
| 20 | + || strcmp (argv[i], "-nostdlib++") == 0 | ||
| 21 | || strcmp (argv[i], "-nodefaultlibs") == 0) | ||
| 22 | { | ||
| 23 | library = -1; | ||
diff --git a/meta/packages/gcc/gcc-cross-canadian_4.5.0.bb b/meta/packages/gcc/gcc-cross-canadian_4.5.0.bb index 92708d44e7..f67a5a3795 100644 --- a/meta/packages/gcc/gcc-cross-canadian_4.5.0.bb +++ b/meta/packages/gcc/gcc-cross-canadian_4.5.0.bb | |||
| @@ -5,7 +5,7 @@ require gcc-cross-canadian.inc | |||
| 5 | require gcc-configure-sdk.inc | 5 | require gcc-configure-sdk.inc |
| 6 | require gcc-package-sdk.inc | 6 | require gcc-package-sdk.inc |
| 7 | 7 | ||
| 8 | PR = "r4" | 8 | PR = "r5" |
| 9 | 9 | ||
| 10 | DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" | 10 | DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" |
| 11 | RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" | 11 | RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" |
diff --git a/meta/packages/gcc/gcc-cross-initial_4.5.0.bb b/meta/packages/gcc/gcc-cross-initial_4.5.0.bb index 081b7d60fb..28ac1abe18 100644 --- a/meta/packages/gcc/gcc-cross-initial_4.5.0.bb +++ b/meta/packages/gcc/gcc-cross-initial_4.5.0.bb | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | require gcc-cross_${PV}.bb | 1 | require gcc-cross_${PV}.bb |
| 2 | require gcc-cross-initial.inc | 2 | require gcc-cross-initial.inc |
| 3 | 3 | ||
| 4 | PR = "r4" | 4 | PR = "r5" |
| 5 | 5 | ||
diff --git a/meta/packages/gcc/gcc-cross-intermediate_4.5.0.bb b/meta/packages/gcc/gcc-cross-intermediate_4.5.0.bb index 9a30cb5119..a8473b0ebe 100644 --- a/meta/packages/gcc/gcc-cross-intermediate_4.5.0.bb +++ b/meta/packages/gcc/gcc-cross-intermediate_4.5.0.bb | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | require gcc-cross_${PV}.bb | 1 | require gcc-cross_${PV}.bb |
| 2 | require gcc-cross-intermediate.inc | 2 | require gcc-cross-intermediate.inc |
| 3 | PR = "r4" | 3 | PR = "r5" |
| 4 | 4 | ||
diff --git a/meta/packages/gcc/gcc-cross_4.5.0.bb b/meta/packages/gcc/gcc-cross_4.5.0.bb index 04e4f8d212..3900c8b2ea 100644 --- a/meta/packages/gcc/gcc-cross_4.5.0.bb +++ b/meta/packages/gcc/gcc-cross_4.5.0.bb | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | PR = "r4" | 1 | PR = "r5" |
| 2 | 2 | ||
| 3 | require gcc-${PV}.inc | 3 | require gcc-${PV}.inc |
| 4 | require gcc-cross4.inc | 4 | require gcc-cross4.inc |
diff --git a/meta/packages/gcc/gcc-crosssdk-initial_4.5.0.bb b/meta/packages/gcc/gcc-crosssdk-initial_4.5.0.bb index 970824805f..57d1f6b7ea 100644 --- a/meta/packages/gcc/gcc-crosssdk-initial_4.5.0.bb +++ b/meta/packages/gcc/gcc-crosssdk-initial_4.5.0.bb | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | require gcc-cross-initial_${PV}.bb | 1 | require gcc-cross-initial_${PV}.bb |
| 2 | require gcc-crosssdk-initial.inc | 2 | require gcc-crosssdk-initial.inc |
| 3 | 3 | ||
| 4 | PR = "r4" | 4 | PR = "r5" |
diff --git a/meta/packages/gcc/gcc-crosssdk-intermediate_4.5.0.bb b/meta/packages/gcc/gcc-crosssdk-intermediate_4.5.0.bb index d235969591..57d1f4844a 100644 --- a/meta/packages/gcc/gcc-crosssdk-intermediate_4.5.0.bb +++ b/meta/packages/gcc/gcc-crosssdk-intermediate_4.5.0.bb | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | require gcc-cross-intermediate_${PV}.bb | 1 | require gcc-cross-intermediate_${PV}.bb |
| 2 | require gcc-crosssdk-intermediate.inc | 2 | require gcc-crosssdk-intermediate.inc |
| 3 | 3 | ||
| 4 | PR = "r4" | 4 | PR = "r5" |
diff --git a/meta/packages/gcc/gcc-crosssdk_4.5.0.bb b/meta/packages/gcc/gcc-crosssdk_4.5.0.bb index bae238970a..1f3f63d38c 100644 --- a/meta/packages/gcc/gcc-crosssdk_4.5.0.bb +++ b/meta/packages/gcc/gcc-crosssdk_4.5.0.bb | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | require gcc-cross_${PV}.bb | 1 | require gcc-cross_${PV}.bb |
| 2 | require gcc-crosssdk.inc | 2 | require gcc-crosssdk.inc |
| 3 | 3 | ||
| 4 | PR = "r4" | 4 | PR = "r5" |
diff --git a/meta/packages/gcc/gcc-runtime_4.5.0.bb b/meta/packages/gcc/gcc-runtime_4.5.0.bb index 9eb658b12c..2127eb687b 100644 --- a/meta/packages/gcc/gcc-runtime_4.5.0.bb +++ b/meta/packages/gcc/gcc-runtime_4.5.0.bb | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | PR = "r4" | 1 | PR = "r5" |
| 2 | 2 | ||
| 3 | require gcc-${PV}.inc | 3 | require gcc-${PV}.inc |
| 4 | require gcc-configure-runtime.inc | 4 | require gcc-configure-runtime.inc |
diff --git a/meta/packages/gcc/gcc_4.5.0.bb b/meta/packages/gcc/gcc_4.5.0.bb index c14914cddb..a257ddc1de 100644 --- a/meta/packages/gcc/gcc_4.5.0.bb +++ b/meta/packages/gcc/gcc_4.5.0.bb | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | PR = "r4" | 1 | PR = "r5" |
| 2 | 2 | ||
| 3 | require gcc-${PV}.inc | 3 | require gcc-${PV}.inc |
| 4 | require gcc-configure-target.inc | 4 | require gcc-configure-target.inc |
