summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-06-29 00:35:02 +0100
committerJoshua Lock <josh@linux.intel.com>2010-06-29 13:35:50 +0100
commitd3b8687ea6604e8d2a6b53fc50f2a319df5625d5 (patch)
tree2a843d88368b90ea34d51891236ac2ec39acfcef
parent93f7d74492abf285dde2f9170409e84d35ce0f75 (diff)
downloadpoky-d3b8687ea6604e8d2a6b53fc50f2a319df5625d5.tar.gz
gcc: Add patch to allow disabling of libstdc++ linkage and hence fix gcc-runtime which was having broken configure tests due to the linker failures and assuming maths primitives were not in libm
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
-rw-r--r--meta/packages/gcc/gcc-4.3.3.inc1
-rw-r--r--meta/packages/gcc/gcc-4.3.3/optional_libstdc.patch23
-rw-r--r--meta/packages/gcc/gcc-configure-runtime.inc2
-rw-r--r--meta/packages/gcc/gcc-cross_4.3.3.bb2
-rw-r--r--meta/packages/gcc/gcc-runtime_4.3.3.bb2
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
58SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 " 59SRC_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 @@
1gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++
2will not run correctly since my default the linker will try and link against libstdc++
3which shouldn't exist yet. We need an option to disable the automatically added -lstdc++
4option whilst leaving -lc, -lgcc and other automatic library dependencies. This patch
5adds such an option which only disables the -lstdc++ linkage.
6
7A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to
8do this officially, the likely answer is don't build libstdc++ separately.
9
10RP 29/6/10
11
12Index: 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
15do_configure () { 15do_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 @@
1PR = "r12" 1PR = "r14"
2 2
3require gcc-${PV}.inc 3require gcc-${PV}.inc
4require gcc-cross4.inc 4require 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 @@
1PR = "r12" 1PR = "r14"
2 2
3require gcc-${PV}.inc 3require gcc-${PV}.inc
4require gcc-configure-runtime.inc 4require gcc-configure-runtime.inc