summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-4.9/0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-05-06 12:52:40 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-05-08 13:11:28 +0100
commit4666045677c9f338e2e936f67fb7db2e04a58d4f (patch)
tree5cee62bd62132f28f375ffb2a68f6abbd1e790ac /meta/recipes-devtools/gcc/gcc-4.9/0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
parent5992d2971f18acf239ccac228e2bde0ca85bb55f (diff)
downloadpoky-4666045677c9f338e2e936f67fb7db2e04a58d4f.tar.gz
gcc: Handle uclibc linker relocation for multilib support
We need to handle the UCLIBC_* linker variables in the same way as we do the GLIBC_* ones to allow uclibc multilib to work properly. (From OE-Core rev: 025ec5958b7e1fd71caa0079ec3c573126b30886) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.9/0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.9/0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch103
1 files changed, 61 insertions, 42 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.9/0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/meta/recipes-devtools/gcc/gcc-4.9/0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
index 670c9d60fd..969d290ad6 100644
--- a/meta/recipes-devtools/gcc/gcc-4.9/0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.9/0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
@@ -29,11 +29,11 @@ Upstream-Status: Inappropriate [OE configuration]
29 gcc/config/sparc/linux64.h | 4 ++-- 29 gcc/config/sparc/linux64.h | 4 ++--
30 11 files changed, 22 insertions(+), 22 deletions(-) 30 11 files changed, 22 insertions(+), 22 deletions(-)
31 31
32Index: gcc-4.9-20140316/gcc/config/alpha/linux-elf.h 32Index: gcc-4.9.0/gcc/config/alpha/linux-elf.h
33=================================================================== 33===================================================================
34--- gcc-4.9-20140316.orig/gcc/config/alpha/linux-elf.h 34--- gcc-4.9.0.orig/gcc/config/alpha/linux-elf.h 2014-05-07 16:43:50.609106535 +0000
35+++ gcc-4.9-20140316/gcc/config/alpha/linux-elf.h 35+++ gcc-4.9.0/gcc/config/alpha/linux-elf.h 2014-05-07 16:43:50.605106535 +0000
36@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. 36@@ -23,8 +23,8 @@
37 #define EXTRA_SPECS \ 37 #define EXTRA_SPECS \
38 { "elf_dynamic_linker", ELF_DYNAMIC_LINKER }, 38 { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
39 39
@@ -44,10 +44,10 @@ Index: gcc-4.9-20140316/gcc/config/alpha/linux-elf.h
44 #if DEFAULT_LIBC == LIBC_UCLIBC 44 #if DEFAULT_LIBC == LIBC_UCLIBC
45 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" 45 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
46 #elif DEFAULT_LIBC == LIBC_GLIBC 46 #elif DEFAULT_LIBC == LIBC_GLIBC
47Index: gcc-4.9-20140316/gcc/config/arm/linux-eabi.h 47Index: gcc-4.9.0/gcc/config/arm/linux-eabi.h
48=================================================================== 48===================================================================
49--- gcc-4.9-20140316.orig/gcc/config/arm/linux-eabi.h 49--- gcc-4.9.0.orig/gcc/config/arm/linux-eabi.h 2014-05-07 16:43:50.609106535 +0000
50+++ gcc-4.9-20140316/gcc/config/arm/linux-eabi.h 50+++ gcc-4.9.0/gcc/config/arm/linux-eabi.h 2014-05-07 16:43:50.605106535 +0000
51@@ -68,8 +68,8 @@ 51@@ -68,8 +68,8 @@
52 GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */ 52 GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */
53 53
@@ -59,10 +59,10 @@ Index: gcc-4.9-20140316/gcc/config/arm/linux-eabi.h
59 #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT 59 #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
60 60
61 #define GLIBC_DYNAMIC_LINKER \ 61 #define GLIBC_DYNAMIC_LINKER \
62Index: gcc-4.9-20140316/gcc/config/arm/linux-elf.h 62Index: gcc-4.9.0/gcc/config/arm/linux-elf.h
63=================================================================== 63===================================================================
64--- gcc-4.9-20140316.orig/gcc/config/arm/linux-elf.h 64--- gcc-4.9.0.orig/gcc/config/arm/linux-elf.h 2014-05-07 16:43:50.609106535 +0000
65+++ gcc-4.9-20140316/gcc/config/arm/linux-elf.h 65+++ gcc-4.9.0/gcc/config/arm/linux-elf.h 2014-05-07 16:43:50.605106535 +0000
66@@ -57,7 +57,7 @@ 66@@ -57,7 +57,7 @@
67 67
68 #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" 68 #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
@@ -72,21 +72,21 @@ Index: gcc-4.9-20140316/gcc/config/arm/linux-elf.h
72 72
73 #define LINUX_TARGET_LINK_SPEC "%{h*} \ 73 #define LINUX_TARGET_LINK_SPEC "%{h*} \
74 %{static:-Bstatic} \ 74 %{static:-Bstatic} \
75Index: gcc-4.9-20140316/gcc/config/i386/linux.h 75Index: gcc-4.9.0/gcc/config/i386/linux.h
76=================================================================== 76===================================================================
77--- gcc-4.9-20140316.orig/gcc/config/i386/linux.h 77--- gcc-4.9.0.orig/gcc/config/i386/linux.h 2014-05-07 16:43:50.609106535 +0000
78+++ gcc-4.9-20140316/gcc/config/i386/linux.h 78+++ gcc-4.9.0/gcc/config/i386/linux.h 2014-05-07 16:43:50.605106535 +0000
79@@ -20,4 +20,4 @@ along with GCC; see the file COPYING3. 79@@ -20,4 +20,4 @@
80 <http://www.gnu.org/licenses/>. */ 80 <http://www.gnu.org/licenses/>. */
81 81
82 #define GNU_USER_LINK_EMULATION "elf_i386" 82 #define GNU_USER_LINK_EMULATION "elf_i386"
83-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" 83-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
84+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" 84+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
85Index: gcc-4.9-20140316/gcc/config/i386/linux64.h 85Index: gcc-4.9.0/gcc/config/i386/linux64.h
86=================================================================== 86===================================================================
87--- gcc-4.9-20140316.orig/gcc/config/i386/linux64.h 87--- gcc-4.9.0.orig/gcc/config/i386/linux64.h 2014-05-07 16:43:50.609106535 +0000
88+++ gcc-4.9-20140316/gcc/config/i386/linux64.h 88+++ gcc-4.9.0/gcc/config/i386/linux64.h 2014-05-07 16:43:50.605106535 +0000
89@@ -27,6 +27,6 @@ see the files COPYING3 and COPYING.RUNTI 89@@ -27,6 +27,6 @@
90 #define GNU_USER_LINK_EMULATION64 "elf_x86_64" 90 #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
91 #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64" 91 #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
92 92
@@ -96,11 +96,11 @@ Index: gcc-4.9-20140316/gcc/config/i386/linux64.h
96+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2" 96+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
97+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2" 97+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2"
98+#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2" 98+#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2"
99Index: gcc-4.9-20140316/gcc/config/mips/linux.h 99Index: gcc-4.9.0/gcc/config/mips/linux.h
100=================================================================== 100===================================================================
101--- gcc-4.9-20140316.orig/gcc/config/mips/linux.h 101--- gcc-4.9.0.orig/gcc/config/mips/linux.h 2014-05-07 16:43:50.609106535 +0000
102+++ gcc-4.9-20140316/gcc/config/mips/linux.h 102+++ gcc-4.9.0/gcc/config/mips/linux.h 2014-05-07 16:43:50.605106535 +0000
103@@ -18,8 +18,8 @@ along with GCC; see the file COPYING3. 103@@ -18,8 +18,8 @@
104 <http://www.gnu.org/licenses/>. */ 104 <http://www.gnu.org/licenses/>. */
105 105
106 #define GLIBC_DYNAMIC_LINKER \ 106 #define GLIBC_DYNAMIC_LINKER \
@@ -111,11 +111,11 @@ Index: gcc-4.9-20140316/gcc/config/mips/linux.h
111 #define UCLIBC_DYNAMIC_LINKER \ 111 #define UCLIBC_DYNAMIC_LINKER \
112- "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}" 112- "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"
113+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}" 113+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
114Index: gcc-4.9-20140316/gcc/config/mips/linux64.h 114Index: gcc-4.9.0/gcc/config/mips/linux64.h
115=================================================================== 115===================================================================
116--- gcc-4.9-20140316.orig/gcc/config/mips/linux64.h 116--- gcc-4.9.0.orig/gcc/config/mips/linux64.h 2014-05-07 16:43:50.609106535 +0000
117+++ gcc-4.9-20140316/gcc/config/mips/linux64.h 117+++ gcc-4.9.0/gcc/config/mips/linux64.h 2014-05-07 16:43:50.605106535 +0000
118@@ -23,20 +23,20 @@ along with GCC; see the file COPYING3. 118@@ -23,20 +23,20 @@
119 #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32" 119 #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
120 120
121 #define GLIBC_DYNAMIC_LINKER32 \ 121 #define GLIBC_DYNAMIC_LINKER32 \
@@ -142,11 +142,11 @@ Index: gcc-4.9-20140316/gcc/config/mips/linux64.h
142 142
143 #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" 143 #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
144 #define GNU_USER_DYNAMIC_LINKERN32 \ 144 #define GNU_USER_DYNAMIC_LINKERN32 \
145Index: gcc-4.9-20140316/gcc/config/rs6000/linux64.h 145Index: gcc-4.9.0/gcc/config/rs6000/linux64.h
146=================================================================== 146===================================================================
147--- gcc-4.9-20140316.orig/gcc/config/rs6000/linux64.h 147--- gcc-4.9.0.orig/gcc/config/rs6000/linux64.h 2014-05-07 16:43:50.609106535 +0000
148+++ gcc-4.9-20140316/gcc/config/rs6000/linux64.h 148+++ gcc-4.9.0/gcc/config/rs6000/linux64.h 2014-05-07 16:43:50.605106535 +0000
149@@ -367,14 +367,14 @@ extern int dot_symbols; 149@@ -367,14 +367,14 @@
150 #undef LINK_OS_DEFAULT_SPEC 150 #undef LINK_OS_DEFAULT_SPEC
151 #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)" 151 #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
152 152
@@ -166,11 +166,11 @@ Index: gcc-4.9-20140316/gcc/config/rs6000/linux64.h
166 #if DEFAULT_LIBC == LIBC_UCLIBC 166 #if DEFAULT_LIBC == LIBC_UCLIBC
167 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" 167 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
168 #elif DEFAULT_LIBC == LIBC_GLIBC 168 #elif DEFAULT_LIBC == LIBC_GLIBC
169Index: gcc-4.9-20140316/gcc/config/sh/linux.h 169Index: gcc-4.9.0/gcc/config/sh/linux.h
170=================================================================== 170===================================================================
171--- gcc-4.9-20140316.orig/gcc/config/sh/linux.h 171--- gcc-4.9.0.orig/gcc/config/sh/linux.h 2014-05-07 16:43:50.609106535 +0000
172+++ gcc-4.9-20140316/gcc/config/sh/linux.h 172+++ gcc-4.9.0/gcc/config/sh/linux.h 2014-05-07 16:43:50.605106535 +0000
173@@ -43,7 +43,7 @@ along with GCC; see the file COPYING3. 173@@ -43,7 +43,7 @@
174 174
175 #define TARGET_ASM_FILE_END file_end_indicate_exec_stack 175 #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
176 176
@@ -179,11 +179,11 @@ Index: gcc-4.9-20140316/gcc/config/sh/linux.h
179 179
180 #undef SUBTARGET_LINK_EMUL_SUFFIX 180 #undef SUBTARGET_LINK_EMUL_SUFFIX
181 #define SUBTARGET_LINK_EMUL_SUFFIX "_linux" 181 #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
182Index: gcc-4.9-20140316/gcc/config/sparc/linux.h 182Index: gcc-4.9.0/gcc/config/sparc/linux.h
183=================================================================== 183===================================================================
184--- gcc-4.9-20140316.orig/gcc/config/sparc/linux.h 184--- gcc-4.9.0.orig/gcc/config/sparc/linux.h 2014-05-07 16:43:50.609106535 +0000
185+++ gcc-4.9-20140316/gcc/config/sparc/linux.h 185+++ gcc-4.9.0/gcc/config/sparc/linux.h 2014-05-07 16:43:50.605106535 +0000
186@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu 186@@ -83,7 +83,7 @@
187 When the -shared link option is used a final link is not being 187 When the -shared link option is used a final link is not being
188 done. */ 188 done. */
189 189
@@ -192,11 +192,11 @@ Index: gcc-4.9-20140316/gcc/config/sparc/linux.h
192 192
193 #undef LINK_SPEC 193 #undef LINK_SPEC
194 #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \ 194 #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
195Index: gcc-4.9-20140316/gcc/config/sparc/linux64.h 195Index: gcc-4.9.0/gcc/config/sparc/linux64.h
196=================================================================== 196===================================================================
197--- gcc-4.9-20140316.orig/gcc/config/sparc/linux64.h 197--- gcc-4.9.0.orig/gcc/config/sparc/linux64.h 2014-05-07 16:43:50.609106535 +0000
198+++ gcc-4.9-20140316/gcc/config/sparc/linux64.h 198+++ gcc-4.9.0/gcc/config/sparc/linux64.h 2014-05-07 16:43:50.605106535 +0000
199@@ -92,8 +92,8 @@ along with GCC; see the file COPYING3. 199@@ -92,8 +92,8 @@
200 When the -shared link option is used a final link is not being 200 When the -shared link option is used a final link is not being
201 done. */ 201 done. */
202 202
@@ -207,3 +207,22 @@ Index: gcc-4.9-20140316/gcc/config/sparc/linux64.h
207 207
208 #ifdef SPARC_BI_ARCH 208 #ifdef SPARC_BI_ARCH
209 209
210Index: gcc-4.9.0/gcc/config/linux.h
211===================================================================
212--- gcc-4.9.0.orig/gcc/config/linux.h 2014-05-07 16:43:50.609106535 +0000
213+++ gcc-4.9.0/gcc/config/linux.h 2014-05-07 16:43:50.605106535 +0000
214@@ -73,10 +73,10 @@
215 GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
216 GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
217 supporting both 32-bit and 64-bit compilation. */
218-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
219-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
220-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
221-#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
222+#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
223+#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
224+#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
225+#define UCLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ldx32-uClibc.so.0"
226 #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
227 #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
228 #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"