Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
Date: 2006-08-21
Initial Package Version: 4.1.1
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.
	Modified to Support a 32-Bit only build on a Multilib System

diff -Naur gcc-4.1.1.orig/gcc/config/alpha/linux-elf.h gcc-4.1.1/gcc/config/alpha/linux-elf.h
--- gcc-4.1.1.orig/gcc/config/alpha/linux-elf.h	2005-06-24 18:22:41.000000000 -0700
+++ gcc-4.1.1/gcc/config/alpha/linux-elf.h	2006-08-21 21:15:03.061321964 -0700
@@ -27,7 +27,7 @@
 #define SUBTARGET_EXTRA_SPECS \
 { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
 
-#define ELF_DYNAMIC_LINKER	"/lib/ld-linux.so.2"
+#define ELF_DYNAMIC_LINKER	"/tools/lib/ld-linux.so.2"
 
 #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax}		\
   %{O*:-O3} %{!O*:-O1}						\
diff -Naur gcc-4.1.1.orig/gcc/config/arm/linux-elf.h gcc-4.1.1/gcc/config/arm/linux-elf.h
--- gcc-4.1.1.orig/gcc/config/arm/linux-elf.h	2005-10-09 18:04:31.000000000 -0700
+++ gcc-4.1.1/gcc/config/arm/linux-elf.h	2006-08-21 21:15:03.061321964 -0700
@@ -51,7 +51,7 @@
 
 #define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
 
-#define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.2"
+#define LINUX_TARGET_INTERPRETER "/tools/lib/ld-linux.so.2"
 
 #define LINUX_TARGET_LINK_SPEC  "%{h*} %{version:-v} \
    %{b} \
diff -Naur gcc-4.1.1.orig/gcc/config/frv/linux.h gcc-4.1.1/gcc/config/frv/linux.h
--- gcc-4.1.1.orig/gcc/config/frv/linux.h	2005-06-24 18:22:41.000000000 -0700
+++ gcc-4.1.1/gcc/config/frv/linux.h	2006-08-21 21:15:03.061321964 -0700
@@ -41,7 +41,7 @@
   %{mfdpic: -m elf32frvfd -z text} %{shared} %{pie} \
   %{!shared: %{!static: \
    %{rdynamic:-export-dynamic} \
-   %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
+   %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
    %{static}}"
 
 /* Support for compile-time default CPU.  */
diff -Naur gcc-4.1.1.orig/gcc/config/i386/gnu.h gcc-4.1.1/gcc/config/i386/gnu.h
--- gcc-4.1.1.orig/gcc/config/i386/gnu.h	2004-09-07 17:17:19.000000000 -0700
+++ gcc-4.1.1/gcc/config/i386/gnu.h	2006-08-21 21:15:03.065321867 -0700
@@ -27,7 +27,7 @@
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{!dynamic-linker:-dynamic-linker /lib/ld.so}} \
+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so}} \
     %{static:-static}}"
 
 #undef	STARTFILE_SPEC
diff -Naur gcc-4.1.1.orig/gcc/config/i386/linux.h gcc-4.1.1/gcc/config/i386/linux.h
--- gcc-4.1.1.orig/gcc/config/i386/linux.h	2005-08-10 10:53:01.000000000 -0700
+++ gcc-4.1.1/gcc/config/i386/linux.h	2006-08-21 21:15:03.065321867 -0700
@@ -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.1.orig/gcc/config/i386/linux64.h gcc-4.1.1/gcc/config/i386/linux64.h
--- gcc-4.1.1.orig/gcc/config/i386/linux64.h	2005-08-10 10:53:01.000000000 -0700
+++ gcc-4.1.1/gcc/config/i386/linux64.h	2006-08-21 21:15:03.065321867 -0700
@@ -60,8 +60,8 @@
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-      %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
+      %{m32:%{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
+      %{!m32:%{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux-x86-64.so.2}}} \
     %{static:-static}}"
 
 /* Similar to standard Linux, but adding -ffast-math support.  */
diff -Naur gcc-4.1.1.orig/gcc/config/ia64/linux.h gcc-4.1.1/gcc/config/ia64/linux.h
--- gcc-4.1.1.orig/gcc/config/ia64/linux.h	2004-09-07 17:17:19.000000000 -0700
+++ gcc-4.1.1/gcc/config/ia64/linux.h	2006-08-21 21:15:03.065321867 -0700
@@ -43,7 +43,7 @@
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux-ia64.so.2}} \
       %{static:-static}}"
 
 
diff -Naur gcc-4.1.1.orig/gcc/config/linux.h gcc-4.1.1/gcc/config/linux.h
--- gcc-4.1.1.orig/gcc/config/linux.h	2005-08-06 06:26:35.000000000 -0700
+++ gcc-4.1.1/gcc/config/linux.h	2006-08-21 21:15:03.065321867 -0700
@@ -104,3 +104,7 @@
 #define TARGET_C99_FUNCTIONS 1
 
 #define TARGET_POSIX_IO
+
+/* 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.1.orig/gcc/config/m32r/linux.h gcc-4.1.1/gcc/config/m32r/linux.h
--- gcc-4.1.1.orig/gcc/config/m32r/linux.h	2005-07-08 03:00:15.000000000 -0700
+++ gcc-4.1.1/gcc/config/m32r/linux.h	2006-08-21 21:15:03.065321867 -0700
@@ -66,7 +66,7 @@
     %{!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}}}"
 #else
 #define LINK_SPEC "%(link_cpu) -m m32relf_linux %{shared:-shared} \
@@ -74,7 +74,7 @@
     %{!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}}}"
 #endif
 
diff -Naur gcc-4.1.1.orig/gcc/config/m68k/linux.h gcc-4.1.1/gcc/config/m68k/linux.h
--- gcc-4.1.1.orig/gcc/config/m68k/linux.h	2005-06-24 18:22:41.000000000 -0700
+++ gcc-4.1.1/gcc/config/m68k/linux.h	2006-08-21 21:15:03.069321770 -0700
@@ -128,7 +128,7 @@
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
+      %{!dynamic-linker*:-dynamic-linker /tools/lib/ld.so.1}} \
     %{static}}"
 
 /* For compatibility with linux/a.out */
diff -Naur gcc-4.1.1.orig/gcc/config/mips/linux.h gcc-4.1.1/gcc/config/mips/linux.h
--- gcc-4.1.1.orig/gcc/config/mips/linux.h	2005-06-24 18:22:41.000000000 -0700
+++ gcc-4.1.1/gcc/config/mips/linux.h	2006-08-21 21:15:03.069321770 -0700
@@ -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.1.orig/gcc/config/mips/linux64.h gcc-4.1.1/gcc/config/mips/linux64.h
--- gcc-4.1.1.orig/gcc/config/mips/linux64.h	2005-06-24 18:22:41.000000000 -0700
+++ gcc-4.1.1/gcc/config/mips/linux64.h	2006-08-21 21:15:03.069321770 -0700
@@ -47,9 +47,9 @@
       %{!static: \
         %{rdynamic:-export-dynamic} \
         %{!dynamic-linker: \
-	  %{mabi=n32: -dynamic-linker /lib32/ld.so.1} \
-	  %{mabi=64: -dynamic-linker /lib64/ld.so.1} \
-	  %{mabi=32: -dynamic-linker /lib/ld.so.1}}} \
+	  %{mabi=n32: -dynamic-linker /tools/lib32/ld.so.1} \
+	  %{mabi=64: -dynamic-linker /tools/lib64/ld.so.1} \
+	  %{mabi=32: -dynamic-linker /tools/lib/ld.so.1}}} \
       %{static:-static}}} \
 %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} \
 %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip} \
diff -Naur gcc-4.1.1.orig/gcc/config/mn10300/linux.h gcc-4.1.1/gcc/config/mn10300/linux.h
--- gcc-4.1.1.orig/gcc/config/mn10300/linux.h	2005-06-24 18:22:41.000000000 -0700
+++ gcc-4.1.1/gcc/config/mn10300/linux.h	2006-08-21 21:15:03.069321770 -0700
@@ -37,7 +37,7 @@
 #define LINK_SPEC "%{mrelax:--relax} %{shared:-shared} \
    %{!static: \
      %{rdynamic:-export-dynamic} \
-     %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
+     %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
    %{static:-static}"
 
 #undef  PROCESSOR_DEFAULT
diff -Naur gcc-4.1.1.orig/gcc/config/pa/pa-linux.h gcc-4.1.1/gcc/config/pa/pa-linux.h
--- gcc-4.1.1.orig/gcc/config/pa/pa-linux.h	2005-11-17 19:22:18.000000000 -0800
+++ gcc-4.1.1/gcc/config/pa/pa-linux.h	2006-08-21 21:15:03.069321770 -0700
@@ -55,7 +55,7 @@
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
       %{static:-static}}"
 
 /* glibc's profiling functions don't need gcc to allocate counters.  */
diff -Naur gcc-4.1.1.orig/gcc/config/rs6000/linux64.h gcc-4.1.1/gcc/config/rs6000/linux64.h
--- gcc-4.1.1.orig/gcc/config/rs6000/linux64.h	2006-02-10 12:58:33.000000000 -0800
+++ gcc-4.1.1/gcc/config/rs6000/linux64.h	2006-08-21 21:15:03.069321770 -0700
@@ -339,11 +339,11 @@
 
 #define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
   %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
+  %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
 
 #define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
   %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker /lib64/ld64.so.1}}}"
+  %{!dynamic-linker:-dynamic-linker /tools/lib64/ld64.so.1}}}"
 
 #undef  TOC_SECTION_ASM_OP
 #define TOC_SECTION_ASM_OP \
diff -Naur gcc-4.1.1.orig/gcc/config/rs6000/sysv4.h gcc-4.1.1/gcc/config/rs6000/sysv4.h
--- gcc-4.1.1.orig/gcc/config/rs6000/sysv4.h	2006-02-10 12:58:33.000000000 -0800
+++ gcc-4.1.1/gcc/config/rs6000/sysv4.h	2006-08-21 21:15:03.073321673 -0700
@@ -1041,7 +1041,7 @@
 
 #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
   %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
+  %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
 
 #if defined(HAVE_LD_EH_FRAME_HDR)
 # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
@@ -1072,7 +1072,7 @@
 
 #define LINK_OS_GNU_SPEC "-m elf32ppclinux %{!shared: %{!static: \
   %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
+  %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
 
 #define CPP_OS_GNU_SPEC "-D__unix__ -D__gnu_hurd__ -D__GNU__	\
 %{!undef:					                \
diff -Naur gcc-4.1.1.orig/gcc/config/s390/linux.h gcc-4.1.1/gcc/config/s390/linux.h
--- gcc-4.1.1.orig/gcc/config/s390/linux.h	2006-02-11 00:38:51.000000000 -0800
+++ gcc-4.1.1/gcc/config/s390/linux.h	2006-08-21 21:15:03.073321673 -0700
@@ -86,8 +86,8 @@
       %{!static: \
 	%{rdynamic:-export-dynamic} \
 	%{!dynamic-linker: \
-          %{m31:-dynamic-linker /lib/ld.so.1} \
-          %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
+          %{m31:-dynamic-linker /tools/lib/ld.so.1} \
+          %{m64:-dynamic-linker /tools/lib/ld64.so.1}}}}"
 
 
 #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
diff -Naur gcc-4.1.1.orig/gcc/config/sh/linux.h gcc-4.1.1/gcc/config/sh/linux.h
--- gcc-4.1.1.orig/gcc/config/sh/linux.h	2005-06-24 18:22:41.000000000 -0700
+++ gcc-4.1.1/gcc/config/sh/linux.h	2006-08-21 21:15:03.073321673 -0700
@@ -60,7 +60,7 @@
   "%{shared:-shared} \
    %{!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}"
 
 /* Output assembler code to STREAM to call the profiler.  */
diff -Naur gcc-4.1.1.orig/gcc/config/sparc/linux.h gcc-4.1.1/gcc/config/sparc/linux.h
--- gcc-4.1.1.orig/gcc/config/sparc/linux.h	2006-02-11 00:38:51.000000000 -0800
+++ gcc-4.1.1/gcc/config/sparc/linux.h	2006-08-21 21:15:03.073321673 -0700
@@ -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.1.orig/gcc/config/sparc/linux64.h gcc-4.1.1/gcc/config/sparc/linux64.h
--- gcc-4.1.1.orig/gcc/config/sparc/linux64.h	2006-02-11 00:38:51.000000000 -0800
+++ gcc-4.1.1/gcc/config/sparc/linux64.h	2006-08-21 21:15:03.073321673 -0700
@@ -162,21 +162,21 @@
   { "link_arch_default", LINK_ARCH_DEFAULT_SPEC },	  \
   { "link_arch",	 LINK_ARCH_SPEC },
     
-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
+#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/tools/lib %{shared:-shared} \
   %{!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}}} \
 "
 
-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
+#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/tools/lib64 %{shared:-shared} \
   %{!shared: \
     %{!ibcs: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker /lib64/ld-linux.so.2}} \
+        %{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux.so.2}} \
         %{static:-static}}} \
 "
 
@@ -252,12 +252,12 @@
 #else /* !SPARC_BI_ARCH */
 
 #undef LINK_SPEC
-#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
+#define LINK_SPEC "-m elf64_sparc -Y P,/tools/lib64 %{shared:-shared} \
   %{!shared: \
     %{!ibcs: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker /lib64/ld-linux.so.2}} \
+        %{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux.so.2}} \
         %{static:-static}}} \
 %{mlittle-endian:-EL} \
 %{!mno-relax:%{!r:-relax}} \
diff -Naur gcc-4.1.1.orig/gcc/config/xtensa/linux.h gcc-4.1.1/gcc/config/xtensa/linux.h
--- gcc-4.1.1.orig/gcc/config/xtensa/linux.h	2005-06-24 18:22:41.000000000 -0700
+++ gcc-4.1.1/gcc/config/xtensa/linux.h	2006-08-21 21:15:03.073321673 -0700
@@ -50,7 +50,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 LOCAL_LABEL_PREFIX
