Submitted By: Joe Ciccone <jciccone@gmail.com>
Date: 07-25-2010
Initial Package Version: 3.4.6
Origin: Idea originally developed by Ryan Oliver and Greg Schafer for
        the Pure LFS project.
Upstream Status: Not Applied - CLFS Specific
Description: The specs patch changes the location of the dynamic linker as
             well as the link spec to /tools/lib{,32,64}. This patch in
             addition makes changes to the paths for pure64, eg 64bit libs
             in /usr/lib, 32bit in /usr/lib32.

diff -Naur gcc-4.5.0.orig/gcc/config/alpha/gnu.h gcc-4.5.0/gcc/config/alpha/gnu.h
--- gcc-4.5.0.orig/gcc/config/alpha/gnu.h	2009-04-21 15:03:23.000000000 -0400
+++ gcc-4.5.0/gcc/config/alpha/gnu.h	2010-07-25 16:12:35.229577160 -0400
@@ -34,7 +34,7 @@
     } while (0)
 
 #undef ELF_DYNAMIC_LINKER
-#define ELF_DYNAMIC_LINKER	"/lib/ld.so"
+#define ELF_DYNAMIC_LINKER	"/tools/lib/ld.so"
 
 #undef	STARTFILE_SPEC
 #define STARTFILE_SPEC \
diff -Naur gcc-4.5.0.orig/gcc/config/alpha/linux-elf.h gcc-4.5.0/gcc/config/alpha/linux-elf.h
--- gcc-4.5.0.orig/gcc/config/alpha/linux-elf.h	2007-08-02 06:49:31.000000000 -0400
+++ gcc-4.5.0/gcc/config/alpha/linux-elf.h	2010-07-25 16:12:35.225576640 -0400
@@ -27,8 +27,8 @@
 #define EXTRA_SPECS \
 { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
 
-#define GLIBC_DYNAMIC_LINKER	"/lib/ld-linux.so.2"
-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+#define GLIBC_DYNAMIC_LINKER	"/tools/lib/ld-linux.so.2"
+#define UCLIBC_DYNAMIC_LINKER "/tools/lib/ld-uClibc.so.0"
 #if UCLIBC_DEFAULT
 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}"
 #else
diff -Naur gcc-4.5.0.orig/gcc/config/arm/linux-eabi.h gcc-4.5.0/gcc/config/arm/linux-eabi.h
--- gcc-4.5.0.orig/gcc/config/arm/linux-eabi.h	2009-10-30 16:03:09.000000000 -0400
+++ gcc-4.5.0/gcc/config/arm/linux-eabi.h	2010-07-25 16:12:35.245577118 -0400
@@ -61,7 +61,7 @@
 /* Use ld-linux.so.3 so that it will be possible to run "classic"
    GNU/Linux binaries on an EABI system.  */
 #undef  GLIBC_DYNAMIC_LINKER
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
+#define GLIBC_DYNAMIC_LINKER "/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.5.0.orig/gcc/config/arm/linux-elf.h gcc-4.5.0/gcc/config/arm/linux-elf.h
--- gcc-4.5.0.orig/gcc/config/arm/linux-elf.h	2009-11-05 09:47:45.000000000 -0500
+++ gcc-4.5.0/gcc/config/arm/linux-elf.h	2010-07-25 16:12:35.245577118 -0400
@@ -62,7 +62,7 @@
 
 #define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
 
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
 
 #define LINUX_TARGET_LINK_SPEC  "%{h*} %{version:-v} \
    %{b} \
diff -Naur gcc-4.5.0.orig/gcc/config/bfin/linux.h gcc-4.5.0/gcc/config/bfin/linux.h
--- gcc-4.5.0.orig/gcc/config/bfin/linux.h	2009-09-03 11:37:28.000000000 -0400
+++ gcc-4.5.0/gcc/config/bfin/linux.h	2010-07-25 16:12:35.049578096 -0400
@@ -45,7 +45,7 @@
   %{shared:-G -Bdynamic} \
   %{!shared: %{!static: \
    %{rdynamic:-export-dynamic} \
-   %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
+   %{!dynamic-linker:-dynamic-linker /tools/lib/ld-uClibc.so.0}} \
    %{static}} -init __init -fini __fini"
 
 #define MD_UNWIND_SUPPORT "config/bfin/linux-unwind.h"
diff -Naur gcc-4.5.0.orig/gcc/config/cris/linux.h gcc-4.5.0/gcc/config/cris/linux.h
--- gcc-4.5.0.orig/gcc/config/cris/linux.h	2009-03-22 11:15:04.000000000 -0400
+++ gcc-4.5.0/gcc/config/cris/linux.h	2010-07-25 16:12:35.289576639 -0400
@@ -103,7 +103,7 @@
 #undef CRIS_DEFAULT_CPU_VERSION
 #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
 
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so.1"
 
 /* We need an -rpath-link to ld.so.1, and presumably to each directory
    specified with -B.  */
diff -Naur gcc-4.5.0.orig/gcc/config/freebsd-spec.h gcc-4.5.0/gcc/config/freebsd-spec.h
--- gcc-4.5.0.orig/gcc/config/freebsd-spec.h	2009-09-22 12:28:26.000000000 -0400
+++ gcc-4.5.0/gcc/config/freebsd-spec.h	2010-07-25 16:12:35.361577332 -0400
@@ -146,7 +146,7 @@
 #if FBSD_MAJOR < 6
 #define FBSD_DYNAMIC_LINKER "/usr/libexec/ld-elf.so.1"
 #else
-#define FBSD_DYNAMIC_LINKER "/libexec/ld-elf.so.1"
+#define FBSD_DYNAMIC_LINKER "/tools/libexec/ld-elf.so.1"
 #endif
 
 #if defined(HAVE_LD_EH_FRAME_HDR)
diff -Naur gcc-4.5.0.orig/gcc/config/frv/linux.h gcc-4.5.0/gcc/config/frv/linux.h
--- gcc-4.5.0.orig/gcc/config/frv/linux.h	2007-08-02 06:49:31.000000000 -0400
+++ gcc-4.5.0/gcc/config/frv/linux.h	2010-07-25 16:12:35.205578493 -0400
@@ -35,7 +35,7 @@
 #define ENDFILE_SPEC \
   "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
 
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so.1"
 
 #undef LINK_SPEC
 #define LINK_SPEC "\
diff -Naur gcc-4.5.0.orig/gcc/config/i386/gnu.h gcc-4.5.0/gcc/config/i386/gnu.h
--- gcc-4.5.0.orig/gcc/config/i386/gnu.h	2008-11-13 18:28:46.000000000 -0500
+++ gcc-4.5.0/gcc/config/i386/gnu.h	2010-07-25 16:12:35.317577305 -0400
@@ -21,7 +21,7 @@
 */
 
 #undef GLIBC_DYNAMIC_LINKER
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so"
 
 #undef TARGET_VERSION
 #define TARGET_VERSION fprintf (stderr, " (i386 GNU)");
diff -Naur gcc-4.5.0.orig/gcc/config/i386/linux.h gcc-4.5.0/gcc/config/i386/linux.h
--- gcc-4.5.0.orig/gcc/config/i386/linux.h	2010-03-24 16:44:48.000000000 -0400
+++ gcc-4.5.0/gcc/config/i386/linux.h	2010-07-25 16:12:35.305577262 -0400
@@ -100,7 +100,7 @@
 
 /* These macros may be overridden in k*bsd-gnu.h and i386/k*bsd-gnu.h. */
 #define LINK_EMULATION "elf_i386"
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
 
 #undef  ASM_SPEC
 #define ASM_SPEC \
diff -Naur gcc-4.5.0.orig/gcc/config/i386/linux64.h gcc-4.5.0/gcc/config/i386/linux64.h
--- gcc-4.5.0.orig/gcc/config/i386/linux64.h	2010-03-24 16:44:48.000000000 -0400
+++ gcc-4.5.0/gcc/config/i386/linux64.h	2010-07-25 16:12:35.325577625 -0400
@@ -58,8 +58,8 @@
    When the -shared link option is used a final link is not being
    done.  */
 
-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
+#define GLIBC_DYNAMIC_LINKER32 "/tools/lib32/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER64 "/tools/lib/ld-linux-x86-64.so.2"
 
 #if TARGET_64BIT_DEFAULT
 #define SPEC_32 "m32"
diff -Naur gcc-4.5.0.orig/gcc/config/i386/t-linux64 gcc-4.5.0/gcc/config/i386/t-linux64
--- gcc-4.5.0.orig/gcc/config/i386/t-linux64	2009-04-21 15:03:23.000000000 -0400
+++ gcc-4.5.0/gcc/config/i386/t-linux64	2010-07-25 16:15:29.253827449 -0400
@@ -25,7 +25,7 @@
 
 MULTILIB_OPTIONS = m64/m32
 MULTILIB_DIRNAMES = 64 32 
-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
+MULTILIB_OSDIRNAMES = ../lib ../lib32
 
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
diff -Naur gcc-4.5.0.orig/gcc/config/ia64/linux.h gcc-4.5.0/gcc/config/ia64/linux.h
--- gcc-4.5.0.orig/gcc/config/ia64/linux.h	2009-04-21 15:03:23.000000000 -0400
+++ gcc-4.5.0/gcc/config/ia64/linux.h	2010-07-25 16:12:35.185577234 -0400
@@ -61,7 +61,7 @@
 /* Define this for shared library support because it isn't in the main
    linux.h file.  */
 
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld-linux-ia64.so.2"
 
 #undef LINK_SPEC
 #define LINK_SPEC "\
diff -Naur gcc-4.5.0.orig/gcc/config/kfreebsd-gnu.h gcc-4.5.0/gcc/config/kfreebsd-gnu.h
--- gcc-4.5.0.orig/gcc/config/kfreebsd-gnu.h	2007-08-02 06:49:31.000000000 -0400
+++ gcc-4.5.0/gcc/config/kfreebsd-gnu.h	2010-07-25 16:12:35.333583583 -0400
@@ -33,5 +33,5 @@
 
 #ifdef GLIBC_DYNAMIC_LINKER
 #undef GLIBC_DYNAMIC_LINKER
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so.1"
 #endif
diff -Naur gcc-4.5.0.orig/gcc/config/knetbsd-gnu.h gcc-4.5.0/gcc/config/knetbsd-gnu.h
--- gcc-4.5.0.orig/gcc/config/knetbsd-gnu.h	2007-08-02 06:49:31.000000000 -0400
+++ gcc-4.5.0/gcc/config/knetbsd-gnu.h	2010-07-25 16:12:35.045577979 -0400
@@ -34,5 +34,5 @@
 
 #ifdef GLIBC_DYNAMIC_LINKER
 #undef GLIBC_DYNAMIC_LINKER
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so.1"
 #endif
diff -Naur gcc-4.5.0.orig/gcc/config/kopensolaris-gnu.h gcc-4.5.0/gcc/config/kopensolaris-gnu.h
--- gcc-4.5.0.orig/gcc/config/kopensolaris-gnu.h	2009-01-29 13:48:41.000000000 -0500
+++ gcc-4.5.0/gcc/config/kopensolaris-gnu.h	2010-07-25 16:12:35.073577415 -0400
@@ -33,5 +33,5 @@
 
 #ifdef GLIBC_DYNAMIC_LINKER
 #undef GLIBC_DYNAMIC_LINKER
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so.1"
 #endif
diff -Naur gcc-4.5.0.orig/gcc/config/linux.h gcc-4.5.0/gcc/config/linux.h
--- gcc-4.5.0.orig/gcc/config/linux.h	2009-04-09 11:00:19.000000000 -0400
+++ gcc-4.5.0/gcc/config/linux.h	2010-07-25 16:12:35.081581396 -0400
@@ -117,9 +117,9 @@
    GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
    GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
    supporting both 32-bit and 64-bit compilation.  */
-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
+#define UCLIBC_DYNAMIC_LINKER "/tools/lib/ld-uClibc.so.0"
+#define UCLIBC_DYNAMIC_LINKER32 "/tools/lib32/ld-uClibc.so.0"
+#define UCLIBC_DYNAMIC_LINKER64 "/tools/lib/ld64-uClibc.so.0"
 #define LINUX_DYNAMIC_LINKER \
   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
 #define LINUX_DYNAMIC_LINKER32 \
diff -Naur gcc-4.5.0.orig/gcc/config/lm32/uclinux-elf.h gcc-4.5.0/gcc/config/lm32/uclinux-elf.h
--- gcc-4.5.0.orig/gcc/config/lm32/uclinux-elf.h	2009-11-11 11:43:06.000000000 -0500
+++ gcc-4.5.0/gcc/config/lm32/uclinux-elf.h	2010-07-25 16:12:35.285576706 -0400
@@ -73,7 +73,7 @@
    %{shared:-shared} \
    %{symbolic:-Bsymbolic} \
    %{rdynamic:-export-dynamic} \
-   %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}"
+   %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}"
 
 #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
 
diff -Naur gcc-4.5.0.orig/gcc/config/m32r/linux.h gcc-4.5.0/gcc/config/m32r/linux.h
--- gcc-4.5.0.orig/gcc/config/m32r/linux.h	2007-08-02 06:49:31.000000000 -0400
+++ gcc-4.5.0/gcc/config/m32r/linux.h	2010-07-25 16:12:35.065578524 -0400
@@ -58,7 +58,7 @@
 
 /* If ELF is the default format, we should not use /lib/elf.  */
 
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
 
 #undef	LINK_SPEC
 #if TARGET_LITTLE_ENDIAN
diff -Naur gcc-4.5.0.orig/gcc/config/m68k/linux.h gcc-4.5.0/gcc/config/m68k/linux.h
--- gcc-4.5.0.orig/gcc/config/m68k/linux.h	2009-12-11 10:32:08.000000000 -0500
+++ gcc-4.5.0/gcc/config/m68k/linux.h	2010-07-25 16:12:35.145576353 -0400
@@ -84,7 +84,7 @@
 
 /* If ELF is the default format, we should not use /lib/elf.  */
 
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so.1"
 
 #undef LINK_SPEC
 #define LINK_SPEC "-m m68kelf %{shared} \
diff -Naur gcc-4.5.0.orig/gcc/config/mips/linux.h gcc-4.5.0/gcc/config/mips/linux.h
--- gcc-4.5.0.orig/gcc/config/mips/linux.h	2009-02-20 10:20:38.000000000 -0500
+++ gcc-4.5.0/gcc/config/mips/linux.h	2010-07-25 16:12:35.089577491 -0400
@@ -64,7 +64,7 @@
 #undef MIPS_DEFAULT_GVALUE
 #define MIPS_DEFAULT_GVALUE 0
 
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so.1"
 
 /* Borrowed from sparc/linux.h */
 #undef LINK_SPEC
diff -Naur gcc-4.5.0.orig/gcc/config/mips/linux64.h gcc-4.5.0/gcc/config/mips/linux64.h
--- gcc-4.5.0.orig/gcc/config/mips/linux64.h	2009-02-20 10:20:38.000000000 -0500
+++ gcc-4.5.0/gcc/config/mips/linux64.h	2010-07-25 16:12:35.113577273 -0400
@@ -35,10 +35,10 @@
 %{!shared: \
   %{profile:-lc_p} %{!profile:-lc}}"
 
-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld.so.1"
-#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
-#define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
+#define GLIBC_DYNAMIC_LINKER32 "/tools/lib32/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER64 "/tools/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKERN32 "/tools/lib64/ld.so.1"
+#define UCLIBC_DYNAMIC_LINKERN32 "/tools/lib64/ld-uClibc.so.0"
 #define LINUX_DYNAMIC_LINKERN32 \
   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
 
diff -Naur gcc-4.5.0.orig/gcc/config/mips/t-linux64 gcc-4.5.0/gcc/config/mips/t-linux64
--- gcc-4.5.0.orig/gcc/config/mips/t-linux64	2009-04-21 15:03:23.000000000 -0400
+++ gcc-4.5.0/gcc/config/mips/t-linux64	2010-07-25 16:14:09.345576578 -0400
@@ -18,7 +18,7 @@
 
 MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
 MULTILIB_DIRNAMES = n32 32 64
-MULTILIB_OSDIRNAMES = ../lib32 ../lib ../lib64
+MULTILIB_OSDIRNAMES = ../lib64 ../lib32 ../lib
 
 EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
 
diff -Naur gcc-4.5.0.orig/gcc/config/mn10300/linux.h gcc-4.5.0/gcc/config/mn10300/linux.h
--- gcc-4.5.0.orig/gcc/config/mn10300/linux.h	2007-08-02 06:49:31.000000000 -0400
+++ gcc-4.5.0/gcc/config/mn10300/linux.h	2010-07-25 16:12:35.153580072 -0400
@@ -32,7 +32,7 @@
 #undef  ASM_SPEC
 #define ASM_SPEC "%{Wa,*:%*}"
 
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so.1"
 
 #undef  LINK_SPEC
 #define LINK_SPEC "%{mrelax:--relax} %{shared:-shared} \
diff -Naur gcc-4.5.0.orig/gcc/config/pa/pa-linux.h gcc-4.5.0/gcc/config/pa/pa-linux.h
--- gcc-4.5.0.orig/gcc/config/pa/pa-linux.h	2009-12-04 02:47:51.000000000 -0500
+++ gcc-4.5.0/gcc/config/pa/pa-linux.h	2010-07-25 16:12:35.269577363 -0400
@@ -38,7 +38,7 @@
 /* Define this for shared library support because it isn't in the main
    linux.h file.  */
 
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so.1"
 
 #undef LINK_SPEC
 #define LINK_SPEC "\
diff -Naur gcc-4.5.0.orig/gcc/config/rs6000/linux64.h gcc-4.5.0/gcc/config/rs6000/linux64.h
--- gcc-4.5.0.orig/gcc/config/rs6000/linux64.h	2010-03-17 00:44:37.000000000 -0400
+++ gcc-4.5.0/gcc/config/rs6000/linux64.h	2010-07-25 16:12:35.129577292 -0400
@@ -348,10 +348,10 @@
 #undef	LINK_OS_DEFAULT_SPEC
 #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
 
-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld64.so.1"
-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
+#define GLIBC_DYNAMIC_LINKER32 "/tools/lib32/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER64 "/tools/lib/ld64.so.1"
+#define UCLIBC_DYNAMIC_LINKER32 "/tools/lib32/ld-uClibc.so.0"
+#define UCLIBC_DYNAMIC_LINKER64 "/tools/lib/ld64-uClibc.so.0"
 #if UCLIBC_DEFAULT
 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}"
 #else
diff -Naur gcc-4.5.0.orig/gcc/config/rs6000/sysv4.h gcc-4.5.0/gcc/config/rs6000/sysv4.h
--- gcc-4.5.0.orig/gcc/config/rs6000/sysv4.h	2009-11-25 15:23:20.000000000 -0500
+++ gcc-4.5.0/gcc/config/rs6000/sysv4.h	2010-07-25 16:12:35.117577311 -0400
@@ -901,8 +901,8 @@
 
 #define LINK_START_LINUX_SPEC ""
 
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so.1"
+#define UCLIBC_DYNAMIC_LINKER "/tools/lib/ld-uClibc.so.0"
 #if UCLIBC_DEFAULT
 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}"
 #else
@@ -944,7 +944,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.5.0.orig/gcc/config/rs6000/t-linux64 gcc-4.5.0/gcc/config/rs6000/t-linux64
--- gcc-4.5.0.orig/gcc/config/rs6000/t-linux64	2009-04-21 15:03:23.000000000 -0400
+++ gcc-4.5.0/gcc/config/rs6000/t-linux64	2010-07-25 16:14:58.202326412 -0400
@@ -36,7 +36,7 @@
 MULTILIB_EXTRA_OPTS     = fPIC mstrict-align
 MULTILIB_EXCEPTIONS     = m64/msoft-float
 MULTILIB_EXCLUSIONS     = m64/!m32/msoft-float
-MULTILIB_OSDIRNAMES	= ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof
+MULTILIB_OSDIRNAMES	= ../lib ../lib32 nof
 MULTILIB_MATCHES        = $(MULTILIB_MATCHES_FLOAT)
 
 softfp_wrap_start := '\#ifndef __powerpc64__'
diff -Naur gcc-4.5.0.orig/gcc/config/s390/linux.h gcc-4.5.0/gcc/config/s390/linux.h
--- gcc-4.5.0.orig/gcc/config/s390/linux.h	2007-08-02 06:49:31.000000000 -0400
+++ gcc-4.5.0/gcc/config/s390/linux.h	2010-07-25 16:12:35.145576353 -0400
@@ -72,8 +72,8 @@
 #define MULTILIB_DEFAULTS { "m31" }
 #endif
 
-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
-#define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
+#define GLIBC_DYNAMIC_LINKER32 "/tools/lib32/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER64 "/tools/lib/ld64.so.1"
 
 #undef  LINK_SPEC
 #define LINK_SPEC \
diff -Naur gcc-4.5.0.orig/gcc/config/s390/t-linux64 gcc-4.5.0/gcc/config/s390/t-linux64
--- gcc-4.5.0.orig/gcc/config/s390/t-linux64	2009-10-07 04:26:47.000000000 -0400
+++ gcc-4.5.0/gcc/config/s390/t-linux64	2010-07-25 16:15:08.293701559 -0400
@@ -1,3 +1,3 @@
 MULTILIB_OPTIONS = m64/m31
 MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = ../lib64 ../lib
+MULTILIB_OSDIRNAMES = ../lib ../lib32
diff -Naur gcc-4.5.0.orig/gcc/config/sh/linux.h gcc-4.5.0/gcc/config/sh/linux.h
--- gcc-4.5.0.orig/gcc/config/sh/linux.h	2007-08-02 06:49:31.000000000 -0400
+++ gcc-4.5.0/gcc/config/sh/linux.h	2010-07-25 16:12:35.341576592 -0400
@@ -47,7 +47,7 @@
 
 #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
 
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
 
 #undef SUBTARGET_LINK_EMUL_SUFFIX
 #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
diff -Naur gcc-4.5.0.orig/gcc/config/sparc/linux.h gcc-4.5.0/gcc/config/sparc/linux.h
--- gcc-4.5.0.orig/gcc/config/sparc/linux.h	2009-12-07 18:31:01.000000000 -0500
+++ gcc-4.5.0/gcc/config/sparc/linux.h	2010-07-25 16:12:35.361577332 -0400
@@ -83,10 +83,10 @@
 
 /* If ELF is the default format, we should not use /lib/elf.  */
 
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
 
 #undef  LINK_SPEC
-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
+#define LINK_SPEC "-m elf32_sparc -Y P,/tools/lib32 %{shared:-shared} \
   %{!mno-relax:%{!r:-relax}} \
   %{!shared: \
     %{!ibcs: \
diff -Naur gcc-4.5.0.orig/gcc/config/sparc/linux64.h gcc-4.5.0/gcc/config/sparc/linux64.h
--- gcc-4.5.0.orig/gcc/config/sparc/linux64.h	2009-12-07 18:31:01.000000000 -0500
+++ gcc-4.5.0/gcc/config/sparc/linux64.h	2010-07-25 16:12:35.369577243 -0400
@@ -109,8 +109,8 @@
 
 /* If ELF is the default format, we should not use /lib/elf.  */
 
-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER32 "/tools/lib32/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER64 "/tools/lib/ld-linux.so.2"
 
 #ifdef SPARC_BI_ARCH
 
@@ -121,7 +121,7 @@
   { "link_arch_default", LINK_ARCH_DEFAULT_SPEC },	  \
   { "link_arch",	 LINK_ARCH_SPEC },
 
-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \
+#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/tools/lib32 %{shared:-shared} \
   %{!shared: \
     %{!ibcs: \
       %{!static: \
@@ -130,7 +130,7 @@
         %{static:-static}}} \
 "
 
-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
+#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/tools/lib %{shared:-shared} \
   %{!shared: \
     %{!ibcs: \
       %{!static: \
@@ -211,7 +211,7 @@
 #else /* !SPARC_BI_ARCH */
 
 #undef LINK_SPEC
-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
+#define LINK_SPEC "-m elf64_sparc -Y P,%R/tools/lib %{shared:-shared} \
   %{!shared: \
     %{!ibcs: \
       %{!static: \
diff -Naur gcc-4.5.0.orig/gcc/config/sparc/t-linux64 gcc-4.5.0/gcc/config/sparc/t-linux64
--- gcc-4.5.0.orig/gcc/config/sparc/t-linux64	2009-04-21 15:03:23.000000000 -0400
+++ gcc-4.5.0/gcc/config/sparc/t-linux64	2010-07-25 16:15:41.705578470 -0400
@@ -19,7 +19,7 @@
 
 MULTILIB_OPTIONS = m64/m32
 MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = ../lib64 ../lib
+MULTILIB_OSDIRNAMES = ../lib ../lib32
 
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
diff -Naur gcc-4.5.0.orig/gcc/config/vax/linux.h gcc-4.5.0/gcc/config/vax/linux.h
--- gcc-4.5.0.orig/gcc/config/vax/linux.h	2009-11-03 19:07:24.000000000 -0500
+++ gcc-4.5.0/gcc/config/vax/linux.h	2010-07-25 16:12:35.269577363 -0400
@@ -44,5 +44,5 @@
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
     %{static:-static}}"
diff -Naur gcc-4.5.0.orig/gcc/config/xtensa/linux.h gcc-4.5.0/gcc/config/xtensa/linux.h
--- gcc-4.5.0.orig/gcc/config/xtensa/linux.h	2008-01-17 20:37:53.000000000 -0500
+++ gcc-4.5.0/gcc/config/xtensa/linux.h	2010-07-25 16:12:35.081581396 -0400
@@ -43,7 +43,7 @@
   %{mlongcalls:--longcalls} \
   %{mno-longcalls:--no-longcalls}"
 
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so.1"
 
 #undef LINK_SPEC
 #define LINK_SPEC \
