summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNitin A Kamble <nitin.a.kamble@intel.com>2011-01-06 10:13:05 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-20 21:37:02 +0000
commit95fc6ae1649c86b5c2686385772cda35f5e7631f (patch)
treee74a91ce6ca7aa54aa90b11d52ca9978a6f9a11d
parentb46ce7cacd07d7bcf5933b6e978f18d69b0f853a (diff)
downloadpoky-95fc6ae1649c86b5c2686385772cda35f5e7631f.tar.gz
gcc_4.5.1: add DSO linking change patch
This patch changes gcc's (ld's) linking behavior. It passes --no-add-needed flag to ld. Because of it ld does not try to find related libraries for linking, causing link failures. And these link failures can be fixed by specifying the library to be linked explicitely on the gcc command line. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.5.1.inc1
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.5.1/fedora/gcc45-no-add-needed.patch52
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc_4.5.1.bb2
10 files changed, 61 insertions, 8 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1.inc b/meta/recipes-devtools/gcc/gcc-4.5.1.inc
index 1786d8a8e1..6c600c1896 100644
--- a/meta/recipes-devtools/gcc/gcc-4.5.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.5.1.inc
@@ -30,6 +30,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
30 file://fedora/gcc43-rh341221.patch;striplevel=0 \ 30 file://fedora/gcc43-rh341221.patch;striplevel=0 \
31 file://fedora/gcc43-java-debug-iface-type.patch;striplevel=0 \ 31 file://fedora/gcc43-java-debug-iface-type.patch;striplevel=0 \
32 file://fedora/gcc43-i386-libgomp.patch;striplevel=0 \ 32 file://fedora/gcc43-i386-libgomp.patch;striplevel=0 \
33 file://fedora/gcc45-no-add-needed.patch;striplevel=0 \
33 file://103-uclibc-conf-noupstream.patch \ 34 file://103-uclibc-conf-noupstream.patch \
34 file://200-uclibc-locale.patch \ 35 file://200-uclibc-locale.patch \
35 file://203-uclibc-locale-no__x.patch;striplevel=1 \ 36 file://203-uclibc-locale-no__x.patch;striplevel=1 \
diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/fedora/gcc45-no-add-needed.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/fedora/gcc45-no-add-needed.patch
new file mode 100644
index 0000000000..23704d3b71
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.5.1/fedora/gcc45-no-add-needed.patch
@@ -0,0 +1,52 @@
12010-02-08 Roland McGrath <roland@redhat.com>
2
3 * config/rs6000/sysv4.h (LINK_EH_SPEC): Pass --no-add-needed to the
4 linker.
5 * config/linux.h (LINK_EH_SPEC): Likewise.
6 * config/alpha/elf.h (LINK_EH_SPEC): Likewise.
7 * config/ia64/linux.h (LINK_EH_SPEC): Likewise.
8
9--- gcc/config/alpha/elf.h.~1~
10+++ gcc/config/alpha/elf.h
11@@ -421,7 +421,7 @@ extern int alpha_this_gpdisp_sequence_nu
12 I imagine that other systems will catch up. In the meantime, it
13 doesn't harm to make sure that the data exists to be used later. */
14 #if defined(HAVE_LD_EH_FRAME_HDR)
15-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
16+#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} "
17 #endif
18
19 /* A C statement (sans semicolon) to output to the stdio stream STREAM
20--- gcc/config/ia64/linux.h.~1~
21+++ gcc/config/ia64/linux.h
22@@ -58,7 +58,7 @@ do { \
23 Signalize that because we have fde-glibc, we don't need all C shared libs
24 linked against -lgcc_s. */
25 #undef LINK_EH_SPEC
26-#define LINK_EH_SPEC ""
27+#define LINK_EH_SPEC "--no-add-needed "
28
29 #define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
30
31--- gcc/config/linux.h.~1~
32+++ gcc/config/linux.h
33@@ -89,7 +89,7 @@ see the files COPYING3 and COPYING.RUNTI
34 } while (0)
35
36 #if defined(HAVE_LD_EH_FRAME_HDR)
37-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
38+#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} "
39 #endif
40
41 /* Define this so we can compile MS code for use with WINE. */
42--- gcc/config/rs6000/sysv4.h.~1~
43+++ gcc/config/rs6000/sysv4.h
44@@ -917,7 +917,7 @@ SVR4_ASM_SPEC \
45 %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
46
47 #if defined(HAVE_LD_EH_FRAME_HDR)
48-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
49+# define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} "
50 #endif
51
52 #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \
diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb
index 37c64fb4ee..3eea4bcafe 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb
@@ -5,7 +5,7 @@ require gcc-cross-canadian.inc
5require gcc-configure-sdk.inc 5require gcc-configure-sdk.inc
6require gcc-package-sdk.inc 6require gcc-package-sdk.inc
7 7
8PR = "r2" 8PR = "r3"
9 9
10DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" 10DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
11RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" 11RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb
index a121782233..b2c257d9d4 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb
@@ -1,5 +1,5 @@
1require gcc-cross_${PV}.bb 1require gcc-cross_${PV}.bb
2require gcc-cross-initial.inc 2require gcc-cross-initial.inc
3 3
4PR = "r1" 4PR = "r2"
5 5
diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb
index 7aaa5b0512..10681dad4b 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb
@@ -1,4 +1,4 @@
1require gcc-cross_${PV}.bb 1require gcc-cross_${PV}.bb
2require gcc-cross-intermediate.inc 2require gcc-cross-intermediate.inc
3PR = "r1" 3PR = "r2"
4 4
diff --git a/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb
index b7e43285b2..399cdf9296 100644
--- a/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb
@@ -1,4 +1,4 @@
1PR = "r1" 1PR = "r2"
2 2
3require gcc-${PV}.inc 3require gcc-${PV}.inc
4require gcc-cross4.inc 4require gcc-cross4.inc
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb
index 0fc5faab3e..240caf56f7 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb
@@ -1,4 +1,4 @@
1require gcc-cross-initial_${PV}.bb 1require gcc-cross-initial_${PV}.bb
2require gcc-crosssdk-initial.inc 2require gcc-crosssdk-initial.inc
3 3
4PR = "r1" 4PR = "r2"
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb
index 4260c358ad..a6653ddfcc 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb
@@ -1,4 +1,4 @@
1require gcc-cross-intermediate_${PV}.bb 1require gcc-cross-intermediate_${PV}.bb
2require gcc-crosssdk-intermediate.inc 2require gcc-crosssdk-intermediate.inc
3 3
4PR = "r1" 4PR = "r2"
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb
index a23a66258a..129e8d31a4 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb
@@ -1,4 +1,4 @@
1require gcc-cross_${PV}.bb 1require gcc-cross_${PV}.bb
2require gcc-crosssdk.inc 2require gcc-crosssdk.inc
3 3
4PR = "r1" 4PR = "r2"
diff --git a/meta/recipes-devtools/gcc/gcc_4.5.1.bb b/meta/recipes-devtools/gcc/gcc_4.5.1.bb
index a21772ff5d..919d4b0938 100644
--- a/meta/recipes-devtools/gcc/gcc_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc_4.5.1.bb
@@ -1,4 +1,4 @@
1PR = "r1" 1PR = "r2"
2require gcc-${PV}.inc 2require gcc-${PV}.inc
3require gcc-configure-target.inc 3require gcc-configure-target.inc
4require gcc-package-target.inc 4require gcc-package-target.inc