]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - src/patches/gcc-4.1.2-specs-1.patch
sendEmail: New addon
[people/teissler/ipfire-2.x.git] / src / patches / gcc-4.1.2-specs-1.patch
index 16eef7646c1864510458b123cbf033549ee72367..28ebb433f2ecc3e0cd7ca9b961467cab3b61e78a 100644 (file)
@@ -1,22 +1,6 @@
-Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
-Date: 2006-02-17
-Initial Package Version: 4.1.0
-Upstream Status: Not Sent - LFS Specific
-Origin: Idea originally developed by Ryan Oliver and Greg Schafer for
-        the Pure LFS project.
-        More architectures added by Zack Winkles.
-        Further fine tunings by Greg Schafer.
-        Modified for gcc 3.3.2 by Oliver Brakmann.
-        Rediffed against gcc 3.4.0 by Zack Winkles.
-        Rediffed against gcc 3.4.3 by Jim Gifford.
-        Rediffed against gcc 4.0.0 by Robert Connolly.
-        Rediffed against gcc 4.1.0 by Chris Staub
-Description: This patch modifies the location of the dynamic linker for
-        the GCC Pass 2 build in LFS Chapter 5.
-
-diff -Naur gcc-4.1.0.orig/gcc/config/alpha/linux-elf.h gcc-4.1.0/gcc/config/alpha/linux-elf.h
---- gcc-4.1.0.orig/gcc/config/alpha/linux-elf.h        2005-06-24 21:22:41.000000000 -0400
-+++ gcc-4.1.0/gcc/config/alpha/linux-elf.h     2006-02-28 22:02:20.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/alpha/linux-elf.h gcc-4.1.2/gcc/config/alpha/linux-elf.h
+--- gcc-4.1.2.orig/gcc/config/alpha/linux-elf.h        2005-06-25 01:22:41.000000000 +0000
++++ gcc-4.1.2/gcc/config/alpha/linux-elf.h     2011-09-01 17:11:11.000000000 +0000
 @@ -27,7 +27,7 @@
  #define SUBTARGET_EXTRA_SPECS \
  { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
@@ -26,9 +10,21 @@ diff -Naur gcc-4.1.0.orig/gcc/config/alpha/linux-elf.h gcc-4.1.0/gcc/config/alph
  
  #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax}                \
    %{O*:-O3} %{!O*:-O1}                                                \
-diff -Naur gcc-4.1.0.orig/gcc/config/arm/linux-elf.h gcc-4.1.0/gcc/config/arm/linux-elf.h
---- gcc-4.1.0.orig/gcc/config/arm/linux-elf.h  2005-10-09 21:04:31.000000000 -0400
-+++ gcc-4.1.0/gcc/config/arm/linux-elf.h       2006-02-28 22:02:20.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/arm/linux-eabi.h gcc-4.1.2/gcc/config/arm/linux-eabi.h
+--- gcc-4.1.2.orig/gcc/config/arm/linux-eabi.h 2005-11-15 14:32:13.000000000 +0000
++++ gcc-4.1.2/gcc/config/arm/linux-eabi.h      2011-09-01 17:11:47.000000000 +0000
+@@ -53,7 +53,7 @@
+ /* Use ld-linux.so.3 so that it will be possible to run "classic"
+    GNU/Linux binaries on an EABI system.  */
+ #undef LINUX_TARGET_INTERPRETER
+-#define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.3"
++#define LINUX_TARGET_INTERPRETER "/tools/lib/ld-linux.so.3"
+ /* At this point, bpabi.h will have clobbered LINK_SPEC.  We want to
+    use the GNU/Linux version, not the generic BPABI version.  */
+diff -Naur gcc-4.1.2.orig/gcc/config/arm/linux-elf.h gcc-4.1.2/gcc/config/arm/linux-elf.h
+--- gcc-4.1.2.orig/gcc/config/arm/linux-elf.h  2005-10-10 01:04:31.000000000 +0000
++++ gcc-4.1.2/gcc/config/arm/linux-elf.h       2011-09-01 17:11:11.000000000 +0000
 @@ -51,7 +51,7 @@
  
  #define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
@@ -38,9 +34,9 @@ diff -Naur gcc-4.1.0.orig/gcc/config/arm/linux-elf.h gcc-4.1.0/gcc/config/arm/li
  
  #define LINUX_TARGET_LINK_SPEC  "%{h*} %{version:-v} \
     %{b} \
-diff -Naur gcc-4.1.0.orig/gcc/config/frv/linux.h gcc-4.1.0/gcc/config/frv/linux.h
---- gcc-4.1.0.orig/gcc/config/frv/linux.h      2005-06-24 21:22:41.000000000 -0400
-+++ gcc-4.1.0/gcc/config/frv/linux.h   2006-02-28 22:02:20.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/frv/linux.h gcc-4.1.2/gcc/config/frv/linux.h
+--- gcc-4.1.2.orig/gcc/config/frv/linux.h      2005-06-25 01:22:41.000000000 +0000
++++ gcc-4.1.2/gcc/config/frv/linux.h   2011-09-01 17:11:11.000000000 +0000
 @@ -41,7 +41,7 @@
    %{mfdpic: -m elf32frvfd -z text} %{shared} %{pie} \
    %{!shared: %{!static: \
@@ -50,9 +46,9 @@ diff -Naur gcc-4.1.0.orig/gcc/config/frv/linux.h gcc-4.1.0/gcc/config/frv/linux.
     %{static}}"
  
  /* Support for compile-time default CPU.  */
-diff -Naur gcc-4.1.0.orig/gcc/config/i386/gnu.h gcc-4.1.0/gcc/config/i386/gnu.h
---- gcc-4.1.0.orig/gcc/config/i386/gnu.h       2004-09-07 20:17:19.000000000 -0400
-+++ gcc-4.1.0/gcc/config/i386/gnu.h    2006-02-28 22:02:21.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/i386/gnu.h gcc-4.1.2/gcc/config/i386/gnu.h
+--- gcc-4.1.2.orig/gcc/config/i386/gnu.h       2004-09-08 00:17:19.000000000 +0000
++++ gcc-4.1.2/gcc/config/i386/gnu.h    2011-09-01 17:11:11.000000000 +0000
 @@ -27,7 +27,7 @@
    %{!shared: \
      %{!static: \
@@ -62,21 +58,9 @@ diff -Naur gcc-4.1.0.orig/gcc/config/i386/gnu.h gcc-4.1.0/gcc/config/i386/gnu.h
      %{static:-static}}"
  
  #undef        STARTFILE_SPEC
-diff -Naur gcc-4.1.0.orig/gcc/config/i386/linux.h gcc-4.1.0/gcc/config/i386/linux.h
---- gcc-4.1.0.orig/gcc/config/i386/linux.h     2005-08-10 13:53:01.000000000 -0400
-+++ gcc-4.1.0/gcc/config/i386/linux.h  2006-02-28 22:02:21.000000000 -0500
-@@ -105,7 +105,7 @@
- /* If ELF is the default format, we should not use /lib/elf.  */
- #define LINK_EMULATION "elf_i386"
--#define DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
- #undef  SUBTARGET_EXTRA_SPECS
- #define SUBTARGET_EXTRA_SPECS \
-diff -Naur gcc-4.1.0.orig/gcc/config/i386/linux64.h gcc-4.1.0/gcc/config/i386/linux64.h
---- gcc-4.1.0.orig/gcc/config/i386/linux64.h   2005-08-10 13:53:01.000000000 -0400
-+++ gcc-4.1.0/gcc/config/i386/linux64.h        2006-02-28 22:02:21.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/i386/linux64.h gcc-4.1.2/gcc/config/i386/linux64.h
+--- gcc-4.1.2.orig/gcc/config/i386/linux64.h   2005-08-10 17:53:01.000000000 +0000
++++ gcc-4.1.2/gcc/config/i386/linux64.h        2011-09-01 17:11:11.000000000 +0000
 @@ -60,8 +60,8 @@
    %{!shared: \
      %{!static: \
@@ -88,9 +72,21 @@ diff -Naur gcc-4.1.0.orig/gcc/config/i386/linux64.h gcc-4.1.0/gcc/config/i386/li
      %{static:-static}}"
  
  /* Similar to standard Linux, but adding -ffast-math support.  */
-diff -Naur gcc-4.1.0.orig/gcc/config/ia64/linux.h gcc-4.1.0/gcc/config/ia64/linux.h
---- gcc-4.1.0.orig/gcc/config/ia64/linux.h     2004-09-07 20:17:19.000000000 -0400
-+++ gcc-4.1.0/gcc/config/ia64/linux.h  2006-02-28 22:02:21.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/i386/linux.h gcc-4.1.2/gcc/config/i386/linux.h
+--- gcc-4.1.2.orig/gcc/config/i386/linux.h     2005-08-10 17:53:01.000000000 +0000
++++ gcc-4.1.2/gcc/config/i386/linux.h  2011-09-01 17:11:11.000000000 +0000
+@@ -105,7 +105,7 @@
+ /* If ELF is the default format, we should not use /lib/elf.  */
+ #define LINK_EMULATION "elf_i386"
+-#define DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
+ #undef  SUBTARGET_EXTRA_SPECS
+ #define SUBTARGET_EXTRA_SPECS \
+diff -Naur gcc-4.1.2.orig/gcc/config/ia64/linux.h gcc-4.1.2/gcc/config/ia64/linux.h
+--- gcc-4.1.2.orig/gcc/config/ia64/linux.h     2006-12-12 15:24:07.000000000 +0000
++++ gcc-4.1.2/gcc/config/ia64/linux.h  2011-09-01 17:11:11.000000000 +0000
 @@ -43,7 +43,7 @@
    %{!shared: \
      %{!static: \
@@ -99,10 +95,73 @@ diff -Naur gcc-4.1.0.orig/gcc/config/ia64/linux.h gcc-4.1.0/gcc/config/ia64/linu
 +      %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux-ia64.so.2}} \
        %{static:-static}}"
  
-diff -Naur gcc-4.1.0.orig/gcc/config/linux.h gcc-4.1.0/gcc/config/linux.h
---- gcc-4.1.0.orig/gcc/config/linux.h  2005-08-06 09:26:35.000000000 -0400
-+++ gcc-4.1.0/gcc/config/linux.h       2006-02-28 22:02:21.000000000 -0500
+ #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
+diff -Naur gcc-4.1.2.orig/gcc/config/ia64/linux.h.orig gcc-4.1.2/gcc/config/ia64/linux.h.orig
+--- gcc-4.1.2.orig/gcc/config/ia64/linux.h.orig        1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.1.2/gcc/config/ia64/linux.h.orig     2006-12-12 15:24:07.000000000 +0000
+@@ -0,0 +1,59 @@
++/* Definitions for ia64-linux target.  */
++
++/* This macro is a C statement to print on `stderr' a string describing the
++   particular machine description choice.  */
++
++#define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
++
++/* This is for -profile to use -lc_p instead of -lc.  */
++#undef CC1_SPEC
++#define CC1_SPEC "%{profile:-p} %{G*}"
++
++/* Target OS builtins.  */
++#define TARGET_OS_CPP_BUILTINS()              \
++do {                                          \
++      LINUX_TARGET_OS_CPP_BUILTINS();         \
++      builtin_define("_LONGLONG");            \
++} while (0)
++
++/* Need to override linux.h STARTFILE_SPEC, since it has crtbeginT.o in.  */
++#undef STARTFILE_SPEC
++#ifdef HAVE_LD_PIE
++#define STARTFILE_SPEC \
++  "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}}\
++   crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
++#else
++#define STARTFILE_SPEC \
++  "%{!shared: %{pg|p|profile:gcrt1.o%s;:crt1.o%s}}\
++   crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
++#endif
++
++/* Similar to standard Linux, but adding -ffast-math support.  */
++#undef  ENDFILE_SPEC
++#define ENDFILE_SPEC \
++  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
++   %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
++
++/* Define this for shared library support because it isn't in the main
++   linux.h file.  */
++
++#undef LINK_SPEC
++#define LINK_SPEC "\
++  %{shared:-shared} \
++  %{!shared: \
++    %{!static: \
++      %{rdynamic:-export-dynamic} \
++      %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
++      %{static:-static}}"
++
++#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
++
++#define JMP_BUF_SIZE  76
++
++/* Override linux.h LINK_EH_SPEC definition.
++   Signalize that because we have fde-glibc, we don't need all C shared libs
++   linked against -lgcc_s.  */
++#undef LINK_EH_SPEC
++#define LINK_EH_SPEC ""
++
++#define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
+diff -Naur gcc-4.1.2.orig/gcc/config/linux.h gcc-4.1.2/gcc/config/linux.h
+--- gcc-4.1.2.orig/gcc/config/linux.h  2005-08-06 13:26:35.000000000 +0000
++++ gcc-4.1.2/gcc/config/linux.h       2011-09-01 17:11:11.000000000 +0000
 @@ -104,3 +104,7 @@
  #define TARGET_C99_FUNCTIONS 1
  
@@ -111,9 +170,9 @@ diff -Naur gcc-4.1.0.orig/gcc/config/linux.h gcc-4.1.0/gcc/config/linux.h
 +/* Remove /usr/include from the end of the include search path.  */
 +#undef STANDARD_INCLUDE_DIR
 +#define STANDARD_INCLUDE_DIR 0
-diff -Naur gcc-4.1.0.orig/gcc/config/m32r/linux.h gcc-4.1.0/gcc/config/m32r/linux.h
---- gcc-4.1.0.orig/gcc/config/m32r/linux.h     2005-07-08 06:00:15.000000000 -0400
-+++ gcc-4.1.0/gcc/config/m32r/linux.h  2006-02-28 22:02:21.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/m32r/linux.h gcc-4.1.2/gcc/config/m32r/linux.h
+--- gcc-4.1.2.orig/gcc/config/m32r/linux.h     2005-07-08 10:00:15.000000000 +0000
++++ gcc-4.1.2/gcc/config/m32r/linux.h  2011-09-01 17:11:11.000000000 +0000
 @@ -66,7 +66,7 @@
      %{!ibcs: \
        %{!static: \
@@ -132,9 +191,9 @@ diff -Naur gcc-4.1.0.orig/gcc/config/m32r/linux.h gcc-4.1.0/gcc/config/m32r/linu
        %{static:-static}}}"
  #endif
  
-diff -Naur gcc-4.1.0.orig/gcc/config/m68k/linux.h gcc-4.1.0/gcc/config/m68k/linux.h
---- gcc-4.1.0.orig/gcc/config/m68k/linux.h     2005-06-24 21:22:41.000000000 -0400
-+++ gcc-4.1.0/gcc/config/m68k/linux.h  2006-02-28 22:02:21.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/m68k/linux.h gcc-4.1.2/gcc/config/m68k/linux.h
+--- gcc-4.1.2.orig/gcc/config/m68k/linux.h     2005-06-25 01:22:41.000000000 +0000
++++ gcc-4.1.2/gcc/config/m68k/linux.h  2011-09-01 17:11:11.000000000 +0000
 @@ -128,7 +128,7 @@
    %{!shared: \
      %{!static: \
@@ -144,21 +203,9 @@ diff -Naur gcc-4.1.0.orig/gcc/config/m68k/linux.h gcc-4.1.0/gcc/config/m68k/linu
      %{static}}"
  
  /* For compatibility with linux/a.out */
-diff -Naur gcc-4.1.0.orig/gcc/config/mips/linux.h gcc-4.1.0/gcc/config/mips/linux.h
---- gcc-4.1.0.orig/gcc/config/mips/linux.h     2005-06-24 21:22:41.000000000 -0400
-+++ gcc-4.1.0/gcc/config/mips/linux.h  2006-02-28 22:02:21.000000000 -0500
-@@ -112,7 +112,7 @@
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+        %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
-         %{static:-static}}}"
- #undef SUBTARGET_ASM_SPEC
-diff -Naur gcc-4.1.0.orig/gcc/config/mips/linux64.h gcc-4.1.0/gcc/config/mips/linux64.h
---- gcc-4.1.0.orig/gcc/config/mips/linux64.h   2005-06-24 21:22:41.000000000 -0400
-+++ gcc-4.1.0/gcc/config/mips/linux64.h        2006-02-28 22:02:21.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/mips/linux64.h gcc-4.1.2/gcc/config/mips/linux64.h
+--- gcc-4.1.2.orig/gcc/config/mips/linux64.h   2005-06-25 01:22:41.000000000 +0000
++++ gcc-4.1.2/gcc/config/mips/linux64.h        2011-09-01 17:11:11.000000000 +0000
 @@ -47,9 +47,9 @@
        %{!static: \
          %{rdynamic:-export-dynamic} \
@@ -172,9 +219,21 @@ diff -Naur gcc-4.1.0.orig/gcc/config/mips/linux64.h gcc-4.1.0/gcc/config/mips/li
        %{static:-static}}} \
  %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} \
  %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip} \
-diff -Naur gcc-4.1.0.orig/gcc/config/mn10300/linux.h gcc-4.1.0/gcc/config/mn10300/linux.h
---- gcc-4.1.0.orig/gcc/config/mn10300/linux.h  2005-06-24 21:22:41.000000000 -0400
-+++ gcc-4.1.0/gcc/config/mn10300/linux.h       2006-02-28 22:02:21.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/mips/linux.h gcc-4.1.2/gcc/config/mips/linux.h
+--- gcc-4.1.2.orig/gcc/config/mips/linux.h     2006-12-17 13:57:31.000000000 +0000
++++ gcc-4.1.2/gcc/config/mips/linux.h  2011-09-01 17:11:11.000000000 +0000
+@@ -112,7 +112,7 @@
+     %{!ibcs: \
+       %{!static: \
+         %{rdynamic:-export-dynamic} \
+-        %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
++        %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
+         %{static:-static}}}"
+ #undef SUBTARGET_ASM_SPEC
+diff -Naur gcc-4.1.2.orig/gcc/config/mn10300/linux.h gcc-4.1.2/gcc/config/mn10300/linux.h
+--- gcc-4.1.2.orig/gcc/config/mn10300/linux.h  2005-06-25 01:22:41.000000000 +0000
++++ gcc-4.1.2/gcc/config/mn10300/linux.h       2011-09-01 17:11:11.000000000 +0000
 @@ -37,7 +37,7 @@
  #define LINK_SPEC "%{mrelax:--relax} %{shared:-shared} \
     %{!static: \
@@ -184,9 +243,9 @@ diff -Naur gcc-4.1.0.orig/gcc/config/mn10300/linux.h gcc-4.1.0/gcc/config/mn1030
     %{static:-static}"
  
  #undef  PROCESSOR_DEFAULT
-diff -Naur gcc-4.1.0.orig/gcc/config/pa/pa-linux.h gcc-4.1.0/gcc/config/pa/pa-linux.h
---- gcc-4.1.0.orig/gcc/config/pa/pa-linux.h    2005-11-17 22:22:18.000000000 -0500
-+++ gcc-4.1.0/gcc/config/pa/pa-linux.h 2006-02-28 22:02:21.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/pa/pa-linux.h gcc-4.1.2/gcc/config/pa/pa-linux.h
+--- gcc-4.1.2.orig/gcc/config/pa/pa-linux.h    2007-01-12 02:23:38.000000000 +0000
++++ gcc-4.1.2/gcc/config/pa/pa-linux.h 2011-09-01 17:11:11.000000000 +0000
 @@ -55,7 +55,7 @@
    %{!shared: \
      %{!static: \
@@ -196,9 +255,9 @@ diff -Naur gcc-4.1.0.orig/gcc/config/pa/pa-linux.h gcc-4.1.0/gcc/config/pa/pa-li
        %{static:-static}}"
  
  /* glibc's profiling functions don't need gcc to allocate counters.  */
-diff -Naur gcc-4.1.0.orig/gcc/config/rs6000/linux64.h gcc-4.1.0/gcc/config/rs6000/linux64.h
---- gcc-4.1.0.orig/gcc/config/rs6000/linux64.h 2006-02-10 15:58:33.000000000 -0500
-+++ gcc-4.1.0/gcc/config/rs6000/linux64.h      2006-02-28 22:02:21.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/rs6000/linux64.h gcc-4.1.2/gcc/config/rs6000/linux64.h
+--- gcc-4.1.2.orig/gcc/config/rs6000/linux64.h 2006-02-10 20:58:33.000000000 +0000
++++ gcc-4.1.2/gcc/config/rs6000/linux64.h      2011-09-01 17:11:11.000000000 +0000
 @@ -339,11 +339,11 @@
  
  #define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
@@ -213,9 +272,9 @@ diff -Naur gcc-4.1.0.orig/gcc/config/rs6000/linux64.h gcc-4.1.0/gcc/config/rs600
  
  #undef  TOC_SECTION_ASM_OP
  #define TOC_SECTION_ASM_OP \
-diff -Naur gcc-4.1.0.orig/gcc/config/rs6000/sysv4.h gcc-4.1.0/gcc/config/rs6000/sysv4.h
---- gcc-4.1.0.orig/gcc/config/rs6000/sysv4.h   2006-02-10 15:58:33.000000000 -0500
-+++ gcc-4.1.0/gcc/config/rs6000/sysv4.h        2006-02-28 22:02:21.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/rs6000/sysv4.h gcc-4.1.2/gcc/config/rs6000/sysv4.h
+--- gcc-4.1.2.orig/gcc/config/rs6000/sysv4.h   2006-02-10 20:58:33.000000000 +0000
++++ gcc-4.1.2/gcc/config/rs6000/sysv4.h        2011-09-01 17:11:11.000000000 +0000
 @@ -1041,7 +1041,7 @@
  
  #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
@@ -234,9 +293,9 @@ diff -Naur gcc-4.1.0.orig/gcc/config/rs6000/sysv4.h gcc-4.1.0/gcc/config/rs6000/
  
  #define CPP_OS_GNU_SPEC "-D__unix__ -D__gnu_hurd__ -D__GNU__  \
  %{!undef:                                                     \
-diff -Naur gcc-4.1.0.orig/gcc/config/s390/linux.h gcc-4.1.0/gcc/config/s390/linux.h
---- gcc-4.1.0.orig/gcc/config/s390/linux.h     2006-02-11 03:38:51.000000000 -0500
-+++ gcc-4.1.0/gcc/config/s390/linux.h  2006-02-28 22:02:21.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/s390/linux.h gcc-4.1.2/gcc/config/s390/linux.h
+--- gcc-4.1.2.orig/gcc/config/s390/linux.h     2006-12-12 15:24:07.000000000 +0000
++++ gcc-4.1.2/gcc/config/s390/linux.h  2011-09-01 17:11:11.000000000 +0000
 @@ -86,8 +86,8 @@
        %{!static: \
        %{rdynamic:-export-dynamic} \
@@ -246,11 +305,122 @@ diff -Naur gcc-4.1.0.orig/gcc/config/s390/linux.h gcc-4.1.0/gcc/config/s390/linu
 +          %{m31:-dynamic-linker /tools/lib/ld.so.1} \
 +          %{m64:-dynamic-linker /tools/lib/ld64.so.1}}}}"
  
+ #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
  
- #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
-diff -Naur gcc-4.1.0.orig/gcc/config/sh/linux.h gcc-4.1.0/gcc/config/sh/linux.h
---- gcc-4.1.0.orig/gcc/config/sh/linux.h       2005-06-24 21:22:41.000000000 -0400
-+++ gcc-4.1.0/gcc/config/sh/linux.h    2006-02-28 22:02:21.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/s390/linux.h.orig gcc-4.1.2/gcc/config/s390/linux.h.orig
+--- gcc-4.1.2.orig/gcc/config/s390/linux.h.orig        1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.1.2/gcc/config/s390/linux.h.orig     2006-12-12 15:24:07.000000000 +0000
+@@ -0,0 +1,107 @@
++/* Definitions for Linux for S/390.
++   Copyright (C) 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
++   Contributed by Hartmut Penner (hpenner@de.ibm.com) and
++                  Ulrich Weigand (uweigand@de.ibm.com).
++
++This file is part of GCC.
++
++GCC is free software; you can redistribute it and/or modify it under
++the terms of the GNU General Public License as published by the Free
++Software Foundation; either version 2, or (at your option) any later
++version.
++
++GCC is distributed in the hope that it will be useful, but WITHOUT ANY
++WARRANTY; without even the implied warranty of MERCHANTABILITY or
++FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++for more details.
++
++You should have received a copy of the GNU General Public License
++along with GCC; see the file COPYING.  If not, write to the Free
++Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
++02110-1301, USA.  */
++
++#ifndef _LINUX_H
++#define _LINUX_H
++
++/* Target specific version string.  */
++
++#ifdef DEFAULT_TARGET_64BIT
++#undef  TARGET_VERSION
++#define TARGET_VERSION fprintf (stderr, " (Linux for zSeries)");
++#else
++#undef  TARGET_VERSION
++#define TARGET_VERSION fprintf (stderr, " (Linux for S/390)");
++#endif
++
++
++/* Target specific type definitions.  */
++
++/* ??? Do we really want long as size_t on 31-bit?  */
++#undef  SIZE_TYPE
++#define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "long unsigned int")
++#undef  PTRDIFF_TYPE
++#define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int")
++
++#undef  WCHAR_TYPE
++#define WCHAR_TYPE "int"
++#undef  WCHAR_TYPE_SIZE
++#define WCHAR_TYPE_SIZE 32
++
++
++/* Target specific preprocessor settings.  */
++
++#define TARGET_OS_CPP_BUILTINS()              \
++  do                                          \
++    {                                         \
++      LINUX_TARGET_OS_CPP_BUILTINS();         \
++      if (flag_pic)                           \
++        {                                     \
++          builtin_define ("__PIC__");         \
++          builtin_define ("__pic__");         \
++        }                                     \
++    }                                         \
++  while (0)
++
++
++/* Target specific assembler settings.  */
++
++#undef  ASM_SPEC
++#define ASM_SPEC "%{m31&m64}%{mesa&mzarch}%{march=*}"
++
++
++/* Target specific linker settings.  */
++
++#ifdef DEFAULT_TARGET_64BIT
++#define MULTILIB_DEFAULTS { "m64" }
++#else
++#define MULTILIB_DEFAULTS { "m31" }
++#endif
++
++#undef  LINK_SPEC
++#define LINK_SPEC \
++  "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
++   %{shared:-shared} \
++   %{!shared: \
++      %{static:-static} \
++      %{!static: \
++      %{rdynamic:-export-dynamic} \
++      %{!dynamic-linker: \
++          %{m31:-dynamic-linker /lib/ld.so.1} \
++          %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
++
++#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
++
++#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
++
++#define MD_UNWIND_SUPPORT "config/s390/linux-unwind.h"
++
++#ifdef TARGET_LIBC_PROVIDES_SSP
++/* s390 glibc provides __stack_chk_guard in 0x14(tp),
++   s390x glibc provides it at 0x28(tp).  */
++#define TARGET_THREAD_SSP_OFFSET        (TARGET_64BIT ? 0x28 : 0x14)
++#endif
++
++/* Define if long doubles should be mangled as 'g'.  */
++#define TARGET_ALTERNATE_LONG_DOUBLE_MANGLING
++
++#endif
+diff -Naur gcc-4.1.2.orig/gcc/config/sh/linux.h gcc-4.1.2/gcc/config/sh/linux.h
+--- gcc-4.1.2.orig/gcc/config/sh/linux.h       2005-06-25 01:22:41.000000000 +0000
++++ gcc-4.1.2/gcc/config/sh/linux.h    2011-09-01 17:11:11.000000000 +0000
 @@ -60,7 +60,7 @@
    "%{shared:-shared} \
     %{!static: \
@@ -260,28 +430,9 @@ diff -Naur gcc-4.1.0.orig/gcc/config/sh/linux.h gcc-4.1.0/gcc/config/sh/linux.h
     %{static:-static}"
  
  /* Output assembler code to STREAM to call the profiler.  */
-diff -Naur gcc-4.1.0.orig/gcc/config/sparc/linux.h gcc-4.1.0/gcc/config/sparc/linux.h
---- gcc-4.1.0.orig/gcc/config/sparc/linux.h    2006-02-11 03:38:51.000000000 -0500
-+++ gcc-4.1.0/gcc/config/sparc/linux.h 2006-02-28 22:02:21.000000000 -0500
-@@ -126,13 +126,13 @@
- /* If ELF is the default format, we should not use /lib/elf.  */
- #undef  LINK_SPEC
--#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
-+#define LINK_SPEC "-m elf32_sparc -Y P,/tools/lib %{shared:-shared} \
-   %{!mno-relax:%{!r:-relax}} \
-   %{!shared: \
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+        %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
-         %{static:-static}}}"
- /* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
-diff -Naur gcc-4.1.0.orig/gcc/config/sparc/linux64.h gcc-4.1.0/gcc/config/sparc/linux64.h
---- gcc-4.1.0.orig/gcc/config/sparc/linux64.h  2006-02-11 03:38:51.000000000 -0500
-+++ gcc-4.1.0/gcc/config/sparc/linux64.h       2006-02-28 22:02:21.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/sparc/linux64.h gcc-4.1.2/gcc/config/sparc/linux64.h
+--- gcc-4.1.2.orig/gcc/config/sparc/linux64.h  2006-02-11 08:38:51.000000000 +0000
++++ gcc-4.1.2/gcc/config/sparc/linux64.h       2011-09-01 17:11:11.000000000 +0000
 @@ -162,21 +162,21 @@
    { "link_arch_default", LINK_ARCH_DEFAULT_SPEC },      \
    { "link_arch",       LINK_ARCH_SPEC },
@@ -323,9 +474,28 @@ diff -Naur gcc-4.1.0.orig/gcc/config/sparc/linux64.h gcc-4.1.0/gcc/config/sparc/
          %{static:-static}}} \
  %{mlittle-endian:-EL} \
  %{!mno-relax:%{!r:-relax}} \
-diff -Naur gcc-4.1.0.orig/gcc/config/xtensa/linux.h gcc-4.1.0/gcc/config/xtensa/linux.h
---- gcc-4.1.0.orig/gcc/config/xtensa/linux.h   2005-06-24 21:22:41.000000000 -0400
-+++ gcc-4.1.0/gcc/config/xtensa/linux.h        2006-02-28 22:02:21.000000000 -0500
+diff -Naur gcc-4.1.2.orig/gcc/config/sparc/linux.h gcc-4.1.2/gcc/config/sparc/linux.h
+--- gcc-4.1.2.orig/gcc/config/sparc/linux.h    2006-02-11 08:38:51.000000000 +0000
++++ gcc-4.1.2/gcc/config/sparc/linux.h 2011-09-01 17:11:11.000000000 +0000
+@@ -126,13 +126,13 @@
+ /* If ELF is the default format, we should not use /lib/elf.  */
+ #undef  LINK_SPEC
+-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
++#define LINK_SPEC "-m elf32_sparc -Y P,/tools/lib %{shared:-shared} \
+   %{!mno-relax:%{!r:-relax}} \
+   %{!shared: \
+     %{!ibcs: \
+       %{!static: \
+         %{rdynamic:-export-dynamic} \
+-        %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
++        %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
+         %{static:-static}}}"
+ /* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
+diff -Naur gcc-4.1.2.orig/gcc/config/xtensa/linux.h gcc-4.1.2/gcc/config/xtensa/linux.h
+--- gcc-4.1.2.orig/gcc/config/xtensa/linux.h   2005-06-25 01:22:41.000000000 +0000
++++ gcc-4.1.2/gcc/config/xtensa/linux.h        2011-09-01 17:11:11.000000000 +0000
 @@ -50,7 +50,7 @@
      %{!ibcs: \
        %{!static: \