]> git.ipfire.org Git - ipfire-2.x.git/blob - src/patches/gcc-4.1.2-specs-1.patch
Add support to build an ARM toolchain.
[ipfire-2.x.git] / src / patches / gcc-4.1.2-specs-1.patch
1 diff -Naur gcc-4.1.2.orig/gcc/config/alpha/linux-elf.h gcc-4.1.2/gcc/config/alpha/linux-elf.h
2 --- gcc-4.1.2.orig/gcc/config/alpha/linux-elf.h 2005-06-25 01:22:41.000000000 +0000
3 +++ gcc-4.1.2/gcc/config/alpha/linux-elf.h 2011-09-01 17:11:11.000000000 +0000
4 @@ -27,7 +27,7 @@
5 #define SUBTARGET_EXTRA_SPECS \
6 { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
7
8 -#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
9 +#define ELF_DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
10
11 #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
12 %{O*:-O3} %{!O*:-O1} \
13 diff -Naur gcc-4.1.2.orig/gcc/config/arm/linux-eabi.h gcc-4.1.2/gcc/config/arm/linux-eabi.h
14 --- gcc-4.1.2.orig/gcc/config/arm/linux-eabi.h 2005-11-15 14:32:13.000000000 +0000
15 +++ gcc-4.1.2/gcc/config/arm/linux-eabi.h 2011-09-01 17:11:47.000000000 +0000
16 @@ -53,7 +53,7 @@
17 /* Use ld-linux.so.3 so that it will be possible to run "classic"
18 GNU/Linux binaries on an EABI system. */
19 #undef LINUX_TARGET_INTERPRETER
20 -#define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.3"
21 +#define LINUX_TARGET_INTERPRETER "/tools/lib/ld-linux.so.3"
22
23 /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
24 use the GNU/Linux version, not the generic BPABI version. */
25 diff -Naur gcc-4.1.2.orig/gcc/config/arm/linux-elf.h gcc-4.1.2/gcc/config/arm/linux-elf.h
26 --- gcc-4.1.2.orig/gcc/config/arm/linux-elf.h 2005-10-10 01:04:31.000000000 +0000
27 +++ gcc-4.1.2/gcc/config/arm/linux-elf.h 2011-09-01 17:11:11.000000000 +0000
28 @@ -51,7 +51,7 @@
29
30 #define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
31
32 -#define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.2"
33 +#define LINUX_TARGET_INTERPRETER "/tools/lib/ld-linux.so.2"
34
35 #define LINUX_TARGET_LINK_SPEC "%{h*} %{version:-v} \
36 %{b} \
37 diff -Naur gcc-4.1.2.orig/gcc/config/frv/linux.h gcc-4.1.2/gcc/config/frv/linux.h
38 --- gcc-4.1.2.orig/gcc/config/frv/linux.h 2005-06-25 01:22:41.000000000 +0000
39 +++ gcc-4.1.2/gcc/config/frv/linux.h 2011-09-01 17:11:11.000000000 +0000
40 @@ -41,7 +41,7 @@
41 %{mfdpic: -m elf32frvfd -z text} %{shared} %{pie} \
42 %{!shared: %{!static: \
43 %{rdynamic:-export-dynamic} \
44 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
45 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
46 %{static}}"
47
48 /* Support for compile-time default CPU. */
49 diff -Naur gcc-4.1.2.orig/gcc/config/i386/gnu.h gcc-4.1.2/gcc/config/i386/gnu.h
50 --- gcc-4.1.2.orig/gcc/config/i386/gnu.h 2004-09-08 00:17:19.000000000 +0000
51 +++ gcc-4.1.2/gcc/config/i386/gnu.h 2011-09-01 17:11:11.000000000 +0000
52 @@ -27,7 +27,7 @@
53 %{!shared: \
54 %{!static: \
55 %{rdynamic:-export-dynamic} \
56 - %{!dynamic-linker:-dynamic-linker /lib/ld.so}} \
57 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so}} \
58 %{static:-static}}"
59
60 #undef STARTFILE_SPEC
61 diff -Naur gcc-4.1.2.orig/gcc/config/i386/linux64.h gcc-4.1.2/gcc/config/i386/linux64.h
62 --- gcc-4.1.2.orig/gcc/config/i386/linux64.h 2005-08-10 17:53:01.000000000 +0000
63 +++ gcc-4.1.2/gcc/config/i386/linux64.h 2011-09-01 17:11:11.000000000 +0000
64 @@ -60,8 +60,8 @@
65 %{!shared: \
66 %{!static: \
67 %{rdynamic:-export-dynamic} \
68 - %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
69 - %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
70 + %{m32:%{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
71 + %{!m32:%{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux-x86-64.so.2}}} \
72 %{static:-static}}"
73
74 /* Similar to standard Linux, but adding -ffast-math support. */
75 diff -Naur gcc-4.1.2.orig/gcc/config/i386/linux.h gcc-4.1.2/gcc/config/i386/linux.h
76 --- gcc-4.1.2.orig/gcc/config/i386/linux.h 2005-08-10 17:53:01.000000000 +0000
77 +++ gcc-4.1.2/gcc/config/i386/linux.h 2011-09-01 17:11:11.000000000 +0000
78 @@ -105,7 +105,7 @@
79 /* If ELF is the default format, we should not use /lib/elf. */
80
81 #define LINK_EMULATION "elf_i386"
82 -#define DYNAMIC_LINKER "/lib/ld-linux.so.2"
83 +#define DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
84
85 #undef SUBTARGET_EXTRA_SPECS
86 #define SUBTARGET_EXTRA_SPECS \
87 diff -Naur gcc-4.1.2.orig/gcc/config/ia64/linux.h gcc-4.1.2/gcc/config/ia64/linux.h
88 --- gcc-4.1.2.orig/gcc/config/ia64/linux.h 2006-12-12 15:24:07.000000000 +0000
89 +++ gcc-4.1.2/gcc/config/ia64/linux.h 2011-09-01 17:11:11.000000000 +0000
90 @@ -43,7 +43,7 @@
91 %{!shared: \
92 %{!static: \
93 %{rdynamic:-export-dynamic} \
94 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
95 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux-ia64.so.2}} \
96 %{static:-static}}"
97
98 #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
99 diff -Naur gcc-4.1.2.orig/gcc/config/ia64/linux.h.orig gcc-4.1.2/gcc/config/ia64/linux.h.orig
100 --- gcc-4.1.2.orig/gcc/config/ia64/linux.h.orig 1970-01-01 00:00:00.000000000 +0000
101 +++ gcc-4.1.2/gcc/config/ia64/linux.h.orig 2006-12-12 15:24:07.000000000 +0000
102 @@ -0,0 +1,59 @@
103 +/* Definitions for ia64-linux target. */
104 +
105 +/* This macro is a C statement to print on `stderr' a string describing the
106 + particular machine description choice. */
107 +
108 +#define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
109 +
110 +/* This is for -profile to use -lc_p instead of -lc. */
111 +#undef CC1_SPEC
112 +#define CC1_SPEC "%{profile:-p} %{G*}"
113 +
114 +/* Target OS builtins. */
115 +#define TARGET_OS_CPP_BUILTINS() \
116 +do { \
117 + LINUX_TARGET_OS_CPP_BUILTINS(); \
118 + builtin_define("_LONGLONG"); \
119 +} while (0)
120 +
121 +/* Need to override linux.h STARTFILE_SPEC, since it has crtbeginT.o in. */
122 +#undef STARTFILE_SPEC
123 +#ifdef HAVE_LD_PIE
124 +#define STARTFILE_SPEC \
125 + "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}}\
126 + crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
127 +#else
128 +#define STARTFILE_SPEC \
129 + "%{!shared: %{pg|p|profile:gcrt1.o%s;:crt1.o%s}}\
130 + crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
131 +#endif
132 +
133 +/* Similar to standard Linux, but adding -ffast-math support. */
134 +#undef ENDFILE_SPEC
135 +#define ENDFILE_SPEC \
136 + "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
137 + %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
138 +
139 +/* Define this for shared library support because it isn't in the main
140 + linux.h file. */
141 +
142 +#undef LINK_SPEC
143 +#define LINK_SPEC "\
144 + %{shared:-shared} \
145 + %{!shared: \
146 + %{!static: \
147 + %{rdynamic:-export-dynamic} \
148 + %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
149 + %{static:-static}}"
150 +
151 +#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
152 +
153 +#define JMP_BUF_SIZE 76
154 +
155 +/* Override linux.h LINK_EH_SPEC definition.
156 + Signalize that because we have fde-glibc, we don't need all C shared libs
157 + linked against -lgcc_s. */
158 +#undef LINK_EH_SPEC
159 +#define LINK_EH_SPEC ""
160 +
161 +#define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
162 diff -Naur gcc-4.1.2.orig/gcc/config/linux.h gcc-4.1.2/gcc/config/linux.h
163 --- gcc-4.1.2.orig/gcc/config/linux.h 2005-08-06 13:26:35.000000000 +0000
164 +++ gcc-4.1.2/gcc/config/linux.h 2011-09-01 17:11:11.000000000 +0000
165 @@ -104,3 +104,7 @@
166 #define TARGET_C99_FUNCTIONS 1
167
168 #define TARGET_POSIX_IO
169 +
170 +/* Remove /usr/include from the end of the include search path. */
171 +#undef STANDARD_INCLUDE_DIR
172 +#define STANDARD_INCLUDE_DIR 0
173 diff -Naur gcc-4.1.2.orig/gcc/config/m32r/linux.h gcc-4.1.2/gcc/config/m32r/linux.h
174 --- gcc-4.1.2.orig/gcc/config/m32r/linux.h 2005-07-08 10:00:15.000000000 +0000
175 +++ gcc-4.1.2/gcc/config/m32r/linux.h 2011-09-01 17:11:11.000000000 +0000
176 @@ -66,7 +66,7 @@
177 %{!ibcs: \
178 %{!static: \
179 %{rdynamic:-export-dynamic} \
180 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
181 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
182 %{static:-static}}}"
183 #else
184 #define LINK_SPEC "%(link_cpu) -m m32relf_linux %{shared:-shared} \
185 @@ -74,7 +74,7 @@
186 %{!ibcs: \
187 %{!static: \
188 %{rdynamic:-export-dynamic} \
189 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
190 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
191 %{static:-static}}}"
192 #endif
193
194 diff -Naur gcc-4.1.2.orig/gcc/config/m68k/linux.h gcc-4.1.2/gcc/config/m68k/linux.h
195 --- gcc-4.1.2.orig/gcc/config/m68k/linux.h 2005-06-25 01:22:41.000000000 +0000
196 +++ gcc-4.1.2/gcc/config/m68k/linux.h 2011-09-01 17:11:11.000000000 +0000
197 @@ -128,7 +128,7 @@
198 %{!shared: \
199 %{!static: \
200 %{rdynamic:-export-dynamic} \
201 - %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
202 + %{!dynamic-linker*:-dynamic-linker /tools/lib/ld.so.1}} \
203 %{static}}"
204
205 /* For compatibility with linux/a.out */
206 diff -Naur gcc-4.1.2.orig/gcc/config/mips/linux64.h gcc-4.1.2/gcc/config/mips/linux64.h
207 --- gcc-4.1.2.orig/gcc/config/mips/linux64.h 2005-06-25 01:22:41.000000000 +0000
208 +++ gcc-4.1.2/gcc/config/mips/linux64.h 2011-09-01 17:11:11.000000000 +0000
209 @@ -47,9 +47,9 @@
210 %{!static: \
211 %{rdynamic:-export-dynamic} \
212 %{!dynamic-linker: \
213 - %{mabi=n32: -dynamic-linker /lib32/ld.so.1} \
214 - %{mabi=64: -dynamic-linker /lib64/ld.so.1} \
215 - %{mabi=32: -dynamic-linker /lib/ld.so.1}}} \
216 + %{mabi=n32: -dynamic-linker /tools/lib32/ld.so.1} \
217 + %{mabi=64: -dynamic-linker /tools/lib64/ld.so.1} \
218 + %{mabi=32: -dynamic-linker /tools/lib/ld.so.1}}} \
219 %{static:-static}}} \
220 %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} \
221 %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip} \
222 diff -Naur gcc-4.1.2.orig/gcc/config/mips/linux.h gcc-4.1.2/gcc/config/mips/linux.h
223 --- gcc-4.1.2.orig/gcc/config/mips/linux.h 2006-12-17 13:57:31.000000000 +0000
224 +++ gcc-4.1.2/gcc/config/mips/linux.h 2011-09-01 17:11:11.000000000 +0000
225 @@ -112,7 +112,7 @@
226 %{!ibcs: \
227 %{!static: \
228 %{rdynamic:-export-dynamic} \
229 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
230 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
231 %{static:-static}}}"
232
233 #undef SUBTARGET_ASM_SPEC
234 diff -Naur gcc-4.1.2.orig/gcc/config/mn10300/linux.h gcc-4.1.2/gcc/config/mn10300/linux.h
235 --- gcc-4.1.2.orig/gcc/config/mn10300/linux.h 2005-06-25 01:22:41.000000000 +0000
236 +++ gcc-4.1.2/gcc/config/mn10300/linux.h 2011-09-01 17:11:11.000000000 +0000
237 @@ -37,7 +37,7 @@
238 #define LINK_SPEC "%{mrelax:--relax} %{shared:-shared} \
239 %{!static: \
240 %{rdynamic:-export-dynamic} \
241 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
242 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
243 %{static:-static}"
244
245 #undef PROCESSOR_DEFAULT
246 diff -Naur gcc-4.1.2.orig/gcc/config/pa/pa-linux.h gcc-4.1.2/gcc/config/pa/pa-linux.h
247 --- gcc-4.1.2.orig/gcc/config/pa/pa-linux.h 2007-01-12 02:23:38.000000000 +0000
248 +++ gcc-4.1.2/gcc/config/pa/pa-linux.h 2011-09-01 17:11:11.000000000 +0000
249 @@ -55,7 +55,7 @@
250 %{!shared: \
251 %{!static: \
252 %{rdynamic:-export-dynamic} \
253 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
254 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
255 %{static:-static}}"
256
257 /* glibc's profiling functions don't need gcc to allocate counters. */
258 diff -Naur gcc-4.1.2.orig/gcc/config/rs6000/linux64.h gcc-4.1.2/gcc/config/rs6000/linux64.h
259 --- gcc-4.1.2.orig/gcc/config/rs6000/linux64.h 2006-02-10 20:58:33.000000000 +0000
260 +++ gcc-4.1.2/gcc/config/rs6000/linux64.h 2011-09-01 17:11:11.000000000 +0000
261 @@ -339,11 +339,11 @@
262
263 #define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
264 %{rdynamic:-export-dynamic} \
265 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
266 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
267
268 #define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
269 %{rdynamic:-export-dynamic} \
270 - %{!dynamic-linker:-dynamic-linker /lib64/ld64.so.1}}}"
271 + %{!dynamic-linker:-dynamic-linker /tools/lib64/ld64.so.1}}}"
272
273 #undef TOC_SECTION_ASM_OP
274 #define TOC_SECTION_ASM_OP \
275 diff -Naur gcc-4.1.2.orig/gcc/config/rs6000/sysv4.h gcc-4.1.2/gcc/config/rs6000/sysv4.h
276 --- gcc-4.1.2.orig/gcc/config/rs6000/sysv4.h 2006-02-10 20:58:33.000000000 +0000
277 +++ gcc-4.1.2/gcc/config/rs6000/sysv4.h 2011-09-01 17:11:11.000000000 +0000
278 @@ -1041,7 +1041,7 @@
279
280 #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
281 %{rdynamic:-export-dynamic} \
282 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
283 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
284
285 #if defined(HAVE_LD_EH_FRAME_HDR)
286 # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
287 @@ -1072,7 +1072,7 @@
288
289 #define LINK_OS_GNU_SPEC "-m elf32ppclinux %{!shared: %{!static: \
290 %{rdynamic:-export-dynamic} \
291 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
292 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
293
294 #define CPP_OS_GNU_SPEC "-D__unix__ -D__gnu_hurd__ -D__GNU__ \
295 %{!undef: \
296 diff -Naur gcc-4.1.2.orig/gcc/config/s390/linux.h gcc-4.1.2/gcc/config/s390/linux.h
297 --- gcc-4.1.2.orig/gcc/config/s390/linux.h 2006-12-12 15:24:07.000000000 +0000
298 +++ gcc-4.1.2/gcc/config/s390/linux.h 2011-09-01 17:11:11.000000000 +0000
299 @@ -86,8 +86,8 @@
300 %{!static: \
301 %{rdynamic:-export-dynamic} \
302 %{!dynamic-linker: \
303 - %{m31:-dynamic-linker /lib/ld.so.1} \
304 - %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
305 + %{m31:-dynamic-linker /tools/lib/ld.so.1} \
306 + %{m64:-dynamic-linker /tools/lib/ld64.so.1}}}}"
307
308 #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
309
310 diff -Naur gcc-4.1.2.orig/gcc/config/s390/linux.h.orig gcc-4.1.2/gcc/config/s390/linux.h.orig
311 --- gcc-4.1.2.orig/gcc/config/s390/linux.h.orig 1970-01-01 00:00:00.000000000 +0000
312 +++ gcc-4.1.2/gcc/config/s390/linux.h.orig 2006-12-12 15:24:07.000000000 +0000
313 @@ -0,0 +1,107 @@
314 +/* Definitions for Linux for S/390.
315 + Copyright (C) 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
316 + Contributed by Hartmut Penner (hpenner@de.ibm.com) and
317 + Ulrich Weigand (uweigand@de.ibm.com).
318 +
319 +This file is part of GCC.
320 +
321 +GCC is free software; you can redistribute it and/or modify it under
322 +the terms of the GNU General Public License as published by the Free
323 +Software Foundation; either version 2, or (at your option) any later
324 +version.
325 +
326 +GCC is distributed in the hope that it will be useful, but WITHOUT ANY
327 +WARRANTY; without even the implied warranty of MERCHANTABILITY or
328 +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
329 +for more details.
330 +
331 +You should have received a copy of the GNU General Public License
332 +along with GCC; see the file COPYING. If not, write to the Free
333 +Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
334 +02110-1301, USA. */
335 +
336 +#ifndef _LINUX_H
337 +#define _LINUX_H
338 +
339 +/* Target specific version string. */
340 +
341 +#ifdef DEFAULT_TARGET_64BIT
342 +#undef TARGET_VERSION
343 +#define TARGET_VERSION fprintf (stderr, " (Linux for zSeries)");
344 +#else
345 +#undef TARGET_VERSION
346 +#define TARGET_VERSION fprintf (stderr, " (Linux for S/390)");
347 +#endif
348 +
349 +
350 +/* Target specific type definitions. */
351 +
352 +/* ??? Do we really want long as size_t on 31-bit? */
353 +#undef SIZE_TYPE
354 +#define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "long unsigned int")
355 +#undef PTRDIFF_TYPE
356 +#define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int")
357 +
358 +#undef WCHAR_TYPE
359 +#define WCHAR_TYPE "int"
360 +#undef WCHAR_TYPE_SIZE
361 +#define WCHAR_TYPE_SIZE 32
362 +
363 +
364 +/* Target specific preprocessor settings. */
365 +
366 +#define TARGET_OS_CPP_BUILTINS() \
367 + do \
368 + { \
369 + LINUX_TARGET_OS_CPP_BUILTINS(); \
370 + if (flag_pic) \
371 + { \
372 + builtin_define ("__PIC__"); \
373 + builtin_define ("__pic__"); \
374 + } \
375 + } \
376 + while (0)
377 +
378 +
379 +/* Target specific assembler settings. */
380 +
381 +#undef ASM_SPEC
382 +#define ASM_SPEC "%{m31&m64}%{mesa&mzarch}%{march=*}"
383 +
384 +
385 +/* Target specific linker settings. */
386 +
387 +#ifdef DEFAULT_TARGET_64BIT
388 +#define MULTILIB_DEFAULTS { "m64" }
389 +#else
390 +#define MULTILIB_DEFAULTS { "m31" }
391 +#endif
392 +
393 +#undef LINK_SPEC
394 +#define LINK_SPEC \
395 + "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
396 + %{shared:-shared} \
397 + %{!shared: \
398 + %{static:-static} \
399 + %{!static: \
400 + %{rdynamic:-export-dynamic} \
401 + %{!dynamic-linker: \
402 + %{m31:-dynamic-linker /lib/ld.so.1} \
403 + %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
404 +
405 +#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
406 +
407 +#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
408 +
409 +#define MD_UNWIND_SUPPORT "config/s390/linux-unwind.h"
410 +
411 +#ifdef TARGET_LIBC_PROVIDES_SSP
412 +/* s390 glibc provides __stack_chk_guard in 0x14(tp),
413 + s390x glibc provides it at 0x28(tp). */
414 +#define TARGET_THREAD_SSP_OFFSET (TARGET_64BIT ? 0x28 : 0x14)
415 +#endif
416 +
417 +/* Define if long doubles should be mangled as 'g'. */
418 +#define TARGET_ALTERNATE_LONG_DOUBLE_MANGLING
419 +
420 +#endif
421 diff -Naur gcc-4.1.2.orig/gcc/config/sh/linux.h gcc-4.1.2/gcc/config/sh/linux.h
422 --- gcc-4.1.2.orig/gcc/config/sh/linux.h 2005-06-25 01:22:41.000000000 +0000
423 +++ gcc-4.1.2/gcc/config/sh/linux.h 2011-09-01 17:11:11.000000000 +0000
424 @@ -60,7 +60,7 @@
425 "%{shared:-shared} \
426 %{!static: \
427 %{rdynamic:-export-dynamic} \
428 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
429 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
430 %{static:-static}"
431
432 /* Output assembler code to STREAM to call the profiler. */
433 diff -Naur gcc-4.1.2.orig/gcc/config/sparc/linux64.h gcc-4.1.2/gcc/config/sparc/linux64.h
434 --- gcc-4.1.2.orig/gcc/config/sparc/linux64.h 2006-02-11 08:38:51.000000000 +0000
435 +++ gcc-4.1.2/gcc/config/sparc/linux64.h 2011-09-01 17:11:11.000000000 +0000
436 @@ -162,21 +162,21 @@
437 { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
438 { "link_arch", LINK_ARCH_SPEC },
439
440 -#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
441 +#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/tools/lib %{shared:-shared} \
442 %{!shared: \
443 %{!ibcs: \
444 %{!static: \
445 %{rdynamic:-export-dynamic} \
446 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
447 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
448 %{static:-static}}} \
449 "
450
451 -#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
452 +#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/tools/lib64 %{shared:-shared} \
453 %{!shared: \
454 %{!ibcs: \
455 %{!static: \
456 %{rdynamic:-export-dynamic} \
457 - %{!dynamic-linker:-dynamic-linker /lib64/ld-linux.so.2}} \
458 + %{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux.so.2}} \
459 %{static:-static}}} \
460 "
461
462 @@ -252,12 +252,12 @@
463 #else /* !SPARC_BI_ARCH */
464
465 #undef LINK_SPEC
466 -#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
467 +#define LINK_SPEC "-m elf64_sparc -Y P,/tools/lib64 %{shared:-shared} \
468 %{!shared: \
469 %{!ibcs: \
470 %{!static: \
471 %{rdynamic:-export-dynamic} \
472 - %{!dynamic-linker:-dynamic-linker /lib64/ld-linux.so.2}} \
473 + %{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux.so.2}} \
474 %{static:-static}}} \
475 %{mlittle-endian:-EL} \
476 %{!mno-relax:%{!r:-relax}} \
477 diff -Naur gcc-4.1.2.orig/gcc/config/sparc/linux.h gcc-4.1.2/gcc/config/sparc/linux.h
478 --- gcc-4.1.2.orig/gcc/config/sparc/linux.h 2006-02-11 08:38:51.000000000 +0000
479 +++ gcc-4.1.2/gcc/config/sparc/linux.h 2011-09-01 17:11:11.000000000 +0000
480 @@ -126,13 +126,13 @@
481 /* If ELF is the default format, we should not use /lib/elf. */
482
483 #undef LINK_SPEC
484 -#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
485 +#define LINK_SPEC "-m elf32_sparc -Y P,/tools/lib %{shared:-shared} \
486 %{!mno-relax:%{!r:-relax}} \
487 %{!shared: \
488 %{!ibcs: \
489 %{!static: \
490 %{rdynamic:-export-dynamic} \
491 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
492 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
493 %{static:-static}}}"
494
495 /* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
496 diff -Naur gcc-4.1.2.orig/gcc/config/xtensa/linux.h gcc-4.1.2/gcc/config/xtensa/linux.h
497 --- gcc-4.1.2.orig/gcc/config/xtensa/linux.h 2005-06-25 01:22:41.000000000 +0000
498 +++ gcc-4.1.2/gcc/config/xtensa/linux.h 2011-09-01 17:11:11.000000000 +0000
499 @@ -50,7 +50,7 @@
500 %{!ibcs: \
501 %{!static: \
502 %{rdynamic:-export-dynamic} \
503 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
504 + %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
505 %{static:-static}}}"
506
507 #undef LOCAL_LABEL_PREFIX