1 Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
3 Initial Package Version: 4.0.0
4 Upstream Status: Not Sent - LFS Specfic
5 Origin: Idea originally developed by Ryan Oliver and Greg Schafer for
7 More architectures added by Zack Winkles.
8 Further fine tunings by Greg Schafer.
9 Modified for gcc 3.3.2 by Oliver Brakmann.
10 Rediffed against gcc 3.4.0 by Zack Winkles.
11 Rediffed against gcc 3.4.3 by Jim Gifford.
12 Rediffed against gcc 4.0.0 by Robert Connolly.
13 Description: This patch modifies the location of the dynamic linker for
14 the GCC Pass 2 build in LFS Chapter 5.
16 diff -Naur gcc-20050116.orig/gcc/config/alpha/linux-elf.h gcc-20050116/gcc/config/alpha/linux-elf.h
17 --- gcc-20050116.orig/gcc/config/alpha/linux-elf.h 2005-01-17 00:45:16.000000000 +0000
18 +++ gcc-20050116/gcc/config/alpha/linux-elf.h 2005-01-17 00:46:14.560651027 +0000
20 #define SUBTARGET_EXTRA_SPECS \
21 { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
23 -#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
24 +#define ELF_DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
26 #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
27 %{O*:-O3} %{!O*:-O1} \
28 diff -Naur gcc-20050116.orig/gcc/config/arm/linux-elf.h gcc-20050116/gcc/config/arm/linux-elf.h
29 --- gcc-20050116.orig/gcc/config/arm/linux-elf.h 2005-01-17 00:45:16.000000000 +0000
30 +++ gcc-20050116/gcc/config/arm/linux-elf.h 2005-01-17 00:46:50.538578614 +0000
33 %{symbolic:-Bsymbolic} \
34 %{rdynamic:-export-dynamic} \
35 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
36 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2} \
39 SUBTARGET_EXTRA_LINK_SPEC
40 diff -Naur gcc-20050116.orig/gcc/config/frv/linux.h gcc-20050116/gcc/config/frv/linux.h
41 --- gcc-20050116.orig/gcc/config/frv/linux.h 2005-01-17 00:45:16.000000000 +0000
42 +++ gcc-20050116/gcc/config/frv/linux.h 2005-01-17 01:33:50.600805260 +0000
44 %{mfdpic: -m elf32frvfd -z text} %{shared} %{pie} \
45 %{!shared: %{!static: \
46 %{rdynamic:-export-dynamic} \
47 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
48 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
51 /* Support for compile-time default CPU. */
52 diff -Naur gcc-20050116.orig/gcc/config/i386/gnu.h gcc-20050116/gcc/config/i386/gnu.h
53 --- gcc-20050116.orig/gcc/config/i386/gnu.h 2005-01-17 00:45:16.000000000 +0000
54 +++ gcc-20050116/gcc/config/i386/gnu.h 2005-01-17 01:34:11.142021939 +0000
58 %{rdynamic:-export-dynamic} \
59 - %{!dynamic-linker:-dynamic-linker /lib/ld.so}} \
60 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so}} \
64 diff -Naur gcc-20050116.orig/gcc/config/i386/linux.h gcc-20050116/gcc/config/i386/linux.h
65 --- gcc-20050116.orig/gcc/config/i386/linux.h 2005-01-17 00:45:16.000000000 +0000
66 +++ gcc-20050116/gcc/config/i386/linux.h 2005-01-17 00:49:27.412667132 +0000
68 /* If ELF is the default format, we should not use /lib/elf. */
70 #define LINK_EMULATION "elf_i386"
71 -#define DYNAMIC_LINKER "/lib/ld-linux.so.2"
72 +#define DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
74 #undef SUBTARGET_EXTRA_SPECS
75 #define SUBTARGET_EXTRA_SPECS \
76 diff -Naur gcc-20050116.orig/gcc/config/i386/linux64.h gcc-20050116/gcc/config/i386/linux64.h
77 --- gcc-20050116.orig/gcc/config/i386/linux64.h 2005-01-17 00:45:16.000000000 +0000
78 +++ gcc-20050116/gcc/config/i386/linux64.h 2005-01-17 00:50:23.055094690 +0000
82 %{rdynamic:-export-dynamic} \
83 - %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
84 - %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
85 + %{m32:%{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
86 + %{!m32:%{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux-x86-64.so.2}}} \
89 #define MULTILIB_DEFAULTS { "m64" }
90 diff -Naur gcc-20050116.orig/gcc/config/ia64/linux.h gcc-20050116/gcc/config/ia64/linux.h
91 --- gcc-20050116.orig/gcc/config/ia64/linux.h 2005-01-17 00:45:17.000000000 +0000
92 +++ gcc-20050116/gcc/config/ia64/linux.h 2005-01-17 00:50:43.146472133 +0000
96 %{rdynamic:-export-dynamic} \
97 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
98 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux-ia64.so.2}} \
102 diff -Naur gcc-20050116.orig/gcc/config/linux.h gcc-20050116/gcc/config/linux.h
103 --- gcc-20050116.orig/gcc/config/linux.h 2005-01-17 00:45:16.000000000 +0000
104 +++ gcc-20050116/gcc/config/linux.h 2005-01-17 00:51:14.101809663 +0000
106 #define TARGET_C99_FUNCTIONS 1
108 #define TARGET_HAS_F_SETLKW
110 +/* Remove /usr/include from the end of the include search path. */
111 +#undef STANDARD_INCLUDE_DIR
112 +#define STANDARD_INCLUDE_DIR 0
113 diff -Naur gcc-20050116.orig/gcc/config/m32r/linux.h gcc-20050116/gcc/config/m32r/linux.h
114 --- gcc-20050116.orig/gcc/config/m32r/linux.h 2005-01-17 00:45:17.000000000 +0000
115 +++ gcc-20050116/gcc/config/m32r/linux.h 2005-01-17 00:51:39.720640870 +0000
119 %{rdynamic:-export-dynamic} \
120 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
121 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
124 #define LINK_SPEC "%(link_cpu) -m m32relf_linux %{shared:-shared} \
128 %{rdynamic:-export-dynamic} \
129 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
130 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
134 diff -Naur gcc-20050116.orig/gcc/config/m68k/linux.h gcc-20050116/gcc/config/m68k/linux.h
135 --- gcc-20050116.orig/gcc/config/m68k/linux.h 2005-01-17 00:45:17.000000000 +0000
136 +++ gcc-20050116/gcc/config/m68k/linux.h 2005-01-17 00:52:07.633830392 +0000
140 %{rdynamic:-export-dynamic} \
141 - %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
142 + %{!dynamic-linker*:-dynamic-linker /tools/lib/ld.so.1}} \
145 /* For compatibility with linux/a.out */
146 diff -Naur gcc-20050116.orig/gcc/config/mips/linux.h gcc-20050116/gcc/config/mips/linux.h
147 --- gcc-20050116.orig/gcc/config/mips/linux.h 2005-01-17 00:45:17.000000000 +0000
148 +++ gcc-20050116/gcc/config/mips/linux.h 2005-01-17 00:52:28.348034505 +0000
152 %{rdynamic:-export-dynamic} \
153 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
154 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
157 #undef SUBTARGET_ASM_SPEC
158 diff -Naur gcc-20050116.orig/gcc/config/mips/linux64.h gcc-20050116/gcc/config/mips/linux64.h
159 --- gcc-20050116.orig/gcc/config/mips/linux64.h 2005-01-17 00:45:17.000000000 +0000
160 +++ gcc-20050116/gcc/config/mips/linux64.h 2005-01-17 00:53:04.645878728 +0000
163 %{rdynamic:-export-dynamic} \
165 - %{mabi=n32: -dynamic-linker /lib32/ld.so.1} \
166 - %{mabi=64: -dynamic-linker /lib64/ld.so.1} \
167 - %{mabi=32: -dynamic-linker /lib/ld.so.1}}} \
168 + %{mabi=n32: -dynamic-linker /tools/lib32/ld.so.1} \
169 + %{mabi=64: -dynamic-linker /tools/lib64/ld.so.1} \
170 + %{mabi=32: -dynamic-linker /tools/lib/ld.so.1}}} \
171 %{static:-static}}} \
172 %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} \
173 %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip} \
174 diff -Naur gcc-20050116.orig/gcc/config/mn10300/linux.h gcc-20050116/gcc/config/mn10300/linux.h
175 --- gcc-20050116.orig/gcc/config/mn10300/linux.h 2005-01-17 00:45:17.000000000 +0000
176 +++ gcc-20050116/gcc/config/mn10300/linux.h 2005-01-17 00:53:23.477610026 +0000
178 #define LINK_SPEC "%{mrelax:--relax} %{shared:-shared} \
180 %{rdynamic:-export-dynamic} \
181 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
182 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
186 diff -Naur gcc-20050116.orig/gcc/config/pa/pa-linux.h gcc-20050116/gcc/config/pa/pa-linux.h
187 --- gcc-20050116.orig/gcc/config/pa/pa-linux.h 2005-01-17 00:45:17.000000000 +0000
188 +++ gcc-20050116/gcc/config/pa/pa-linux.h 2005-01-17 00:53:45.334495141 +0000
192 %{rdynamic:-export-dynamic} \
193 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
194 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
197 /* glibc's profiling functions don't need gcc to allocate counters. */
198 diff -Naur gcc-20050116.orig/gcc/config/rs6000/linux64.h gcc-20050116/gcc/config/rs6000/linux64.h
199 --- gcc-20050116.orig/gcc/config/rs6000/linux64.h 2005-01-17 00:45:17.000000000 +0000
200 +++ gcc-20050116/gcc/config/rs6000/linux64.h 2005-01-17 00:54:28.524412534 +0000
201 @@ -351,11 +351,11 @@
203 #define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
204 %{rdynamic:-export-dynamic} \
205 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
206 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
208 #define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
209 %{rdynamic:-export-dynamic} \
210 - %{!dynamic-linker:-dynamic-linker /lib64/ld64.so.1}}}"
211 + %{!dynamic-linker:-dynamic-linker /tools/lib64/ld64.so.1}}}"
213 #undef TOC_SECTION_ASM_OP
214 #define TOC_SECTION_ASM_OP \
215 diff -Naur gcc-20050116.orig/gcc/config/rs6000/sysv4.h gcc-20050116/gcc/config/rs6000/sysv4.h
216 --- gcc-20050116.orig/gcc/config/rs6000/sysv4.h 2005-01-17 00:45:17.000000000 +0000
217 +++ gcc-20050116/gcc/config/rs6000/sysv4.h 2005-01-17 01:26:39.126999460 +0000
218 @@ -1131,7 +1131,7 @@
220 #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
221 %{rdynamic:-export-dynamic} \
222 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
223 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
225 #if defined(HAVE_LD_EH_FRAME_HDR)
226 # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
227 @@ -1162,7 +1162,7 @@
229 #define LINK_OS_GNU_SPEC "-m elf32ppclinux %{!shared: %{!static: \
230 %{rdynamic:-export-dynamic} \
231 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
232 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
234 #define CPP_OS_GNU_SPEC "-D__unix__ -D__gnu_hurd__ -D__GNU__ \
236 diff -Naur gcc-20050116.orig/gcc/config/s390/linux.h gcc-20050116/gcc/config/s390/linux.h
237 --- gcc-20050116.orig/gcc/config/s390/linux.h 2005-01-17 00:45:17.000000000 +0000
238 +++ gcc-20050116/gcc/config/s390/linux.h 2005-01-17 01:26:58.672523211 +0000
241 %{rdynamic:-export-dynamic} \
243 - %{m31:-dynamic-linker /lib/ld.so.1} \
244 - %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
245 + %{m31:-dynamic-linker /tools/lib/ld.so.1} \
246 + %{m64:-dynamic-linker /tools/lib/ld64.so.1}}}}"
249 #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
250 diff -Naur gcc-20050116.orig/gcc/config/sh/linux.h gcc-20050116/gcc/config/sh/linux.h
251 --- gcc-20050116.orig/gcc/config/sh/linux.h 2005-01-17 00:45:18.000000000 +0000
252 +++ gcc-20050116/gcc/config/sh/linux.h 2005-01-17 01:27:19.588663163 +0000
256 %{rdynamic:-export-dynamic} \
257 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
258 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
262 diff -Naur gcc-20050116.orig/gcc/config/sparc/linux.h gcc-20050116/gcc/config/sparc/linux.h
263 --- gcc-20050116.orig/gcc/config/sparc/linux.h 2005-01-17 00:45:18.000000000 +0000
264 +++ gcc-20050116/gcc/config/sparc/linux.h 2005-01-17 01:30:07.282688639 +0000
265 @@ -131,13 +131,13 @@
266 /* If ELF is the default format, we should not use /lib/elf. */
269 -#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
270 +#define LINK_SPEC "-m elf32_sparc -Y P,/tools/lib %{shared:-shared} \
271 %{!mno-relax:%{!r:-relax}} \
275 %{rdynamic:-export-dynamic} \
276 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
277 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
280 /* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
281 diff -Naur gcc-20050116.orig/gcc/config/sparc/linux64.h gcc-20050116/gcc/config/sparc/linux64.h
282 --- gcc-20050116.orig/gcc/config/sparc/linux64.h 2005-01-17 00:45:18.000000000 +0000
283 +++ gcc-20050116/gcc/config/sparc/linux64.h 2005-01-17 01:31:18.242712476 +0000
284 @@ -167,21 +167,21 @@
285 { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
286 { "link_arch", LINK_ARCH_SPEC },
288 -#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
289 +#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/tools/lib %{shared:-shared} \
293 %{rdynamic:-export-dynamic} \
294 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
295 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
296 %{static:-static}}} \
299 -#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
300 +#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/tools/lib64 %{shared:-shared} \
304 %{rdynamic:-export-dynamic} \
305 - %{!dynamic-linker:-dynamic-linker /lib64/ld-linux.so.2}} \
306 + %{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux.so.2}} \
307 %{static:-static}}} \
310 @@ -257,12 +257,12 @@
311 #else /* !SPARC_BI_ARCH */
314 -#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
315 +#define LINK_SPEC "-m elf64_sparc -Y P,/tools/lib64 %{shared:-shared} \
319 %{rdynamic:-export-dynamic} \
320 - %{!dynamic-linker:-dynamic-linker /lib64/ld-linux.so.2}} \
321 + %{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux.so.2}} \
322 %{static:-static}}} \
323 %{mlittle-endian:-EL} \
324 %{!mno-relax:%{!r:-relax}} \
325 diff -Naur gcc-20050116.orig/gcc/config/xtensa/linux.h gcc-20050116/gcc/config/xtensa/linux.h
326 --- gcc-20050116.orig/gcc/config/xtensa/linux.h 2005-01-17 00:45:18.000000000 +0000
327 +++ gcc-20050116/gcc/config/xtensa/linux.h 2005-01-17 01:32:08.951429623 +0000
331 %{rdynamic:-export-dynamic} \
332 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
333 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
336 #undef LOCAL_LABEL_PREFIX