summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-9.1/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-9.1/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc-9.1/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch232
1 files changed, 232 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-9.1/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/meta/recipes-devtools/gcc/gcc-9.1/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
new file mode 100644
index 0000000000..f23a314c13
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-9.1/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
@@ -0,0 +1,232 @@
1From 492f008dce784749e39e1c396aeea6fa1d977374 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:24:50 +0400
4Subject: [PATCH 12/37] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
5 relative to SYSTEMLIBS_DIR
6
7This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
8relative to SYSTEMLIBS_DIR which can be set in generated headers
9This breaks the assumption of hardcoded multilib in gcc
10Change is only for the supported architectures in OE including
11SH, sparc, alpha for possible future support (if any)
12
13Removes the do_headerfix task in metadata
14
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16
17Upstream-Status: Inappropriate [OE configuration]
18---
19 gcc/config/alpha/linux-elf.h | 4 ++--
20 gcc/config/arm/linux-eabi.h | 4 ++--
21 gcc/config/arm/linux-elf.h | 2 +-
22 gcc/config/i386/linux.h | 2 +-
23 gcc/config/i386/linux64.h | 6 +++---
24 gcc/config/linux.h | 8 ++++----
25 gcc/config/mips/linux.h | 12 ++++++------
26 gcc/config/rs6000/linux64.h | 15 +++++----------
27 gcc/config/sh/linux.h | 2 +-
28 gcc/config/sparc/linux.h | 2 +-
29 gcc/config/sparc/linux64.h | 4 ++--
30 11 files changed, 28 insertions(+), 33 deletions(-)
31
32diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
33index 824861befec..6afacce3292 100644
34--- a/gcc/config/alpha/linux-elf.h
35+++ b/gcc/config/alpha/linux-elf.h
36@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see
37 #define EXTRA_SPECS \
38 { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
39
40-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
41-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
42+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
43+#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
44 #if DEFAULT_LIBC == LIBC_UCLIBC
45 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
46 #elif DEFAULT_LIBC == LIBC_GLIBC
47diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
48index 66ec0ea3980..e4ade2e2ab0 100644
49--- a/gcc/config/arm/linux-eabi.h
50+++ b/gcc/config/arm/linux-eabi.h
51@@ -65,8 +65,8 @@
52 GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */
53
54 #undef GLIBC_DYNAMIC_LINKER
55-#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
56-#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
57+#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT SYSTEMLIBS_DIR "ld-linux.so.3"
58+#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT SYSTEMLIBS_DIR "ld-linux-armhf.so.3"
59 #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
60
61 #define GLIBC_DYNAMIC_LINKER \
62diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
63index 9a360defd21..98f6e960b64 100644
64--- a/gcc/config/arm/linux-elf.h
65+++ b/gcc/config/arm/linux-elf.h
66@@ -60,7 +60,7 @@
67
68 #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
69
70-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
71+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
72
73 #define LINUX_TARGET_LINK_SPEC "%{h*} \
74 %{static:-Bstatic} \
75diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
76index 9a6e2d99896..31efbb73016 100644
77--- a/gcc/config/i386/linux.h
78+++ b/gcc/config/i386/linux.h
79@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see
80 <http://www.gnu.org/licenses/>. */
81
82 #define GNU_USER_LINK_EMULATION "elf_i386"
83-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
84+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
85
86 #undef MUSL_DYNAMIC_LINKER
87 #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
88diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
89index c08221c4210..dbb474d792b 100644
90--- a/gcc/config/i386/linux64.h
91+++ b/gcc/config/i386/linux64.h
92@@ -27,9 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
93 #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
94 #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
95
96-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
97-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
98-#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
99+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
100+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2"
101+#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2"
102
103 #undef MUSL_DYNAMIC_LINKER32
104 #define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
105diff --git a/gcc/config/linux.h b/gcc/config/linux.h
106index c3c4a219e67..4b05d8e93d1 100644
107--- a/gcc/config/linux.h
108+++ b/gcc/config/linux.h
109@@ -94,10 +94,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
110 GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
111 GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
112 supporting both 32-bit and 64-bit compilation. */
113-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
114-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
115-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
116-#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
117+#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
118+#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
119+#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
120+#define UCLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ldx32-uClibc.so.0"
121 #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
122 #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
123 #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
124diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
125index 6f79ac9c01a..25de96f9561 100644
126--- a/gcc/config/mips/linux.h
127+++ b/gcc/config/mips/linux.h
128@@ -22,20 +22,20 @@ along with GCC; see the file COPYING3. If not see
129 #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
130
131 #define GLIBC_DYNAMIC_LINKER32 \
132- "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
133+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
134 #define GLIBC_DYNAMIC_LINKER64 \
135- "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}"
136+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
137 #define GLIBC_DYNAMIC_LINKERN32 \
138- "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}"
139+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
140
141 #undef UCLIBC_DYNAMIC_LINKER32
142 #define UCLIBC_DYNAMIC_LINKER32 \
143- "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"
144+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
145 #undef UCLIBC_DYNAMIC_LINKER64
146 #define UCLIBC_DYNAMIC_LINKER64 \
147- "%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}"
148+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld64-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld64-uClibc.so.0}"
149 #define UCLIBC_DYNAMIC_LINKERN32 \
150- "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}"
151+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
152
153 #undef MUSL_DYNAMIC_LINKER32
154 #define MUSL_DYNAMIC_LINKER32 \
155diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
156index bcc540b5ff2..982ca274621 100644
157--- a/gcc/config/rs6000/linux64.h
158+++ b/gcc/config/rs6000/linux64.h
159@@ -428,24 +428,19 @@ extern int dot_symbols;
160 #undef LINK_OS_DEFAULT_SPEC
161 #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
162
163-#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1"
164-
165+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld.so.1"
166 #ifdef LINUX64_DEFAULT_ABI_ELFv2
167-#define GLIBC_DYNAMIC_LINKER64 \
168-"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \
169-":%(dynamic_linker_prefix)/lib64/ld64.so.2}"
170+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:" SYSTEMLIBS_DIR "ld64.so.1;:" SYSTEMLIBS_DIR "ld64.so.2}"
171 #else
172-#define GLIBC_DYNAMIC_LINKER64 \
173-"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \
174-":%(dynamic_linker_prefix)/lib64/ld64.so.1}"
175+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:" SYSTEMLIBS_DIR "ld64.so.2;:" SYSTEMLIBS_DIR "ld64.so.1}"
176 #endif
177
178 #undef MUSL_DYNAMIC_LINKER32
179 #define MUSL_DYNAMIC_LINKER32 \
180- "/lib/ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
181+ SYSTEMLIBS_DIR "ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
182 #undef MUSL_DYNAMIC_LINKER64
183 #define MUSL_DYNAMIC_LINKER64 \
184- "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
185+ SYSTEMLIBS_DIR "ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
186
187 #undef DEFAULT_ASM_ENDIAN
188 #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
189diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
190index c9897b7aca5..82f275319cc 100644
191--- a/gcc/config/sh/linux.h
192+++ b/gcc/config/sh/linux.h
193@@ -64,7 +64,7 @@ along with GCC; see the file COPYING3. If not see
194 "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \
195 "%{mfdpic:-fdpic}.so.1"
196
197-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
198+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
199
200 #undef SUBTARGET_LINK_EMUL_SUFFIX
201 #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}"
202diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
203index 2db9ea2172e..1979cfff5d3 100644
204--- a/gcc/config/sparc/linux.h
205+++ b/gcc/config/sparc/linux.h
206@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
207 When the -shared link option is used a final link is not being
208 done. */
209
210-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
211+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
212
213 #undef LINK_SPEC
214 #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
215diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
216index 21e13001951..d39c38a531f 100644
217--- a/gcc/config/sparc/linux64.h
218+++ b/gcc/config/sparc/linux64.h
219@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3. If not see
220 When the -shared link option is used a final link is not being
221 done. */
222
223-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
224-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
225+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
226+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux.so.2"
227
228 #ifdef SPARC_BI_ARCH
229
230--
2312.20.1
232