diff options
| -rw-r--r-- | meta/packages/gcc/gcc-4.3.3.inc | 1 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-4.3.3/optional_libstdc.patch | 23 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-configure-runtime.inc | 2 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-cross_4.3.3.bb | 2 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-runtime_4.3.3.bb | 2 |
5 files changed, 27 insertions, 3 deletions
diff --git a/meta/packages/gcc/gcc-4.3.3.inc b/meta/packages/gcc/gcc-4.3.3.inc index dcd905ccfe..5cfa0f68d8 100644 --- a/meta/packages/gcc/gcc-4.3.3.inc +++ b/meta/packages/gcc/gcc-4.3.3.inc | |||
| @@ -53,6 +53,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ | |||
| 53 | file://zecke-xgcc-cpp.patch;patch=1 \ | 53 | file://zecke-xgcc-cpp.patch;patch=1 \ |
| 54 | file://gcc-flags-for-build.patch;patch=1 \ | 54 | file://gcc-flags-for-build.patch;patch=1 \ |
| 55 | file://pr35942.patch;patch=1 \ | 55 | file://pr35942.patch;patch=1 \ |
| 56 | file://optional_libstdc.patch;patch=1 \ | ||
| 56 | " | 57 | " |
| 57 | 58 | ||
| 58 | SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 " | 59 | SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 " |
diff --git a/meta/packages/gcc/gcc-4.3.3/optional_libstdc.patch b/meta/packages/gcc/gcc-4.3.3/optional_libstdc.patch new file mode 100644 index 0000000000..0f74353a1f --- /dev/null +++ b/meta/packages/gcc/gcc-4.3.3/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-configure-runtime.inc b/meta/packages/gcc/gcc-configure-runtime.inc index 180ca8d0ee..9719e48ab5 100644 --- a/meta/packages/gcc/gcc-configure-runtime.inc +++ b/meta/packages/gcc/gcc-configure-runtime.inc | |||
| @@ -13,7 +13,7 @@ RUNTIMETARGET = "libssp libstdc++-v3" | |||
| 13 | # libgfortran | 13 | # libgfortran |
| 14 | 14 | ||
| 15 | do_configure () { | 15 | do_configure () { |
| 16 | export CXX="${CXX} -nostdinc++" | 16 | export CXX="${CXX} -nostdinc++ -nostdlib++" |
| 17 | for d in ${RUNTIMETARGET}; do | 17 | for d in ${RUNTIMETARGET}; do |
| 18 | echo "Configuring $d" | 18 | echo "Configuring $d" |
| 19 | mkdir -p ${B}/$d/ | 19 | mkdir -p ${B}/$d/ |
diff --git a/meta/packages/gcc/gcc-cross_4.3.3.bb b/meta/packages/gcc/gcc-cross_4.3.3.bb index 76d32673c1..98573f0c5a 100644 --- a/meta/packages/gcc/gcc-cross_4.3.3.bb +++ b/meta/packages/gcc/gcc-cross_4.3.3.bb | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | PR = "r12" | 1 | PR = "r14" |
| 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-runtime_4.3.3.bb b/meta/packages/gcc/gcc-runtime_4.3.3.bb index f94e07ce2b..6768674c1e 100644 --- a/meta/packages/gcc/gcc-runtime_4.3.3.bb +++ b/meta/packages/gcc/gcc-runtime_4.3.3.bb | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | PR = "r12" | 1 | PR = "r14" |
| 2 | 2 | ||
| 3 | require gcc-${PV}.inc | 3 | require gcc-${PV}.inc |
| 4 | require gcc-configure-runtime.inc | 4 | require gcc-configure-runtime.inc |
