diff options
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.patch | 209 |
1 files changed, 209 insertions, 0 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 new file mode 100644 index 0000000000..670c9d60fd --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.9/0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch | |||
@@ -0,0 +1,209 @@ | |||
1 | From 29d12344fb682a053de53eb08b95704cf3b67af2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Fri, 29 Mar 2013 09:24:50 +0400 | ||
4 | Subject: [PATCH 29/35] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER | ||
5 | relative to SYSTEMLIBS_DIR | ||
6 | |||
7 | This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER | ||
8 | relative to SYSTEMLIBS_DIR which can be set in generated headers | ||
9 | This breaks the assumption of hardcoded multilib in gcc | ||
10 | Change is only for the supported architectures in OE including | ||
11 | SH, sparc, alpha for possible future support (if any) | ||
12 | |||
13 | Removes the do_headerfix task in metadata | ||
14 | |||
15 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
16 | |||
17 | Upstream-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/mips/linux.h | 2 +- | ||
25 | gcc/config/mips/linux64.h | 8 ++++---- | ||
26 | gcc/config/rs6000/linux64.h | 8 ++++---- | ||
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, 22 insertions(+), 22 deletions(-) | ||
31 | |||
32 | Index: gcc-4.9-20140316/gcc/config/alpha/linux-elf.h | ||
33 | =================================================================== | ||
34 | --- gcc-4.9-20140316.orig/gcc/config/alpha/linux-elf.h | ||
35 | +++ gcc-4.9-20140316/gcc/config/alpha/linux-elf.h | ||
36 | @@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. | ||
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 | ||
47 | Index: gcc-4.9-20140316/gcc/config/arm/linux-eabi.h | ||
48 | =================================================================== | ||
49 | --- gcc-4.9-20140316.orig/gcc/config/arm/linux-eabi.h | ||
50 | +++ gcc-4.9-20140316/gcc/config/arm/linux-eabi.h | ||
51 | @@ -68,8 +68,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 \ | ||
62 | Index: gcc-4.9-20140316/gcc/config/arm/linux-elf.h | ||
63 | =================================================================== | ||
64 | --- gcc-4.9-20140316.orig/gcc/config/arm/linux-elf.h | ||
65 | +++ gcc-4.9-20140316/gcc/config/arm/linux-elf.h | ||
66 | @@ -57,7 +57,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} \ | ||
75 | Index: gcc-4.9-20140316/gcc/config/i386/linux.h | ||
76 | =================================================================== | ||
77 | --- gcc-4.9-20140316.orig/gcc/config/i386/linux.h | ||
78 | +++ gcc-4.9-20140316/gcc/config/i386/linux.h | ||
79 | @@ -20,4 +20,4 @@ along with GCC; see the file COPYING3. | ||
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 | Index: gcc-4.9-20140316/gcc/config/i386/linux64.h | ||
86 | =================================================================== | ||
87 | --- gcc-4.9-20140316.orig/gcc/config/i386/linux64.h | ||
88 | +++ gcc-4.9-20140316/gcc/config/i386/linux64.h | ||
89 | @@ -27,6 +27,6 @@ see the files COPYING3 and COPYING.RUNTI | ||
90 | #define GNU_USER_LINK_EMULATION64 "elf_x86_64" | ||
91 | #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64" | ||
92 | |||
93 | -#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" | ||
94 | -#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" | ||
95 | -#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.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" | ||
98 | +#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2" | ||
99 | Index: gcc-4.9-20140316/gcc/config/mips/linux.h | ||
100 | =================================================================== | ||
101 | --- gcc-4.9-20140316.orig/gcc/config/mips/linux.h | ||
102 | +++ gcc-4.9-20140316/gcc/config/mips/linux.h | ||
103 | @@ -18,8 +18,8 @@ along with GCC; see the file COPYING3. | ||
104 | <http://www.gnu.org/licenses/>. */ | ||
105 | |||
106 | #define GLIBC_DYNAMIC_LINKER \ | ||
107 | - "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}" | ||
108 | + "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}" | ||
109 | |||
110 | #undef UCLIBC_DYNAMIC_LINKER | ||
111 | #define UCLIBC_DYNAMIC_LINKER \ | ||
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}" | ||
114 | Index: gcc-4.9-20140316/gcc/config/mips/linux64.h | ||
115 | =================================================================== | ||
116 | --- gcc-4.9-20140316.orig/gcc/config/mips/linux64.h | ||
117 | +++ gcc-4.9-20140316/gcc/config/mips/linux64.h | ||
118 | @@ -23,20 +23,20 @@ along with GCC; see the file COPYING3. | ||
119 | #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32" | ||
120 | |||
121 | #define GLIBC_DYNAMIC_LINKER32 \ | ||
122 | - "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}" | ||
123 | + "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}" | ||
124 | #define GLIBC_DYNAMIC_LINKER64 \ | ||
125 | - "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}" | ||
126 | + "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}" | ||
127 | #define GLIBC_DYNAMIC_LINKERN32 \ | ||
128 | - "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}" | ||
129 | + "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}" | ||
130 | |||
131 | #undef UCLIBC_DYNAMIC_LINKER32 | ||
132 | #define UCLIBC_DYNAMIC_LINKER32 \ | ||
133 | - "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}" | ||
134 | + "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}" | ||
135 | #undef UCLIBC_DYNAMIC_LINKER64 | ||
136 | #define UCLIBC_DYNAMIC_LINKER64 \ | ||
137 | - "%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}" | ||
138 | + "%{mnan=2008:" SYSTEMLIBS_DIR "ld64-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld64-uClibc.so.0}" | ||
139 | #define UCLIBC_DYNAMIC_LINKERN32 \ | ||
140 | - "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}" | ||
141 | + "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}" | ||
142 | |||
143 | #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" | ||
144 | #define GNU_USER_DYNAMIC_LINKERN32 \ | ||
145 | Index: gcc-4.9-20140316/gcc/config/rs6000/linux64.h | ||
146 | =================================================================== | ||
147 | --- gcc-4.9-20140316.orig/gcc/config/rs6000/linux64.h | ||
148 | +++ gcc-4.9-20140316/gcc/config/rs6000/linux64.h | ||
149 | @@ -367,14 +367,14 @@ extern int dot_symbols; | ||
150 | #undef LINK_OS_DEFAULT_SPEC | ||
151 | #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)" | ||
152 | |||
153 | -#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1" | ||
154 | +#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld.so.1" | ||
155 | #ifdef LINUX64_DEFAULT_ABI_ELFv2 | ||
156 | -#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:/lib64/ld64.so.1;:/lib64/ld64.so.2}" | ||
157 | +#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:" SYSTEMLIBS_DIR "ld64.so.1;:" SYSTEMLIBS_DIR "ld64.so.2}" | ||
158 | #else | ||
159 | -#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:/lib64/ld64.so.2;:/lib64/ld64.so.1}" | ||
160 | +#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:" SYSTEMLIBS_DIR "ld64.so.2;:" SYSTEMLIBS_DIR "ld64.so.1}" | ||
161 | #endif | ||
162 | -#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" | ||
163 | -#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" | ||
164 | +#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0" | ||
165 | +#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0" | ||
166 | #if DEFAULT_LIBC == LIBC_UCLIBC | ||
167 | #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" | ||
168 | #elif DEFAULT_LIBC == LIBC_GLIBC | ||
169 | Index: gcc-4.9-20140316/gcc/config/sh/linux.h | ||
170 | =================================================================== | ||
171 | --- gcc-4.9-20140316.orig/gcc/config/sh/linux.h | ||
172 | +++ gcc-4.9-20140316/gcc/config/sh/linux.h | ||
173 | @@ -43,7 +43,7 @@ along with GCC; see the file COPYING3. | ||
174 | |||
175 | #define TARGET_ASM_FILE_END file_end_indicate_exec_stack | ||
176 | |||
177 | -#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" | ||
178 | +#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" | ||
179 | |||
180 | #undef SUBTARGET_LINK_EMUL_SUFFIX | ||
181 | #define SUBTARGET_LINK_EMUL_SUFFIX "_linux" | ||
182 | Index: gcc-4.9-20140316/gcc/config/sparc/linux.h | ||
183 | =================================================================== | ||
184 | --- gcc-4.9-20140316.orig/gcc/config/sparc/linux.h | ||
185 | +++ gcc-4.9-20140316/gcc/config/sparc/linux.h | ||
186 | @@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu | ||
187 | When the -shared link option is used a final link is not being | ||
188 | done. */ | ||
189 | |||
190 | -#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" | ||
191 | +#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" | ||
192 | |||
193 | #undef LINK_SPEC | ||
194 | #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \ | ||
195 | Index: gcc-4.9-20140316/gcc/config/sparc/linux64.h | ||
196 | =================================================================== | ||
197 | --- gcc-4.9-20140316.orig/gcc/config/sparc/linux64.h | ||
198 | +++ gcc-4.9-20140316/gcc/config/sparc/linux64.h | ||
199 | @@ -92,8 +92,8 @@ along with GCC; see the file COPYING3. | ||
200 | When the -shared link option is used a final link is not being | ||
201 | done. */ | ||
202 | |||
203 | -#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" | ||
204 | -#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2" | ||
205 | +#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2" | ||
206 | +#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux.so.2" | ||
207 | |||
208 | #ifdef SPARC_BI_ARCH | ||
209 | |||