{B,C}LFS State of Things (was Re: SVN-20070706: ...)

Ken Moffat ken at linuxfromscratch.org
Mon Jul 23 15:07:55 PDT 2007


On Mon, Jul 23, 2007 at 03:39:21PM -0600, Jeremy Huntwork wrote:
> On Mon, Jul 23, 2007 at 10:34:45PM +0100, Ken Moffat wrote:
> >  The pure64 patch is usually thought to be needed in chapter 6 as
> > well as pass 2 ;)
> 
> The problem I ran into is that the pure64 patch (at least the one I
> found that's usable for gcc-4.1.1) won't apply once the specs patch has
> been applied. I think both try to make dynamic linker changes to
> linux{,64}.h. So I figured I'd roll up the needed changes from the
> pure64 patch into the specs patch. That way we can just apply the specs
> patch in gcc-pass2 and apply the pure64 patch in final gcc.
> 
 Ah, I misunderstood.  Yes, clfs had a separate
gcc-4.1.2-pure64_specs patch.  Attached.

ĸen
-- 
das eine Mal als Tragödie, das andere Mal als Farce
-------------- next part --------------
Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
Date: 2007-02-14
Initial Package Version: 4.1.2
Upstream Status: Not Sent - LFS Specfic
Origin: Idea originally developed by Ryan Oliver and Greg Schafer for
	the Pure LFS project.
	More architectures added by Zack Winkles.
	Further fine tunings by Greg Schafer.
	Rediffed against gcc 4.0.0 by Robert Connolly.
        Rediffed against gcc 4.1.0 by Chris Staub
	Rediffed against gcc 4.1.2 by Jim Gifford
Description: This patch modifies the location of the dynamic linker for
	the GCC Pass 2 build in LFS Chapter 5.

diff -Naur gcc-4.1.2.orig/gcc/config/alpha/linux-elf.h gcc-4.1.2/gcc/config/alpha/linux-elf.h
--- gcc-4.1.2.orig/gcc/config/alpha/linux-elf.h	2005-06-24 18:22:41.000000000 -0700
+++ gcc-4.1.2/gcc/config/alpha/linux-elf.h	2007-02-14 07:51:38.000000000 -0800
@@ -27,7 +27,7 @@
 #define SUBTARGET_EXTRA_SPECS \
 { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
 
-#define ELF_DYNAMIC_LINKER	"/lib/ld-linux.so.2"
+#define ELF_DYNAMIC_LINKER	"/tools/lib/ld-linux.so.2"
 
 #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax}		\
   %{O*:-O3} %{!O*:-O1}						\
diff -Naur gcc-4.1.2.orig/gcc/config/arm/linux-elf.h gcc-4.1.2/gcc/config/arm/linux-elf.h
--- gcc-4.1.2.orig/gcc/config/arm/linux-elf.h	2005-10-09 18:04:31.000000000 -0700
+++ gcc-4.1.2/gcc/config/arm/linux-elf.h	2007-02-14 07:51:38.000000000 -0800
@@ -51,7 +51,7 @@
 
 #define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
 
-#define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.2"
+#define LINUX_TARGET_INTERPRETER "/tools/lib/ld-linux.so.2"
 
 #define LINUX_TARGET_LINK_SPEC  "%{h*} %{version:-v} \
    %{b} \
diff -Naur gcc-4.1.2.orig/gcc/config/frv/linux.h gcc-4.1.2/gcc/config/frv/linux.h
--- gcc-4.1.2.orig/gcc/config/frv/linux.h	2005-06-24 18:22:41.000000000 -0700
+++ gcc-4.1.2/gcc/config/frv/linux.h	2007-02-14 07:51:38.000000000 -0800
@@ -41,7 +41,7 @@
   %{mfdpic: -m elf32frvfd -z text} %{shared} %{pie} \
   %{!shared: %{!static: \
    %{rdynamic:-export-dynamic} \
-   %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
+   %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
    %{static}}"
 
 /* Support for compile-time default CPU.  */
diff -Naur gcc-4.1.2.orig/gcc/config/i386/gnu.h gcc-4.1.2/gcc/config/i386/gnu.h
--- gcc-4.1.2.orig/gcc/config/i386/gnu.h	2004-09-07 17:17:19.000000000 -0700
+++ gcc-4.1.2/gcc/config/i386/gnu.h	2007-02-14 07:51:38.000000000 -0800
@@ -27,7 +27,7 @@
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{!dynamic-linker:-dynamic-linker /lib/ld.so}} \
+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so}} \
     %{static:-static}}"
 
 #undef	STARTFILE_SPEC
diff -Naur gcc-4.1.2.orig/gcc/config/i386/linux.h gcc-4.1.2/gcc/config/i386/linux.h
--- gcc-4.1.2.orig/gcc/config/i386/linux.h	2005-08-10 10:53:01.000000000 -0700
+++ gcc-4.1.2/gcc/config/i386/linux.h	2007-02-14 07:51:38.000000000 -0800
@@ -105,7 +105,7 @@
 /* If ELF is the default format, we should not use /lib/elf.  */
 
 #define LINK_EMULATION "elf_i386"
-#define DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#define DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
 
 #undef  SUBTARGET_EXTRA_SPECS
 #define SUBTARGET_EXTRA_SPECS \
diff -Naur gcc-4.1.2.orig/gcc/config/i386/linux64.h gcc-4.1.2/gcc/config/i386/linux64.h
--- gcc-4.1.2.orig/gcc/config/i386/linux64.h	2005-08-10 10:53:01.000000000 -0700
+++ gcc-4.1.2/gcc/config/i386/linux64.h	2007-02-14 07:51:38.000000000 -0800
@@ -60,8 +60,8 @@
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-      %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
+      %{m32:%{!dynamic-linker:-dynamic-linker /tools/lib32/ld-linux.so.2}} \
+      %{!m32:%{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux-x86-64.so.2}}} \
     %{static:-static}}"
 
 /* Similar to standard Linux, but adding -ffast-math support.  */
diff -Naur gcc-4.1.2.orig/gcc/config/ia64/linux.h gcc-4.1.2/gcc/config/ia64/linux.h
--- gcc-4.1.2.orig/gcc/config/ia64/linux.h	2006-12-12 07:24:07.000000000 -0800
+++ gcc-4.1.2/gcc/config/ia64/linux.h	2007-02-14 07:51:38.000000000 -0800
@@ -43,7 +43,7 @@
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux-ia64.so.2}} \
       %{static:-static}}"
 
 #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
diff -Naur gcc-4.1.2.orig/gcc/config/linux.h gcc-4.1.2/gcc/config/linux.h
--- gcc-4.1.2.orig/gcc/config/linux.h	2005-08-06 06:26:35.000000000 -0700
+++ gcc-4.1.2/gcc/config/linux.h	2007-02-14 07:51:38.000000000 -0800
@@ -104,3 +104,7 @@
 #define TARGET_C99_FUNCTIONS 1
 
 #define TARGET_POSIX_IO
+
+/* Remove /usr/include from the end of the include search path.  */
+#undef STANDARD_INCLUDE_DIR
+#define STANDARD_INCLUDE_DIR 0
diff -Naur gcc-4.1.2.orig/gcc/config/m32r/linux.h gcc-4.1.2/gcc/config/m32r/linux.h
--- gcc-4.1.2.orig/gcc/config/m32r/linux.h	2005-07-08 03:00:15.000000000 -0700
+++ gcc-4.1.2/gcc/config/m32r/linux.h	2007-02-14 07:51:38.000000000 -0800
@@ -66,7 +66,7 @@
     %{!ibcs: \
       %{!static: \
 	%{rdynamic:-export-dynamic} \
-	%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+	%{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
 	%{static:-static}}}"
 #else
 #define LINK_SPEC "%(link_cpu) -m m32relf_linux %{shared:-shared} \
@@ -74,7 +74,7 @@
     %{!ibcs: \
       %{!static: \
 	%{rdynamic:-export-dynamic} \
-	%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+	%{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
 	%{static:-static}}}"
 #endif
 
diff -Naur gcc-4.1.2.orig/gcc/config/m68k/linux.h gcc-4.1.2/gcc/config/m68k/linux.h
--- gcc-4.1.2.orig/gcc/config/m68k/linux.h	2005-06-24 18:22:41.000000000 -0700
+++ gcc-4.1.2/gcc/config/m68k/linux.h	2007-02-14 07:51:38.000000000 -0800
@@ -128,7 +128,7 @@
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
+      %{!dynamic-linker*:-dynamic-linker /tools/lib/ld.so.1}} \
     %{static}}"
 
 /* For compatibility with linux/a.out */
diff -Naur gcc-4.1.2.orig/gcc/config/mips/linux.h gcc-4.1.2/gcc/config/mips/linux.h
--- gcc-4.1.2.orig/gcc/config/mips/linux.h	2006-12-17 05:57:31.000000000 -0800
+++ gcc-4.1.2/gcc/config/mips/linux.h	2007-02-14 07:51:38.000000000 -0800
@@ -112,7 +112,7 @@
     %{!ibcs: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
+        %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
         %{static:-static}}}"
 
 #undef SUBTARGET_ASM_SPEC
diff -Naur gcc-4.1.2.orig/gcc/config/mips/linux64.h gcc-4.1.2/gcc/config/mips/linux64.h
--- gcc-4.1.2.orig/gcc/config/mips/linux64.h	2005-06-24 18:22:41.000000000 -0700
+++ gcc-4.1.2/gcc/config/mips/linux64.h	2007-02-14 07:51:38.000000000 -0800
@@ -47,9 +47,9 @@
       %{!static: \
         %{rdynamic:-export-dynamic} \
         %{!dynamic-linker: \
-	  %{mabi=n32: -dynamic-linker /lib32/ld.so.1} \
-	  %{mabi=64: -dynamic-linker /lib64/ld.so.1} \
-	  %{mabi=32: -dynamic-linker /lib/ld.so.1}}} \
+	  %{mabi=n32: -dynamic-linker /tools/lib64/ld.so.1} \
+	  %{mabi=64: -dynamic-linker /tools/lib/ld.so.1} \
+	  %{mabi=32: -dynamic-linker /tools/lib32/ld.so.1}}} \
       %{static:-static}}} \
 %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} \
 %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip} \
diff -Naur gcc-4.1.2.orig/gcc/config/mn10300/linux.h gcc-4.1.2/gcc/config/mn10300/linux.h
--- gcc-4.1.2.orig/gcc/config/mn10300/linux.h	2005-06-24 18:22:41.000000000 -0700
+++ gcc-4.1.2/gcc/config/mn10300/linux.h	2007-02-14 07:51:38.000000000 -0800
@@ -37,7 +37,7 @@
 #define LINK_SPEC "%{mrelax:--relax} %{shared:-shared} \
    %{!static: \
      %{rdynamic:-export-dynamic} \
-     %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
+     %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
    %{static:-static}"
 
 #undef  PROCESSOR_DEFAULT
diff -Naur gcc-4.1.2.orig/gcc/config/pa/pa-linux.h gcc-4.1.2/gcc/config/pa/pa-linux.h
--- gcc-4.1.2.orig/gcc/config/pa/pa-linux.h	2007-01-11 18:23:38.000000000 -0800
+++ gcc-4.1.2/gcc/config/pa/pa-linux.h	2007-02-14 07:51:38.000000000 -0800
@@ -55,7 +55,7 @@
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
       %{static:-static}}"
 
 /* glibc's profiling functions don't need gcc to allocate counters.  */
diff -Naur gcc-4.1.2.orig/gcc/config/rs6000/linux64.h gcc-4.1.2/gcc/config/rs6000/linux64.h
--- gcc-4.1.2.orig/gcc/config/rs6000/linux64.h	2006-02-10 12:58:33.000000000 -0800
+++ gcc-4.1.2/gcc/config/rs6000/linux64.h	2007-02-14 07:51:38.000000000 -0800
@@ -339,11 +339,11 @@
 
 #define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
   %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
+  %{!dynamic-linker:-dynamic-linker /tools/lib32/ld.so.1}}}"
 
 #define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
   %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker /lib64/ld64.so.1}}}"
+  %{!dynamic-linker:-dynamic-linker /tools/lib/ld64.so.1}}}"
 
 #undef  TOC_SECTION_ASM_OP
 #define TOC_SECTION_ASM_OP \
diff -Naur gcc-4.1.2.orig/gcc/config/rs6000/sysv4.h gcc-4.1.2/gcc/config/rs6000/sysv4.h
--- gcc-4.1.2.orig/gcc/config/rs6000/sysv4.h	2006-02-10 12:58:33.000000000 -0800
+++ gcc-4.1.2/gcc/config/rs6000/sysv4.h	2007-02-14 07:51:38.000000000 -0800
@@ -1041,7 +1041,7 @@
 
 #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
   %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
+  %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
 
 #if defined(HAVE_LD_EH_FRAME_HDR)
 # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
@@ -1072,7 +1072,7 @@
 
 #define LINK_OS_GNU_SPEC "-m elf32ppclinux %{!shared: %{!static: \
   %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
+  %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
 
 #define CPP_OS_GNU_SPEC "-D__unix__ -D__gnu_hurd__ -D__GNU__	\
 %{!undef:					                \
diff -Naur gcc-4.1.2.orig/gcc/config/s390/linux.h gcc-4.1.2/gcc/config/s390/linux.h
--- gcc-4.1.2.orig/gcc/config/s390/linux.h	2006-12-12 07:24:07.000000000 -0800
+++ gcc-4.1.2/gcc/config/s390/linux.h	2007-02-14 07:51:38.000000000 -0800
@@ -86,8 +86,8 @@
       %{!static: \
 	%{rdynamic:-export-dynamic} \
 	%{!dynamic-linker: \
-          %{m31:-dynamic-linker /lib/ld.so.1} \
-          %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
+          %{m31:-dynamic-linker /tools/lib/ld.so.1} \
+          %{m64:-dynamic-linker /tools/lib/ld64.so.1}}}}"
 
 #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
 
diff -Naur gcc-4.1.2.orig/gcc/config/sh/linux.h gcc-4.1.2/gcc/config/sh/linux.h
--- gcc-4.1.2.orig/gcc/config/sh/linux.h	2005-06-24 18:22:41.000000000 -0700
+++ gcc-4.1.2/gcc/config/sh/linux.h	2007-02-14 07:51:38.000000000 -0800
@@ -60,7 +60,7 @@
   "%{shared:-shared} \
    %{!static: \
      %{rdynamic:-export-dynamic} \
-     %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+     %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
    %{static:-static}"
 
 /* Output assembler code to STREAM to call the profiler.  */
diff -Naur gcc-4.1.2.orig/gcc/config/sparc/linux.h gcc-4.1.2/gcc/config/sparc/linux.h
--- gcc-4.1.2.orig/gcc/config/sparc/linux.h	2006-02-11 00:38:51.000000000 -0800
+++ gcc-4.1.2/gcc/config/sparc/linux.h	2007-02-14 07:51:38.000000000 -0800
@@ -126,13 +126,13 @@
 /* If ELF is the default format, we should not use /lib/elf.  */
 
 #undef  LINK_SPEC
-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
+#define LINK_SPEC "-m elf32_sparc -Y P,/tools/lib %{shared:-shared} \
   %{!mno-relax:%{!r:-relax}} \
   %{!shared: \
     %{!ibcs: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+        %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
         %{static:-static}}}"
 
 /* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
diff -Naur gcc-4.1.2.orig/gcc/config/sparc/linux64.h gcc-4.1.2/gcc/config/sparc/linux64.h
--- gcc-4.1.2.orig/gcc/config/sparc/linux64.h	2006-02-11 00:38:51.000000000 -0800
+++ gcc-4.1.2/gcc/config/sparc/linux64.h	2007-02-14 07:51:38.000000000 -0800
@@ -162,21 +162,21 @@
   { "link_arch_default", LINK_ARCH_DEFAULT_SPEC },	  \
   { "link_arch",	 LINK_ARCH_SPEC },
     
-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
+#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/tools/lib32 %{shared:-shared} \
   %{!shared: \
     %{!ibcs: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+        %{!dynamic-linker:-dynamic-linker /tools/lib32/ld-linux.so.2}} \
         %{static:-static}}} \
 "
 
-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
+#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/tools/lib %{shared:-shared} \
   %{!shared: \
     %{!ibcs: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker /lib64/ld-linux.so.2}} \
+        %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
         %{static:-static}}} \
 "
 
@@ -252,12 +252,12 @@
 #else /* !SPARC_BI_ARCH */
 
 #undef LINK_SPEC
-#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
+#define LINK_SPEC "-m elf64_sparc -Y P,/tools/lib %{shared:-shared} \
   %{!shared: \
     %{!ibcs: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker /lib64/ld-linux.so.2}} \
+        %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
         %{static:-static}}} \
 %{mlittle-endian:-EL} \
 %{!mno-relax:%{!r:-relax}} \
diff -Naur gcc-4.1.2.orig/gcc/config/xtensa/linux.h gcc-4.1.2/gcc/config/xtensa/linux.h
--- gcc-4.1.2.orig/gcc/config/xtensa/linux.h	2005-06-24 18:22:41.000000000 -0700
+++ gcc-4.1.2/gcc/config/xtensa/linux.h	2007-02-14 07:51:38.000000000 -0800
@@ -50,7 +50,7 @@
     %{!ibcs: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
+        %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
       %{static:-static}}}"
 
 #undef LOCAL_LABEL_PREFIX


More information about the lfs-dev mailing list