1 Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
3 Initial Package Version: 4.1.0
4 Upstream Status: Not Sent - LFS Specific
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 Rediffed against gcc 4.1.0 by Chris Staub
14 Description: This patch modifies the location of the dynamic linker for
15 the GCC Pass 2 build in LFS Chapter 5.
17 diff -Naur gcc-4.1.0.orig/gcc/config/alpha/linux-elf.h gcc-4.1.0/gcc/config/alpha/linux-elf.h
18 --- gcc-4.1.0.orig/gcc/config/alpha/linux-elf.h 2005-06-24 21:22:41.000000000 -0400
19 +++ gcc-4.1.0/gcc/config/alpha/linux-elf.h 2006-02-28 22:02:20.000000000 -0500
21 #define SUBTARGET_EXTRA_SPECS \
22 { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
24 -#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
25 +#define ELF_DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
27 #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
28 %{O*:-O3} %{!O*:-O1} \
29 diff -Naur gcc-4.1.0.orig/gcc/config/arm/linux-elf.h gcc-4.1.0/gcc/config/arm/linux-elf.h
30 --- gcc-4.1.0.orig/gcc/config/arm/linux-elf.h 2005-10-09 21:04:31.000000000 -0400
31 +++ gcc-4.1.0/gcc/config/arm/linux-elf.h 2006-02-28 22:02:20.000000000 -0500
34 #define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
36 -#define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.2"
37 +#define LINUX_TARGET_INTERPRETER "/tools/lib/ld-linux.so.2"
39 #define LINUX_TARGET_LINK_SPEC "%{h*} %{version:-v} \
41 diff -Naur gcc-4.1.0.orig/gcc/config/frv/linux.h gcc-4.1.0/gcc/config/frv/linux.h
42 --- gcc-4.1.0.orig/gcc/config/frv/linux.h 2005-06-24 21:22:41.000000000 -0400
43 +++ gcc-4.1.0/gcc/config/frv/linux.h 2006-02-28 22:02:20.000000000 -0500
45 %{mfdpic: -m elf32frvfd -z text} %{shared} %{pie} \
46 %{!shared: %{!static: \
47 %{rdynamic:-export-dynamic} \
48 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
49 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
52 /* Support for compile-time default CPU. */
53 diff -Naur gcc-4.1.0.orig/gcc/config/i386/gnu.h gcc-4.1.0/gcc/config/i386/gnu.h
54 --- gcc-4.1.0.orig/gcc/config/i386/gnu.h 2004-09-07 20:17:19.000000000 -0400
55 +++ gcc-4.1.0/gcc/config/i386/gnu.h 2006-02-28 22:02:21.000000000 -0500
59 %{rdynamic:-export-dynamic} \
60 - %{!dynamic-linker:-dynamic-linker /lib/ld.so}} \
61 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so}} \
65 diff -Naur gcc-4.1.0.orig/gcc/config/i386/linux.h gcc-4.1.0/gcc/config/i386/linux.h
66 --- gcc-4.1.0.orig/gcc/config/i386/linux.h 2005-08-10 13:53:01.000000000 -0400
67 +++ gcc-4.1.0/gcc/config/i386/linux.h 2006-02-28 22:02:21.000000000 -0500
69 /* If ELF is the default format, we should not use /lib/elf. */
71 #define LINK_EMULATION "elf_i386"
72 -#define DYNAMIC_LINKER "/lib/ld-linux.so.2"
73 +#define DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
75 #undef SUBTARGET_EXTRA_SPECS
76 #define SUBTARGET_EXTRA_SPECS \
77 diff -Naur gcc-4.1.0.orig/gcc/config/i386/linux64.h gcc-4.1.0/gcc/config/i386/linux64.h
78 --- gcc-4.1.0.orig/gcc/config/i386/linux64.h 2005-08-10 13:53:01.000000000 -0400
79 +++ gcc-4.1.0/gcc/config/i386/linux64.h 2006-02-28 22:02:21.000000000 -0500
83 %{rdynamic:-export-dynamic} \
84 - %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
85 - %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
86 + %{m32:%{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
87 + %{!m32:%{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux-x86-64.so.2}}} \
90 /* Similar to standard Linux, but adding -ffast-math support. */
91 diff -Naur gcc-4.1.0.orig/gcc/config/ia64/linux.h gcc-4.1.0/gcc/config/ia64/linux.h
92 --- gcc-4.1.0.orig/gcc/config/ia64/linux.h 2004-09-07 20:17:19.000000000 -0400
93 +++ gcc-4.1.0/gcc/config/ia64/linux.h 2006-02-28 22:02:21.000000000 -0500
97 %{rdynamic:-export-dynamic} \
98 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
99 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux-ia64.so.2}} \
103 diff -Naur gcc-4.1.0.orig/gcc/config/linux.h gcc-4.1.0/gcc/config/linux.h
104 --- gcc-4.1.0.orig/gcc/config/linux.h 2005-08-06 09:26:35.000000000 -0400
105 +++ gcc-4.1.0/gcc/config/linux.h 2006-02-28 22:02:21.000000000 -0500
107 #define TARGET_C99_FUNCTIONS 1
109 #define TARGET_POSIX_IO
111 +/* Remove /usr/include from the end of the include search path. */
112 +#undef STANDARD_INCLUDE_DIR
113 +#define STANDARD_INCLUDE_DIR 0
114 diff -Naur gcc-4.1.0.orig/gcc/config/m32r/linux.h gcc-4.1.0/gcc/config/m32r/linux.h
115 --- gcc-4.1.0.orig/gcc/config/m32r/linux.h 2005-07-08 06:00:15.000000000 -0400
116 +++ gcc-4.1.0/gcc/config/m32r/linux.h 2006-02-28 22:02:21.000000000 -0500
120 %{rdynamic:-export-dynamic} \
121 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
122 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
125 #define LINK_SPEC "%(link_cpu) -m m32relf_linux %{shared:-shared} \
129 %{rdynamic:-export-dynamic} \
130 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
131 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
135 diff -Naur gcc-4.1.0.orig/gcc/config/m68k/linux.h gcc-4.1.0/gcc/config/m68k/linux.h
136 --- gcc-4.1.0.orig/gcc/config/m68k/linux.h 2005-06-24 21:22:41.000000000 -0400
137 +++ gcc-4.1.0/gcc/config/m68k/linux.h 2006-02-28 22:02:21.000000000 -0500
141 %{rdynamic:-export-dynamic} \
142 - %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
143 + %{!dynamic-linker*:-dynamic-linker /tools/lib/ld.so.1}} \
146 /* For compatibility with linux/a.out */
147 diff -Naur gcc-4.1.0.orig/gcc/config/mips/linux.h gcc-4.1.0/gcc/config/mips/linux.h
148 --- gcc-4.1.0.orig/gcc/config/mips/linux.h 2005-06-24 21:22:41.000000000 -0400
149 +++ gcc-4.1.0/gcc/config/mips/linux.h 2006-02-28 22:02:21.000000000 -0500
153 %{rdynamic:-export-dynamic} \
154 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
155 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
158 #undef SUBTARGET_ASM_SPEC
159 diff -Naur gcc-4.1.0.orig/gcc/config/mips/linux64.h gcc-4.1.0/gcc/config/mips/linux64.h
160 --- gcc-4.1.0.orig/gcc/config/mips/linux64.h 2005-06-24 21:22:41.000000000 -0400
161 +++ gcc-4.1.0/gcc/config/mips/linux64.h 2006-02-28 22:02:21.000000000 -0500
164 %{rdynamic:-export-dynamic} \
166 - %{mabi=n32: -dynamic-linker /lib32/ld.so.1} \
167 - %{mabi=64: -dynamic-linker /lib64/ld.so.1} \
168 - %{mabi=32: -dynamic-linker /lib/ld.so.1}}} \
169 + %{mabi=n32: -dynamic-linker /tools/lib32/ld.so.1} \
170 + %{mabi=64: -dynamic-linker /tools/lib64/ld.so.1} \
171 + %{mabi=32: -dynamic-linker /tools/lib/ld.so.1}}} \
172 %{static:-static}}} \
173 %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} \
174 %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip} \
175 diff -Naur gcc-4.1.0.orig/gcc/config/mn10300/linux.h gcc-4.1.0/gcc/config/mn10300/linux.h
176 --- gcc-4.1.0.orig/gcc/config/mn10300/linux.h 2005-06-24 21:22:41.000000000 -0400
177 +++ gcc-4.1.0/gcc/config/mn10300/linux.h 2006-02-28 22:02:21.000000000 -0500
179 #define LINK_SPEC "%{mrelax:--relax} %{shared:-shared} \
181 %{rdynamic:-export-dynamic} \
182 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
183 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
186 #undef PROCESSOR_DEFAULT
187 diff -Naur gcc-4.1.0.orig/gcc/config/pa/pa-linux.h gcc-4.1.0/gcc/config/pa/pa-linux.h
188 --- gcc-4.1.0.orig/gcc/config/pa/pa-linux.h 2005-11-17 22:22:18.000000000 -0500
189 +++ gcc-4.1.0/gcc/config/pa/pa-linux.h 2006-02-28 22:02:21.000000000 -0500
193 %{rdynamic:-export-dynamic} \
194 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
195 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
198 /* glibc's profiling functions don't need gcc to allocate counters. */
199 diff -Naur gcc-4.1.0.orig/gcc/config/rs6000/linux64.h gcc-4.1.0/gcc/config/rs6000/linux64.h
200 --- gcc-4.1.0.orig/gcc/config/rs6000/linux64.h 2006-02-10 15:58:33.000000000 -0500
201 +++ gcc-4.1.0/gcc/config/rs6000/linux64.h 2006-02-28 22:02:21.000000000 -0500
202 @@ -339,11 +339,11 @@
204 #define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
205 %{rdynamic:-export-dynamic} \
206 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
207 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
209 #define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
210 %{rdynamic:-export-dynamic} \
211 - %{!dynamic-linker:-dynamic-linker /lib64/ld64.so.1}}}"
212 + %{!dynamic-linker:-dynamic-linker /tools/lib64/ld64.so.1}}}"
214 #undef TOC_SECTION_ASM_OP
215 #define TOC_SECTION_ASM_OP \
216 diff -Naur gcc-4.1.0.orig/gcc/config/rs6000/sysv4.h gcc-4.1.0/gcc/config/rs6000/sysv4.h
217 --- gcc-4.1.0.orig/gcc/config/rs6000/sysv4.h 2006-02-10 15:58:33.000000000 -0500
218 +++ gcc-4.1.0/gcc/config/rs6000/sysv4.h 2006-02-28 22:02:21.000000000 -0500
219 @@ -1041,7 +1041,7 @@
221 #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
222 %{rdynamic:-export-dynamic} \
223 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
224 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
226 #if defined(HAVE_LD_EH_FRAME_HDR)
227 # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
228 @@ -1072,7 +1072,7 @@
230 #define LINK_OS_GNU_SPEC "-m elf32ppclinux %{!shared: %{!static: \
231 %{rdynamic:-export-dynamic} \
232 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
233 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
235 #define CPP_OS_GNU_SPEC "-D__unix__ -D__gnu_hurd__ -D__GNU__ \
237 diff -Naur gcc-4.1.0.orig/gcc/config/s390/linux.h gcc-4.1.0/gcc/config/s390/linux.h
238 --- gcc-4.1.0.orig/gcc/config/s390/linux.h 2006-02-11 03:38:51.000000000 -0500
239 +++ gcc-4.1.0/gcc/config/s390/linux.h 2006-02-28 22:02:21.000000000 -0500
242 %{rdynamic:-export-dynamic} \
244 - %{m31:-dynamic-linker /lib/ld.so.1} \
245 - %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
246 + %{m31:-dynamic-linker /tools/lib/ld.so.1} \
247 + %{m64:-dynamic-linker /tools/lib/ld64.so.1}}}}"
250 #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
251 diff -Naur gcc-4.1.0.orig/gcc/config/sh/linux.h gcc-4.1.0/gcc/config/sh/linux.h
252 --- gcc-4.1.0.orig/gcc/config/sh/linux.h 2005-06-24 21:22:41.000000000 -0400
253 +++ gcc-4.1.0/gcc/config/sh/linux.h 2006-02-28 22:02:21.000000000 -0500
257 %{rdynamic:-export-dynamic} \
258 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
259 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
262 /* Output assembler code to STREAM to call the profiler. */
263 diff -Naur gcc-4.1.0.orig/gcc/config/sparc/linux.h gcc-4.1.0/gcc/config/sparc/linux.h
264 --- gcc-4.1.0.orig/gcc/config/sparc/linux.h 2006-02-11 03:38:51.000000000 -0500
265 +++ gcc-4.1.0/gcc/config/sparc/linux.h 2006-02-28 22:02:21.000000000 -0500
266 @@ -126,13 +126,13 @@
267 /* If ELF is the default format, we should not use /lib/elf. */
270 -#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
271 +#define LINK_SPEC "-m elf32_sparc -Y P,/tools/lib %{shared:-shared} \
272 %{!mno-relax:%{!r:-relax}} \
276 %{rdynamic:-export-dynamic} \
277 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
278 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
281 /* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
282 diff -Naur gcc-4.1.0.orig/gcc/config/sparc/linux64.h gcc-4.1.0/gcc/config/sparc/linux64.h
283 --- gcc-4.1.0.orig/gcc/config/sparc/linux64.h 2006-02-11 03:38:51.000000000 -0500
284 +++ gcc-4.1.0/gcc/config/sparc/linux64.h 2006-02-28 22:02:21.000000000 -0500
285 @@ -162,21 +162,21 @@
286 { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
287 { "link_arch", LINK_ARCH_SPEC },
289 -#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
290 +#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/tools/lib %{shared:-shared} \
294 %{rdynamic:-export-dynamic} \
295 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
296 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
297 %{static:-static}}} \
300 -#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
301 +#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/tools/lib64 %{shared:-shared} \
305 %{rdynamic:-export-dynamic} \
306 - %{!dynamic-linker:-dynamic-linker /lib64/ld-linux.so.2}} \
307 + %{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux.so.2}} \
308 %{static:-static}}} \
311 @@ -252,12 +252,12 @@
312 #else /* !SPARC_BI_ARCH */
315 -#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
316 +#define LINK_SPEC "-m elf64_sparc -Y P,/tools/lib64 %{shared:-shared} \
320 %{rdynamic:-export-dynamic} \
321 - %{!dynamic-linker:-dynamic-linker /lib64/ld-linux.so.2}} \
322 + %{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux.so.2}} \
323 %{static:-static}}} \
324 %{mlittle-endian:-EL} \
325 %{!mno-relax:%{!r:-relax}} \
326 diff -Naur gcc-4.1.0.orig/gcc/config/xtensa/linux.h gcc-4.1.0/gcc/config/xtensa/linux.h
327 --- gcc-4.1.0.orig/gcc/config/xtensa/linux.h 2005-06-24 21:22:41.000000000 -0400
328 +++ gcc-4.1.0/gcc/config/xtensa/linux.h 2006-02-28 22:02:21.000000000 -0500
332 %{rdynamic:-export-dynamic} \
333 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
334 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
337 #undef LOCAL_LABEL_PREFIX