Submitted By: Joe Ciccone <jciccone@gmail.com>
Date: 04-16-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>
    Rediffed Against 4.6.0 By Joe Ciccone <jciccone@gmail.com>

diff -Naur gcc-4.6.0.orig/gcc/config/i386/linux64.h gcc-4.6.0/gcc/config/i386/linux64.h
--- gcc-4.6.0.orig/gcc/config/i386/linux64.h	2011-03-02 17:35:36.000000000 -0500
+++ gcc-4.6.0/gcc/config/i386/linux64.h	2011-04-16 15:49:02.335213604 -0400
@@ -62,8 +62,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.6.0.orig/gcc/config/i386/t-linux64 gcc-4.6.0/gcc/config/i386/t-linux64
--- gcc-4.6.0.orig/gcc/config/i386/t-linux64	2009-04-21 15:03:23.000000000 -0400
+++ gcc-4.6.0/gcc/config/i386/t-linux64	2011-04-16 15:49:02.335213604 -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.6.0.orig/gcc/config/linux.h gcc-4.6.0/gcc/config/linux.h
--- gcc-4.6.0.orig/gcc/config/linux.h	2011-01-12 09:29:14.000000000 -0500
+++ gcc-4.6.0/gcc/config/linux.h	2011-04-16 15:49:02.335213604 -0400
@@ -75,7 +75,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 BIONIC_DYNAMIC_LINKER "/system/bin/linker"
 #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
diff -Naur gcc-4.6.0.orig/gcc/config/mips/linux64.h gcc-4.6.0/gcc/config/mips/linux64.h
--- gcc-4.6.0.orig/gcc/config/mips/linux64.h	2011-01-19 15:39:09.000000000 -0500
+++ gcc-4.6.0/gcc/config/mips/linux64.h	2011-04-16 15:50:00.807213626 -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 "/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 BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
 #define LINUX_DYNAMIC_LINKERN32 \
   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
diff -Naur gcc-4.6.0.orig/gcc/config/mips/t-linux64 gcc-4.6.0/gcc/config/mips/t-linux64
--- gcc-4.6.0.orig/gcc/config/mips/t-linux64	2009-04-21 15:03:23.000000000 -0400
+++ gcc-4.6.0/gcc/config/mips/t-linux64	2011-04-16 15:49:02.335213604 -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.6.0.orig/gcc/config/rs6000/linux64.h gcc-4.6.0/gcc/config/rs6000/linux64.h
--- gcc-4.6.0.orig/gcc/config/rs6000/linux64.h	2011-03-07 02:50:23.000000000 -0500
+++ gcc-4.6.0/gcc/config/rs6000/linux64.h	2011-04-16 15:49:02.335213604 -0400
@@ -372,9 +372,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 DEFAULT_LIBC == LIBC_UCLIBC
 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
diff -Naur gcc-4.6.0.orig/gcc/config/rs6000/t-linux64 gcc-4.6.0/gcc/config/rs6000/t-linux64
--- gcc-4.6.0.orig/gcc/config/rs6000/t-linux64	2009-04-21 15:03:23.000000000 -0400
+++ gcc-4.6.0/gcc/config/rs6000/t-linux64	2011-04-16 15:49:02.335213604 -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.6.0.orig/gcc/config/s390/linux.h gcc-4.6.0/gcc/config/s390/linux.h
--- gcc-4.6.0.orig/gcc/config/s390/linux.h	2010-12-09 08:27:07.000000000 -0500
+++ gcc-4.6.0/gcc/config/s390/linux.h	2011-04-16 15:49:02.335213604 -0400
@@ -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.6.0.orig/gcc/config/s390/t-linux64 gcc-4.6.0/gcc/config/s390/t-linux64
--- gcc-4.6.0.orig/gcc/config/s390/t-linux64	2010-10-04 12:51:59.000000000 -0400
+++ gcc-4.6.0/gcc/config/s390/t-linux64	2011-04-16 15:49:02.335213604 -0400
@@ -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.6.0.orig/gcc/config/sparc/linux.h gcc-4.6.0/gcc/config/sparc/linux.h
--- gcc-4.6.0.orig/gcc/config/sparc/linux.h	2011-01-26 15:30:12.000000000 -0500
+++ gcc-4.6.0/gcc/config/sparc/linux.h	2011-04-16 15:49:02.335213604 -0400
@@ -74,7 +74,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: \
     %{!static: \
diff -Naur gcc-4.6.0.orig/gcc/config/sparc/linux64.h gcc-4.6.0/gcc/config/sparc/linux64.h
--- gcc-4.6.0.orig/gcc/config/sparc/linux64.h	2011-02-17 08:57:21.000000000 -0500
+++ gcc-4.6.0/gcc/config/sparc/linux64.h	2011-04-16 15:49:02.335213604 -0400
@@ -101,8 +101,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.so.2"
+#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2"
 
 #ifdef SPARC_BI_ARCH
 
@@ -113,7 +113,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: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
@@ -121,7 +121,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: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
@@ -193,7 +193,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: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
diff -Naur gcc-4.6.0.orig/gcc/config/sparc/t-linux64 gcc-4.6.0/gcc/config/sparc/t-linux64
--- gcc-4.6.0.orig/gcc/config/sparc/t-linux64	2011-01-03 15:52:22.000000000 -0500
+++ gcc-4.6.0/gcc/config/sparc/t-linux64	2011-04-16 15:49:02.335213604 -0400
@@ -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
