Index: BOOK/introduction/common/changelog.xml
===================================================================
--- BOOK/introduction/common/changelog.xml	(revision 3a63c0d15b8ad8d840ef5cfceabc960802823188)
+++ BOOK/introduction/common/changelog.xml	(revision 670bf2c7c0c2aa2b2125f2e60da6e7da37427068)
@@ -41,4 +41,7 @@
       <para>January 8, 2011</para>
       <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated GCC to 4.5.2.</para>
+        </listitem>
         <listitem>
           <para>[Jonathan] - Corrected links for; expect, iana-etc and perl.</para>
Index: BOOK/packages.ent
===================================================================
--- BOOK/packages.ent	(revision 3a63c0d15b8ad8d840ef5cfceabc960802823188)
+++ BOOK/packages.ent	(revision 670bf2c7c0c2aa2b2125f2e60da6e7da37427068)
@@ -163,8 +163,8 @@
 <!ENTITY gawk-home "&gnu-software;gawk">
 
-<!ENTITY gcc-version "4.5.1">
-<!ENTITY gcc-size "64,576 KB">
+<!ENTITY gcc-version "4.5.2">
+<!ENTITY gcc-size "64,776 KB">
 <!ENTITY gcc-url "ftp://gcc.gnu.org/pub/gcc/releases/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2">
-<!ENTITY gcc-md5 "48231a8e33ed6e058a341c53b819de1a">
+<!ENTITY gcc-md5 "d6559145853fbaaa0fd7556ed93bce9a">
 <!ENTITY gcc-home "http://gcc.gnu.org">
 
Index: BOOK/patches.ent
===================================================================
--- BOOK/patches.ent	(revision 3a63c0d15b8ad8d840ef5cfceabc960802823188)
+++ BOOK/patches.ent	(revision 670bf2c7c0c2aa2b2125f2e60da6e7da37427068)
@@ -26,5 +26,5 @@
 
 <!ENTITY gcc-specs-patch "gcc-&gcc-version;-specs-1.patch">
-<!ENTITY gcc-specs-patch-md5 "9ba70e5765be93577166d824064e675a">
+<!ENTITY gcc-specs-patch-md5 "15e207e152928cb307f38aa0c0924429">
 <!ENTITY gcc-specs-patch-size "20 KB">
 
@@ -93,10 +93,10 @@
 <!-- Start of Pure64 patches -->
 
-<!ENTITY gcc-pure64-patch "gcc-&gcc-version;-pure64-2.patch">
-<!ENTITY gcc-pure64-patch-md5 "52943011d3b180db54d067b173266bb4">
+<!ENTITY gcc-pure64-patch "gcc-&gcc-version;-pure64-1.patch">
+<!ENTITY gcc-pure64-patch-md5 "9f230c4d6fc288405d831aaf02ef8a69">
 <!ENTITY gcc-pure64-patch-size "12 KB">
 
 <!ENTITY gcc-specs_pure64-patch "gcc-&gcc-version;-pure64_specs-1.patch">
-<!ENTITY gcc-specs_pure64-patch-md5 "f8869dbc04a7aa55e5ec8885f4e7515b">
+<!ENTITY gcc-specs_pure64-patch-md5 "bdf42c85af936319438f912a3870e3ea">
 <!ENTITY gcc-specs_pure64-patch-size "24 KB">
 
Index: tches/gcc-4.5.1-pure64-2.patch
===================================================================
--- patches/gcc-4.5.1-pure64-2.patch	(revision 3a63c0d15b8ad8d840ef5cfceabc960802823188)
+++ 	(revision )
@@ -1,190 +1,0 @@
-ubmitted 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: This patch makes changes to the paths for pure64, eg 64bit libs
-             in /usr/lib, 32bit in /usr/lib32.
-
-diff -Naur gcc-4.5.1.orig/gcc/config/i386/linux64.h gcc-4.5.1/gcc/config/i386/linux64.h
---- gcc-4.5.1.orig/gcc/config/i386/linux64.h	2010-03-24 20:44:48.000000000 +0000
-+++ gcc-4.5.1/gcc/config/i386/linux64.h	2010-08-08 22:28:13.875438085 +0000
-@@ -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 "/lib32/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
- 
- #if TARGET_64BIT_DEFAULT
- #define SPEC_32 "m32"
-diff -Naur gcc-4.5.1.orig/gcc/config/i386/t-linux64 gcc-4.5.1/gcc/config/i386/t-linux64
---- gcc-4.5.1.orig/gcc/config/i386/t-linux64	2009-04-21 19:03:23.000000000 +0000
-+++ gcc-4.5.1/gcc/config/i386/t-linux64	2010-08-08 22:28:13.875438085 +0000
-@@ -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.1.orig/gcc/config/linux.h gcc-4.5.1/gcc/config/linux.h
---- gcc-4.5.1.orig/gcc/config/linux.h	2009-04-09 15:00:19.000000000 +0000
-+++ gcc-4.5.1/gcc/config/linux.h	2010-08-08 22:28:13.878326405 +0000
-@@ -118,7 +118,7 @@
-    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_LINKER32 "/lib32/ld-uClibc.so.0"
- #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
- #define LINUX_DYNAMIC_LINKER \
-   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
-diff -Naur gcc-4.5.1.orig/gcc/config/mips/linux64.h gcc-4.5.1/gcc/config/mips/linux64.h
---- gcc-4.5.1.orig/gcc/config/mips/linux64.h	2009-02-20 15:20:38.000000000 +0000
-+++ gcc-4.5.1/gcc/config/mips/linux64.h	2010-08-08 22:28:13.878326405 +0000
-@@ -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 "/lib32/ld.so.1"
-+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld.so.1"
-+#define GLIBC_DYNAMIC_LINKERN32 "/lib64/ld.so.1"
-+#define UCLIBC_DYNAMIC_LINKERN32 "/lib64/ld-uClibc.so.0"
- #define LINUX_DYNAMIC_LINKERN32 \
-   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
- 
-diff -Naur gcc-4.5.1.orig/gcc/config/mips/t-linux64 gcc-4.5.1/gcc/config/mips/t-linux64
---- gcc-4.5.1.orig/gcc/config/mips/t-linux64	2009-04-21 19:03:23.000000000 +0000
-+++ gcc-4.5.1/gcc/config/mips/t-linux64	2010-08-08 22:28:13.878326405 +0000
-@@ -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.1.orig/gcc/config/rs6000/linux64.h gcc-4.5.1/gcc/config/rs6000/linux64.h
---- gcc-4.5.1.orig/gcc/config/rs6000/linux64.h	2010-03-17 04:44:37.000000000 +0000
-+++ gcc-4.5.1/gcc/config/rs6000/linux64.h	2010-08-08 22:28:13.878326405 +0000
-@@ -348,9 +348,9 @@
- #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 GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
-+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
-+#define UCLIBC_DYNAMIC_LINKER32 "/lib32/ld-uClibc.so.0"
- #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
- #if UCLIBC_DEFAULT
- #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}"
-diff -Naur gcc-4.5.1.orig/gcc/config/rs6000/t-linux64 gcc-4.5.1/gcc/config/rs6000/t-linux64
---- gcc-4.5.1.orig/gcc/config/rs6000/t-linux64	2009-04-21 19:03:23.000000000 +0000
-+++ gcc-4.5.1/gcc/config/rs6000/t-linux64	2010-08-08 22:28:13.878326405 +0000
-@@ -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.1.orig/gcc/config/s390/linux.h gcc-4.5.1/gcc/config/s390/linux.h
---- gcc-4.5.1.orig/gcc/config/s390/linux.h	2007-08-02 10:49:31.000000000 +0000
-+++ gcc-4.5.1/gcc/config/s390/linux.h	2010-08-08 22:28:13.878326405 +0000
-@@ -72,7 +72,7 @@
- #define MULTILIB_DEFAULTS { "m31" }
- #endif
- 
--#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
-+#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
- #define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
- 
- #undef  LINK_SPEC
-diff -Naur gcc-4.5.1.orig/gcc/config/s390/t-linux64 gcc-4.5.1/gcc/config/s390/t-linux64
---- gcc-4.5.1.orig/gcc/config/s390/t-linux64	2009-10-07 08:26:47.000000000 +0000
-+++ gcc-4.5.1/gcc/config/s390/t-linux64	2010-08-08 22:28:13.878326405 +0000
-@@ -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.1.orig/gcc/config/sparc/linux.h gcc-4.5.1/gcc/config/sparc/linux.h
---- gcc-4.5.1.orig/gcc/config/sparc/linux.h	2009-12-07 23:31:01.000000000 +0000
-+++ gcc-4.5.1/gcc/config/sparc/linux.h	2010-08-08 22:28:13.882452246 +0000
-@@ -86,7 +86,7 @@
- #define GLIBC_DYNAMIC_LINKER "/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,/lib32 %{shared:-shared} \
-   %{!mno-relax:%{!r:-relax}} \
-   %{!shared: \
-     %{!ibcs: \
-diff -Naur gcc-4.5.1.orig/gcc/config/sparc/linux64.h gcc-4.5.1/gcc/config/sparc/linux64.h
---- gcc-4.5.1.orig/gcc/config/sparc/linux64.h	2009-12-07 23:31:01.000000000 +0000
-+++ gcc-4.5.1/gcc/config/sparc/linux64.h	2010-08-08 22:28:13.882452246 +0000
-@@ -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 "/lib32/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 "/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/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/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/lib %{shared:-shared} \
-   %{!shared: \
-     %{!ibcs: \
-       %{!static: \
-diff -Naur gcc-4.5.1.orig/gcc/config/sparc/t-linux64 gcc-4.5.1/gcc/config/sparc/t-linux64
---- gcc-4.5.1.orig/gcc/config/sparc/t-linux64	2009-04-21 19:03:23.000000000 +0000
-+++ gcc-4.5.1/gcc/config/sparc/t-linux64	2010-08-08 22:28:13.882452246 +0000
-@@ -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
Index: tches/gcc-4.5.1-pure64_specs-1.patch
===================================================================
--- patches/gcc-4.5.1-pure64_specs-1.patch	(revision 3a63c0d15b8ad8d840ef5cfceabc960802823188)
+++ 	(revision )
@@ -1,497 +1,0 @@
-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 \
Index: tches/gcc-4.5.1-specs-1.patch
===================================================================
--- patches/gcc-4.5.1-specs-1.patch	(revision 3a63c0d15b8ad8d840ef5cfceabc960802823188)
+++ 	(revision )
@@ -1,439 +1,0 @@
-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}.
-
-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 15:48:55.542077457 -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 15:48:55.534077576 -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 15:48:55.562077132 -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 15:48:55.566077073 -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 15:48:55.317702207 -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 15:48:55.642077135 -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 15:48:55.750076934 -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 15:48:55.514076541 -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 15:48:55.678076577 -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 15:48:55.662078225 -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 15:48:55.698076982 -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/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 "/tools/lib64/ld-linux-x86-64.so.2"
- 
- #if TARGET_64BIT_DEFAULT
- #define SPEC_32 "m32"
-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 15:48:55.493705353 -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 15:48:55.714077126 -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 15:48:55.317702207 -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 15:48:55.350076394 -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 15:48:55.358077056 -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/lib/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 15:48:55.630077623 -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 15:48:55.338077792 -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 15:48:55.458076948 -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 15:48:55.370077551 -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 15:48:55.402076963 -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/lib/ld.so.1"
-+#define GLIBC_DYNAMIC_LINKER64 "/tools/lib64/ld.so.1"
-+#define GLIBC_DYNAMIC_LINKERN32 "/tools/lib32/ld.so.1"
-+#define UCLIBC_DYNAMIC_LINKERN32 "/tools/lib32/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/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 15:48:55.466078006 -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 15:48:55.602078201 -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 15:48:55.430078384 -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/lib/ld.so.1"
-+#define GLIBC_DYNAMIC_LINKER64 "/tools/lib64/ld64.so.1"
-+#define UCLIBC_DYNAMIC_LINKER32 "/tools/lib/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 15:48:55.414077376 -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/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 15:48:55.454077087 -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/lib/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/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 15:48:55.726076962 -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 15:48:55.750076934 -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/lib %{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 15:48:55.758076212 -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/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 "/tools/lib64/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/lib %{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/lib64 %{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/lib64 %{shared:-shared} \
-   %{!shared: \
-     %{!ibcs: \
-       %{!static: \
-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 15:48:55.598079154 -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 15:48:55.362077258 -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 \
Index: patches/gcc-4.5.2-pure64-1.patch
===================================================================
--- patches/gcc-4.5.2-pure64-1.patch	(revision 670bf2c7c0c2aa2b2125f2e60da6e7da37427068)
+++ patches/gcc-4.5.2-pure64-1.patch	(revision 670bf2c7c0c2aa2b2125f2e60da6e7da37427068)
@@ -0,0 +1,193 @@
+Submitted By: Joe Ciccone <jciccone@gmail.com>
+Date: 01-08-2011
+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: This patch makes changes to the paths for pure64, eg 64bit libs
+             in /usr/lib, 32bit in /usr/lib32.
+
+    Rediffed Against 4.5.2 By Pontus Carlsson <PontusCarlsson at live dot se>
+
+diff -Naur gcc-4.5.2.orig/gcc/config/i386/linux64.h gcc-4.5.2/gcc/config/i386/linux64.h
+--- gcc-4.5.2.orig/gcc/config/i386/linux64.h	2010-03-24 16:44:48.000000000 -0400
++++ gcc-4.5.2/gcc/config/i386/linux64.h	2011-01-08 13:41:39.814665253 -0500
+@@ -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 "/lib32/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
+ 
+ #if TARGET_64BIT_DEFAULT
+ #define SPEC_32 "m32"
+diff -Naur gcc-4.5.2.orig/gcc/config/i386/t-linux64 gcc-4.5.2/gcc/config/i386/t-linux64
+--- gcc-4.5.2.orig/gcc/config/i386/t-linux64	2009-04-21 15:03:23.000000000 -0400
++++ gcc-4.5.2/gcc/config/i386/t-linux64	2011-01-08 13:41:39.814665253 -0500
+@@ -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.2.orig/gcc/config/linux.h gcc-4.5.2/gcc/config/linux.h
+--- gcc-4.5.2.orig/gcc/config/linux.h	2009-04-09 11:00:19.000000000 -0400
++++ gcc-4.5.2/gcc/config/linux.h	2011-01-08 13:41:39.814665253 -0500
+@@ -118,7 +118,7 @@
+    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_LINKER32 "/lib32/ld-uClibc.so.0"
+ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
+ #define LINUX_DYNAMIC_LINKER \
+   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
+diff -Naur gcc-4.5.2.orig/gcc/config/mips/linux64.h gcc-4.5.2/gcc/config/mips/linux64.h
+--- gcc-4.5.2.orig/gcc/config/mips/linux64.h	2009-02-20 10:20:38.000000000 -0500
++++ gcc-4.5.2/gcc/config/mips/linux64.h	2011-01-08 13:41:39.814665253 -0500
+@@ -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 "/lib32/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKERN32 "/lib64/ld.so.1"
++#define UCLIBC_DYNAMIC_LINKERN32 "/lib64/ld-uClibc.so.0"
+ #define LINUX_DYNAMIC_LINKERN32 \
+   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
+ 
+diff -Naur gcc-4.5.2.orig/gcc/config/mips/t-linux64 gcc-4.5.2/gcc/config/mips/t-linux64
+--- gcc-4.5.2.orig/gcc/config/mips/t-linux64	2009-04-21 15:03:23.000000000 -0400
++++ gcc-4.5.2/gcc/config/mips/t-linux64	2011-01-08 13:41:39.814665253 -0500
+@@ -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.2.orig/gcc/config/rs6000/linux64.h gcc-4.5.2/gcc/config/rs6000/linux64.h
+--- gcc-4.5.2.orig/gcc/config/rs6000/linux64.h	2010-11-17 01:09:53.000000000 -0500
++++ gcc-4.5.2/gcc/config/rs6000/linux64.h	2011-01-08 13:41:39.814665253 -0500
+@@ -340,9 +340,9 @@
+ #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 GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
++#define UCLIBC_DYNAMIC_LINKER32 "/lib32/ld-uClibc.so.0"
+ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
+ #if UCLIBC_DEFAULT
+ #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}"
+diff -Naur gcc-4.5.2.orig/gcc/config/rs6000/t-linux64 gcc-4.5.2/gcc/config/rs6000/t-linux64
+--- gcc-4.5.2.orig/gcc/config/rs6000/t-linux64	2009-04-21 15:03:23.000000000 -0400
++++ gcc-4.5.2/gcc/config/rs6000/t-linux64	2011-01-08 13:41:39.814665253 -0500
+@@ -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.2.orig/gcc/config/s390/linux.h gcc-4.5.2/gcc/config/s390/linux.h
+--- gcc-4.5.2.orig/gcc/config/s390/linux.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/s390/linux.h	2011-01-08 13:41:39.814665253 -0500
+@@ -72,7 +72,7 @@
+ #define MULTILIB_DEFAULTS { "m31" }
+ #endif
+ 
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
+ #define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
+ 
+ #undef  LINK_SPEC
+diff -Naur gcc-4.5.2.orig/gcc/config/s390/t-linux64 gcc-4.5.2/gcc/config/s390/t-linux64
+--- gcc-4.5.2.orig/gcc/config/s390/t-linux64	2010-10-04 12:54:26.000000000 -0400
++++ gcc-4.5.2/gcc/config/s390/t-linux64	2011-01-08 13:41:51.762743997 -0500
+@@ -7,4 +7,4 @@
+ 
+ MULTILIB_OPTIONS = m64/m31
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_OSDIRNAMES = ../lib ../lib32
+diff -Naur gcc-4.5.2.orig/gcc/config/sparc/linux.h gcc-4.5.2/gcc/config/sparc/linux.h
+--- gcc-4.5.2.orig/gcc/config/sparc/linux.h	2010-09-22 17:15:37.000000000 -0400
++++ gcc-4.5.2/gcc/config/sparc/linux.h	2011-01-08 13:41:39.814665253 -0500
+@@ -86,7 +86,7 @@
+ #define GLIBC_DYNAMIC_LINKER "/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,/lib32 %{shared:-shared} \
+   %{!mno-relax:%{!r:-relax}} \
+   %{!shared: \
+     %{!ibcs: \
+diff -Naur gcc-4.5.2.orig/gcc/config/sparc/linux64.h gcc-4.5.2/gcc/config/sparc/linux64.h
+--- gcc-4.5.2.orig/gcc/config/sparc/linux64.h	2010-09-22 17:15:37.000000000 -0400
++++ gcc-4.5.2/gcc/config/sparc/linux64.h	2011-01-08 13:41:39.814665253 -0500
+@@ -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 "/lib32/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/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/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/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/lib %{shared:-shared} \
+   %{!shared: \
+     %{!ibcs: \
+       %{!static: \
+diff -Naur gcc-4.5.2.orig/gcc/config/sparc/t-linux64 gcc-4.5.2/gcc/config/sparc/t-linux64
+--- gcc-4.5.2.orig/gcc/config/sparc/t-linux64	2010-10-04 12:54:26.000000000 -0400
++++ gcc-4.5.2/gcc/config/sparc/t-linux64	2011-01-08 13:42:07.870657323 -0500
+@@ -26,7 +26,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 ../lib64
+ 
+ LIBGCC = stmp-multilib
+ INSTALL_LIBGCC = install-multilib
Index: patches/gcc-4.5.2-pure64_specs-1.patch
===================================================================
--- patches/gcc-4.5.2-pure64_specs-1.patch	(revision 670bf2c7c0c2aa2b2125f2e60da6e7da37427068)
+++ patches/gcc-4.5.2-pure64_specs-1.patch	(revision 670bf2c7c0c2aa2b2125f2e60da6e7da37427068)
@@ -0,0 +1,500 @@
+Submitted By: Joe Ciccone <jciccone@gmail.com>
+Date: 09-08-2011
+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.
+
+    Rediffed Against 4.5.2 By Pontus Carlsson <PontusCarlsson at live dot se>
+
+diff -Naur gcc-4.5.2.orig/gcc/config/alpha/gnu.h gcc-4.5.2/gcc/config/alpha/gnu.h
+--- gcc-4.5.2.orig/gcc/config/alpha/gnu.h	2009-04-21 15:03:23.000000000 -0400
++++ gcc-4.5.2/gcc/config/alpha/gnu.h	2011-01-08 13:38:44.091021377 -0500
+@@ -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.2.orig/gcc/config/alpha/linux-elf.h gcc-4.5.2/gcc/config/alpha/linux-elf.h
+--- gcc-4.5.2.orig/gcc/config/alpha/linux-elf.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/alpha/linux-elf.h	2011-01-08 13:38:44.091021377 -0500
+@@ -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.2.orig/gcc/config/arm/linux-eabi.h gcc-4.5.2/gcc/config/arm/linux-eabi.h
+--- gcc-4.5.2.orig/gcc/config/arm/linux-eabi.h	2009-10-30 16:03:09.000000000 -0400
++++ gcc-4.5.2/gcc/config/arm/linux-eabi.h	2011-01-08 13:38:44.091021377 -0500
+@@ -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.2.orig/gcc/config/arm/linux-elf.h gcc-4.5.2/gcc/config/arm/linux-elf.h
+--- gcc-4.5.2.orig/gcc/config/arm/linux-elf.h	2009-11-05 09:47:45.000000000 -0500
++++ gcc-4.5.2/gcc/config/arm/linux-elf.h	2011-01-08 13:38:44.091021377 -0500
+@@ -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.2.orig/gcc/config/bfin/linux.h gcc-4.5.2/gcc/config/bfin/linux.h
+--- gcc-4.5.2.orig/gcc/config/bfin/linux.h	2009-09-03 11:37:28.000000000 -0400
++++ gcc-4.5.2/gcc/config/bfin/linux.h	2011-01-08 13:38:44.091021377 -0500
+@@ -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.2.orig/gcc/config/cris/linux.h gcc-4.5.2/gcc/config/cris/linux.h
+--- gcc-4.5.2.orig/gcc/config/cris/linux.h	2009-03-22 11:15:04.000000000 -0400
++++ gcc-4.5.2/gcc/config/cris/linux.h	2011-01-08 13:38:44.091021377 -0500
+@@ -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.2.orig/gcc/config/freebsd-spec.h gcc-4.5.2/gcc/config/freebsd-spec.h
+--- gcc-4.5.2.orig/gcc/config/freebsd-spec.h	2009-09-22 12:28:26.000000000 -0400
++++ gcc-4.5.2/gcc/config/freebsd-spec.h	2011-01-08 13:38:44.091021377 -0500
+@@ -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.2.orig/gcc/config/frv/linux.h gcc-4.5.2/gcc/config/frv/linux.h
+--- gcc-4.5.2.orig/gcc/config/frv/linux.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/frv/linux.h	2011-01-08 13:38:44.091021377 -0500
+@@ -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.2.orig/gcc/config/i386/gnu.h gcc-4.5.2/gcc/config/i386/gnu.h
+--- gcc-4.5.2.orig/gcc/config/i386/gnu.h	2008-11-13 18:28:46.000000000 -0500
++++ gcc-4.5.2/gcc/config/i386/gnu.h	2011-01-08 13:38:44.091021377 -0500
+@@ -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.2.orig/gcc/config/i386/linux.h gcc-4.5.2/gcc/config/i386/linux.h
+--- gcc-4.5.2.orig/gcc/config/i386/linux.h	2010-03-24 16:44:48.000000000 -0400
++++ gcc-4.5.2/gcc/config/i386/linux.h	2011-01-08 13:38:44.091021377 -0500
+@@ -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.2.orig/gcc/config/i386/linux64.h gcc-4.5.2/gcc/config/i386/linux64.h
+--- gcc-4.5.2.orig/gcc/config/i386/linux64.h	2010-03-24 16:44:48.000000000 -0400
++++ gcc-4.5.2/gcc/config/i386/linux64.h	2011-01-08 13:38:44.091021377 -0500
+@@ -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.2.orig/gcc/config/i386/t-linux64 gcc-4.5.2/gcc/config/i386/t-linux64
+--- gcc-4.5.2.orig/gcc/config/i386/t-linux64	2009-04-21 15:03:23.000000000 -0400
++++ gcc-4.5.2/gcc/config/i386/t-linux64	2011-01-08 13:38:44.091021377 -0500
+@@ -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.2.orig/gcc/config/ia64/linux.h gcc-4.5.2/gcc/config/ia64/linux.h
+--- gcc-4.5.2.orig/gcc/config/ia64/linux.h	2009-04-21 15:03:23.000000000 -0400
++++ gcc-4.5.2/gcc/config/ia64/linux.h	2011-01-08 13:38:44.095033293 -0500
+@@ -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.2.orig/gcc/config/kfreebsd-gnu.h gcc-4.5.2/gcc/config/kfreebsd-gnu.h
+--- gcc-4.5.2.orig/gcc/config/kfreebsd-gnu.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/kfreebsd-gnu.h	2011-01-08 13:38:44.095033293 -0500
+@@ -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.2.orig/gcc/config/knetbsd-gnu.h gcc-4.5.2/gcc/config/knetbsd-gnu.h
+--- gcc-4.5.2.orig/gcc/config/knetbsd-gnu.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/knetbsd-gnu.h	2011-01-08 13:38:44.095033293 -0500
+@@ -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.2.orig/gcc/config/kopensolaris-gnu.h gcc-4.5.2/gcc/config/kopensolaris-gnu.h
+--- gcc-4.5.2.orig/gcc/config/kopensolaris-gnu.h	2009-01-29 13:48:41.000000000 -0500
++++ gcc-4.5.2/gcc/config/kopensolaris-gnu.h	2011-01-08 13:38:44.095033293 -0500
+@@ -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.2.orig/gcc/config/linux.h gcc-4.5.2/gcc/config/linux.h
+--- gcc-4.5.2.orig/gcc/config/linux.h	2009-04-09 11:00:19.000000000 -0400
++++ gcc-4.5.2/gcc/config/linux.h	2011-01-08 13:38:44.095033293 -0500
+@@ -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.2.orig/gcc/config/lm32/uclinux-elf.h gcc-4.5.2/gcc/config/lm32/uclinux-elf.h
+--- gcc-4.5.2.orig/gcc/config/lm32/uclinux-elf.h	2009-11-11 11:43:06.000000000 -0500
++++ gcc-4.5.2/gcc/config/lm32/uclinux-elf.h	2011-01-08 13:38:44.095033293 -0500
+@@ -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.2.orig/gcc/config/m32r/linux.h gcc-4.5.2/gcc/config/m32r/linux.h
+--- gcc-4.5.2.orig/gcc/config/m32r/linux.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/m32r/linux.h	2011-01-08 13:38:44.095033293 -0500
+@@ -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.2.orig/gcc/config/m68k/linux.h gcc-4.5.2/gcc/config/m68k/linux.h
+--- gcc-4.5.2.orig/gcc/config/m68k/linux.h	2009-12-11 10:32:08.000000000 -0500
++++ gcc-4.5.2/gcc/config/m68k/linux.h	2011-01-08 13:38:44.095033293 -0500
+@@ -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.2.orig/gcc/config/mips/linux.h gcc-4.5.2/gcc/config/mips/linux.h
+--- gcc-4.5.2.orig/gcc/config/mips/linux.h	2009-02-20 10:20:38.000000000 -0500
++++ gcc-4.5.2/gcc/config/mips/linux.h	2011-01-08 13:38:44.095033293 -0500
+@@ -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.2.orig/gcc/config/mips/linux64.h gcc-4.5.2/gcc/config/mips/linux64.h
+--- gcc-4.5.2.orig/gcc/config/mips/linux64.h	2009-02-20 10:20:38.000000000 -0500
++++ gcc-4.5.2/gcc/config/mips/linux64.h	2011-01-08 13:38:44.095033293 -0500
+@@ -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.2.orig/gcc/config/mips/t-linux64 gcc-4.5.2/gcc/config/mips/t-linux64
+--- gcc-4.5.2.orig/gcc/config/mips/t-linux64	2009-04-21 15:03:23.000000000 -0400
++++ gcc-4.5.2/gcc/config/mips/t-linux64	2011-01-08 13:38:44.095033293 -0500
+@@ -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.2.orig/gcc/config/mn10300/linux.h gcc-4.5.2/gcc/config/mn10300/linux.h
+--- gcc-4.5.2.orig/gcc/config/mn10300/linux.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/mn10300/linux.h	2011-01-08 13:38:44.095033293 -0500
+@@ -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.2.orig/gcc/config/pa/pa-linux.h gcc-4.5.2/gcc/config/pa/pa-linux.h
+--- gcc-4.5.2.orig/gcc/config/pa/pa-linux.h	2009-12-04 02:47:51.000000000 -0500
++++ gcc-4.5.2/gcc/config/pa/pa-linux.h	2011-01-08 13:38:44.095033293 -0500
+@@ -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.2.orig/gcc/config/rs6000/linux64.h gcc-4.5.2/gcc/config/rs6000/linux64.h
+--- gcc-4.5.2.orig/gcc/config/rs6000/linux64.h	2010-11-17 01:09:53.000000000 -0500
++++ gcc-4.5.2/gcc/config/rs6000/linux64.h	2011-01-08 13:38:44.095033293 -0500
+@@ -340,10 +340,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.2.orig/gcc/config/rs6000/sysv4.h gcc-4.5.2/gcc/config/rs6000/sysv4.h
+--- gcc-4.5.2.orig/gcc/config/rs6000/sysv4.h	2010-11-03 09:55:26.000000000 -0400
++++ gcc-4.5.2/gcc/config/rs6000/sysv4.h	2011-01-08 13:38:44.095033293 -0500
+@@ -899,8 +899,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
+@@ -942,7 +942,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.2.orig/gcc/config/rs6000/t-linux64 gcc-4.5.2/gcc/config/rs6000/t-linux64
+--- gcc-4.5.2.orig/gcc/config/rs6000/t-linux64	2009-04-21 15:03:23.000000000 -0400
++++ gcc-4.5.2/gcc/config/rs6000/t-linux64	2011-01-08 13:38:44.095033293 -0500
+@@ -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.2.orig/gcc/config/s390/linux.h gcc-4.5.2/gcc/config/s390/linux.h
+--- gcc-4.5.2.orig/gcc/config/s390/linux.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/s390/linux.h	2011-01-08 13:38:44.095033293 -0500
+@@ -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.2.orig/gcc/config/s390/t-linux64 gcc-4.5.2/gcc/config/s390/t-linux64
+--- gcc-4.5.2.orig/gcc/config/s390/t-linux64	2010-10-04 12:54:26.000000000 -0400
++++ gcc-4.5.2/gcc/config/s390/t-linux64	2011-01-08 13:40:17.250656249 -0500
+@@ -7,4 +7,4 @@
+ 
+ MULTILIB_OPTIONS = m64/m31
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_OSDIRNAMES = ../lib ../lib32
+diff -Naur gcc-4.5.2.orig/gcc/config/sh/linux.h gcc-4.5.2/gcc/config/sh/linux.h
+--- gcc-4.5.2.orig/gcc/config/sh/linux.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/sh/linux.h	2011-01-08 13:38:44.099033415 -0500
+@@ -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.2.orig/gcc/config/sparc/linux.h gcc-4.5.2/gcc/config/sparc/linux.h
+--- gcc-4.5.2.orig/gcc/config/sparc/linux.h	2010-09-22 17:15:37.000000000 -0400
++++ gcc-4.5.2/gcc/config/sparc/linux.h	2011-01-08 13:38:44.099033415 -0500
+@@ -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.2.orig/gcc/config/sparc/linux64.h gcc-4.5.2/gcc/config/sparc/linux64.h
+--- gcc-4.5.2.orig/gcc/config/sparc/linux64.h	2010-09-22 17:15:37.000000000 -0400
++++ gcc-4.5.2/gcc/config/sparc/linux64.h	2011-01-08 13:38:44.099033415 -0500
+@@ -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.2.orig/gcc/config/sparc/t-linux64 gcc-4.5.2/gcc/config/sparc/t-linux64
+--- gcc-4.5.2.orig/gcc/config/sparc/t-linux64	2010-10-04 12:54:26.000000000 -0400
++++ gcc-4.5.2/gcc/config/sparc/t-linux64	2011-01-08 13:40:26.191030611 -0500
+@@ -26,7 +26,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.2.orig/gcc/config/vax/linux.h gcc-4.5.2/gcc/config/vax/linux.h
+--- gcc-4.5.2.orig/gcc/config/vax/linux.h	2009-11-03 19:07:24.000000000 -0500
++++ gcc-4.5.2/gcc/config/vax/linux.h	2011-01-08 13:38:44.099033415 -0500
+@@ -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.2.orig/gcc/config/xtensa/linux.h gcc-4.5.2/gcc/config/xtensa/linux.h
+--- gcc-4.5.2.orig/gcc/config/xtensa/linux.h	2008-01-17 20:37:53.000000000 -0500
++++ gcc-4.5.2/gcc/config/xtensa/linux.h	2011-01-08 13:38:44.099033415 -0500
+@@ -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 \
Index: patches/gcc-4.5.2-specs-1.patch
===================================================================
--- patches/gcc-4.5.2-specs-1.patch	(revision 670bf2c7c0c2aa2b2125f2e60da6e7da37427068)
+++ patches/gcc-4.5.2-specs-1.patch	(revision 670bf2c7c0c2aa2b2125f2e60da6e7da37427068)
@@ -0,0 +1,441 @@
+Submitted By: Joe Ciccone <jciccone@gmail.com>
+Date: 01-08-2011
+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}.
+
+    Rediffed Against 4.5.2 By Joe Ciccone <jciccone@gmail.com>
+
+diff -Naur gcc-4.5.2.orig/gcc/config/alpha/gnu.h gcc-4.5.2/gcc/config/alpha/gnu.h
+--- gcc-4.5.2.orig/gcc/config/alpha/gnu.h	2009-04-21 15:03:23.000000000 -0400
++++ gcc-4.5.2/gcc/config/alpha/gnu.h	2011-01-08 13:32:34.482662693 -0500
+@@ -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.2.orig/gcc/config/alpha/linux-elf.h gcc-4.5.2/gcc/config/alpha/linux-elf.h
+--- gcc-4.5.2.orig/gcc/config/alpha/linux-elf.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/alpha/linux-elf.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/arm/linux-eabi.h gcc-4.5.2/gcc/config/arm/linux-eabi.h
+--- gcc-4.5.2.orig/gcc/config/arm/linux-eabi.h	2009-10-30 16:03:09.000000000 -0400
++++ gcc-4.5.2/gcc/config/arm/linux-eabi.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/arm/linux-elf.h gcc-4.5.2/gcc/config/arm/linux-elf.h
+--- gcc-4.5.2.orig/gcc/config/arm/linux-elf.h	2009-11-05 09:47:45.000000000 -0500
++++ gcc-4.5.2/gcc/config/arm/linux-elf.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/bfin/linux.h gcc-4.5.2/gcc/config/bfin/linux.h
+--- gcc-4.5.2.orig/gcc/config/bfin/linux.h	2009-09-03 11:37:28.000000000 -0400
++++ gcc-4.5.2/gcc/config/bfin/linux.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/cris/linux.h gcc-4.5.2/gcc/config/cris/linux.h
+--- gcc-4.5.2.orig/gcc/config/cris/linux.h	2009-03-22 11:15:04.000000000 -0400
++++ gcc-4.5.2/gcc/config/cris/linux.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/freebsd-spec.h gcc-4.5.2/gcc/config/freebsd-spec.h
+--- gcc-4.5.2.orig/gcc/config/freebsd-spec.h	2009-09-22 12:28:26.000000000 -0400
++++ gcc-4.5.2/gcc/config/freebsd-spec.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/frv/linux.h gcc-4.5.2/gcc/config/frv/linux.h
+--- gcc-4.5.2.orig/gcc/config/frv/linux.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/frv/linux.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/i386/gnu.h gcc-4.5.2/gcc/config/i386/gnu.h
+--- gcc-4.5.2.orig/gcc/config/i386/gnu.h	2008-11-13 18:28:46.000000000 -0500
++++ gcc-4.5.2/gcc/config/i386/gnu.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/i386/linux.h gcc-4.5.2/gcc/config/i386/linux.h
+--- gcc-4.5.2.orig/gcc/config/i386/linux.h	2010-03-24 16:44:48.000000000 -0400
++++ gcc-4.5.2/gcc/config/i386/linux.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/i386/linux64.h gcc-4.5.2/gcc/config/i386/linux64.h
+--- gcc-4.5.2.orig/gcc/config/i386/linux64.h	2010-03-24 16:44:48.000000000 -0400
++++ gcc-4.5.2/gcc/config/i386/linux64.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/tools/lib64/ld-linux-x86-64.so.2"
+ 
+ #if TARGET_64BIT_DEFAULT
+ #define SPEC_32 "m32"
+diff -Naur gcc-4.5.2.orig/gcc/config/ia64/linux.h gcc-4.5.2/gcc/config/ia64/linux.h
+--- gcc-4.5.2.orig/gcc/config/ia64/linux.h	2009-04-21 15:03:23.000000000 -0400
++++ gcc-4.5.2/gcc/config/ia64/linux.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/kfreebsd-gnu.h gcc-4.5.2/gcc/config/kfreebsd-gnu.h
+--- gcc-4.5.2.orig/gcc/config/kfreebsd-gnu.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/kfreebsd-gnu.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/knetbsd-gnu.h gcc-4.5.2/gcc/config/knetbsd-gnu.h
+--- gcc-4.5.2.orig/gcc/config/knetbsd-gnu.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/knetbsd-gnu.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/kopensolaris-gnu.h gcc-4.5.2/gcc/config/kopensolaris-gnu.h
+--- gcc-4.5.2.orig/gcc/config/kopensolaris-gnu.h	2009-01-29 13:48:41.000000000 -0500
++++ gcc-4.5.2/gcc/config/kopensolaris-gnu.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/linux.h gcc-4.5.2/gcc/config/linux.h
+--- gcc-4.5.2.orig/gcc/config/linux.h	2009-04-09 11:00:19.000000000 -0400
++++ gcc-4.5.2/gcc/config/linux.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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/lib/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.2.orig/gcc/config/lm32/uclinux-elf.h gcc-4.5.2/gcc/config/lm32/uclinux-elf.h
+--- gcc-4.5.2.orig/gcc/config/lm32/uclinux-elf.h	2009-11-11 11:43:06.000000000 -0500
++++ gcc-4.5.2/gcc/config/lm32/uclinux-elf.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/m32r/linux.h gcc-4.5.2/gcc/config/m32r/linux.h
+--- gcc-4.5.2.orig/gcc/config/m32r/linux.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/m32r/linux.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/m68k/linux.h gcc-4.5.2/gcc/config/m68k/linux.h
+--- gcc-4.5.2.orig/gcc/config/m68k/linux.h	2009-12-11 10:32:08.000000000 -0500
++++ gcc-4.5.2/gcc/config/m68k/linux.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/mips/linux.h gcc-4.5.2/gcc/config/mips/linux.h
+--- gcc-4.5.2.orig/gcc/config/mips/linux.h	2009-02-20 10:20:38.000000000 -0500
++++ gcc-4.5.2/gcc/config/mips/linux.h	2011-01-08 13:32:34.486656575 -0500
+@@ -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.2.orig/gcc/config/mips/linux64.h gcc-4.5.2/gcc/config/mips/linux64.h
+--- gcc-4.5.2.orig/gcc/config/mips/linux64.h	2009-02-20 10:20:38.000000000 -0500
++++ gcc-4.5.2/gcc/config/mips/linux64.h	2011-01-08 13:32:34.490657437 -0500
+@@ -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/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER64 "/tools/lib64/ld.so.1"
++#define GLIBC_DYNAMIC_LINKERN32 "/tools/lib32/ld.so.1"
++#define UCLIBC_DYNAMIC_LINKERN32 "/tools/lib32/ld-uClibc.so.0"
+ #define LINUX_DYNAMIC_LINKERN32 \
+   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
+ 
+diff -Naur gcc-4.5.2.orig/gcc/config/mn10300/linux.h gcc-4.5.2/gcc/config/mn10300/linux.h
+--- gcc-4.5.2.orig/gcc/config/mn10300/linux.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/mn10300/linux.h	2011-01-08 13:32:34.490657437 -0500
+@@ -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.2.orig/gcc/config/pa/pa-linux.h gcc-4.5.2/gcc/config/pa/pa-linux.h
+--- gcc-4.5.2.orig/gcc/config/pa/pa-linux.h	2009-12-04 02:47:51.000000000 -0500
++++ gcc-4.5.2/gcc/config/pa/pa-linux.h	2011-01-08 13:32:34.490657437 -0500
+@@ -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.2.orig/gcc/config/rs6000/linux64.h gcc-4.5.2/gcc/config/rs6000/linux64.h
+--- gcc-4.5.2.orig/gcc/config/rs6000/linux64.h	2010-11-17 01:09:53.000000000 -0500
++++ gcc-4.5.2/gcc/config/rs6000/linux64.h	2011-01-08 13:32:34.490657437 -0500
+@@ -340,10 +340,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/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER64 "/tools/lib64/ld64.so.1"
++#define UCLIBC_DYNAMIC_LINKER32 "/tools/lib/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.2.orig/gcc/config/rs6000/sysv4.h gcc-4.5.2/gcc/config/rs6000/sysv4.h
+--- gcc-4.5.2.orig/gcc/config/rs6000/sysv4.h	2010-11-03 09:55:26.000000000 -0400
++++ gcc-4.5.2/gcc/config/rs6000/sysv4.h	2011-01-08 13:32:34.490657437 -0500
+@@ -899,8 +899,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
+@@ -942,7 +942,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.2.orig/gcc/config/s390/linux.h gcc-4.5.2/gcc/config/s390/linux.h
+--- gcc-4.5.2.orig/gcc/config/s390/linux.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/s390/linux.h	2011-01-08 13:32:34.490657437 -0500
+@@ -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/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER64 "/tools/lib/ld64.so.1"
+ 
+ #undef  LINK_SPEC
+ #define LINK_SPEC \
+diff -Naur gcc-4.5.2.orig/gcc/config/sh/linux.h gcc-4.5.2/gcc/config/sh/linux.h
+--- gcc-4.5.2.orig/gcc/config/sh/linux.h	2007-08-02 06:49:31.000000000 -0400
++++ gcc-4.5.2/gcc/config/sh/linux.h	2011-01-08 13:32:34.490657437 -0500
+@@ -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.2.orig/gcc/config/sparc/linux.h gcc-4.5.2/gcc/config/sparc/linux.h
+--- gcc-4.5.2.orig/gcc/config/sparc/linux.h	2010-09-22 17:15:37.000000000 -0400
++++ gcc-4.5.2/gcc/config/sparc/linux.h	2011-01-08 13:32:34.490657437 -0500
+@@ -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/lib %{shared:-shared} \
+   %{!mno-relax:%{!r:-relax}} \
+   %{!shared: \
+     %{!ibcs: \
+diff -Naur gcc-4.5.2.orig/gcc/config/sparc/linux64.h gcc-4.5.2/gcc/config/sparc/linux64.h
+--- gcc-4.5.2.orig/gcc/config/sparc/linux64.h	2010-09-22 17:15:37.000000000 -0400
++++ gcc-4.5.2/gcc/config/sparc/linux64.h	2011-01-08 13:32:34.490657437 -0500
+@@ -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/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/tools/lib64/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/lib %{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/lib64 %{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/lib64 %{shared:-shared} \
+   %{!shared: \
+     %{!ibcs: \
+       %{!static: \
+diff -Naur gcc-4.5.2.orig/gcc/config/vax/linux.h gcc-4.5.2/gcc/config/vax/linux.h
+--- gcc-4.5.2.orig/gcc/config/vax/linux.h	2009-11-03 19:07:24.000000000 -0500
++++ gcc-4.5.2/gcc/config/vax/linux.h	2011-01-08 13:32:34.494657459 -0500
+@@ -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.2.orig/gcc/config/xtensa/linux.h gcc-4.5.2/gcc/config/xtensa/linux.h
+--- gcc-4.5.2.orig/gcc/config/xtensa/linux.h	2008-01-17 20:37:53.000000000 -0500
++++ gcc-4.5.2/gcc/config/xtensa/linux.h	2011-01-08 13:32:34.494657459 -0500
+@@ -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 \
