On 07/23/2016 05:25 PM, Bruce Dubbs wrote:
DJ Lucas wrote:
That symlink dates back to when 64bit Linux was first introduced to
LFS, and made a good deal of sense at the time. The toolchain used to
be a PITA WRT changing the default lib search paths. Not so much
anymore. We should probably take a look at that on next release cycle,
make sure lib is preferred, maybe even drop /lib64 completely, even if
we don't kill the compatibility symlink (which I'd personally like to
see go).
I wouldn't mind seeing the /lib64 symliks go, but I'm not sure packages
would install properly. I think thy would just create the lib64
directories and lead to some files in /lib and others in /lib64 even
though all the libraries are for 64-bit systems. This would need to be
tested.
Note that we create similar symlinks in /opt/xorg.
-- Bruce
For CLFS Pure64, we don't use the symlinks, and most packages install
just fine into {/usr,}/lib without trying to create a "lib64" directory.
They usually don't try installing anything into "lib64" unless
specifically told to, so it mostly just depends on how GCC is built -
CLFS includes a "Pure64" patch for GCC which changes the path it uses
for the dynamic linker. I've built a working LFS system with the changes
in the attached patch. Beyond a base system, the only issues I've seen
were with some packages that use cmake which need
"-DLIB_INSTALL_DIR=/usr/lib" or something similar on the cmake command,
and clang, which (like GCC, as it is a compiler) needs to be edited to
link to /lib instead of /lib64.
Index: BOOK/chapter05/binutils-pass1.xml
===================================================================
--- BOOK/chapter05/binutils-pass1.xml (revision 11098)
+++ BOOK/chapter05/binutils-pass1.xml (working copy)
@@ -146,12 +146,12 @@
tests at this point are minimal since the programs from this
first pass will soon be replaced by those from the second.</para>
- <para>If building on x86_64, create a symlink to ensure the sanity of
+<!-- <para>If building on x86_64, create a symlink to ensure the sanity of
the toolchain:</para>
<screen><userinput remap="install">case $(uname -m) in
x86_64) mkdir -v /tools/lib && ln -sv lib /tools/lib64 ;;
-esac</userinput></screen>
+esac</userinput></screen> -->
<para>Install the package:</para>
Index: BOOK/chapter05/gcc-pass1.xml
===================================================================
--- BOOK/chapter05/gcc-pass1.xml (revision 11098)
+++ BOOK/chapter05/gcc-pass1.xml (working copy)
@@ -68,7 +68,7 @@
class="directory">/usr/include</filename> from GCC's include search path.
Issue:</para>
-<screen><userinput remap="pre">for file in \
+<!-- <screen><userinput remap="pre">for file in \
$(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
do
cp -uv $file{,.orig}
@@ -97,7 +97,12 @@
Finally, we use <command>touch</command> to update the timestamp on the
copied files. When used in conjunction with <command>cp -u</command>, this
prevents unexpected changes to the original files in case the commands are
- inadvertently run twice. </para>
+ inadvertently run twice. </para> -->
+
+ <screen><userinput remap="pre">patch -Np1 -i
../gcc-6.1.0-pure64_specs-1.patch
+echo -en '\n#undef STANDARD_STARTFILE_PREFIX_1\n#define
STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"\n' >> gcc/config/linux.h
+echo -en '\n#undef STANDARD_STARTFILE_PREFIX_2\n#define
STANDARD_STARTFILE_PREFIX_2 ""\n' >> gcc/config/linux.h</userinput></screen>
+
<!--
<para>GCC doesn't detect stack protection correctly, which causes problems
for the build of Glibc-&glibc-version;, so fix that by issuing the
following
Index: BOOK/chapter05/gcc-pass2.xml
===================================================================
--- BOOK/chapter05/gcc-pass2.xml (revision 11098)
+++ BOOK/chapter05/gcc-pass2.xml (working copy)
@@ -70,7 +70,7 @@
use the one installed in <filename
class="directory">/tools</filename>.</para>
-<screen><userinput remap="pre">for file in \
+<!-- <screen><userinput remap="pre">for file in \
$(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
do
cp -uv $file{,.orig}
@@ -82,8 +82,12 @@
#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"
#define STANDARD_STARTFILE_PREFIX_2 ""' >> $file
touch $file.orig
-done</userinput></screen>
+done</userinput></screen> -->
+ <screen><userinput remap="pre">patch -Np1 -i
../gcc-6.1.0-pure64_specs-1.patch
+echo -en '\n#undef STANDARD_STARTFILE_PREFIX_1\n#define
STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"\n' >> gcc/config/linux.h
+echo -en '\n#undef STANDARD_STARTFILE_PREFIX_2\n#define
STANDARD_STARTFILE_PREFIX_2 ""\n' >> gcc/config/linux.h</userinput></screen>
+
<para>As in the first build of GCC it requires the GMP, MPFR and MPC
packages. Unpack the tarballs and move them into the required directory
names:</para>
Index: BOOK/chapter06/creatingdirs.xml
===================================================================
--- BOOK/chapter06/creatingdirs.xml (revision 11098)
+++ BOOK/chapter06/creatingdirs.xml (working copy)
@@ -22,13 +22,6 @@
mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir -v /usr/libexec
mkdir -pv /usr/{,local/}share/man/man{1..8}
-
-case $(uname -m) in
- x86_64) ln -sv lib /lib64
- ln -sv lib /usr/lib64
- ln -sv lib /usr/local/lib64 ;;
-esac
-
mkdir -v /var/{log,mail,spool}
ln -sv /run /var/run
ln -sv /run/lock /var/lock
Index: BOOK/chapter06/gcc.xml
===================================================================
--- BOOK/chapter06/gcc.xml (revision 11098)
+++ BOOK/chapter06/gcc.xml (working copy)
@@ -41,6 +41,12 @@
<sect2 role="installation">
<title>Installation of GCC</title>
+ <para>Apply the following patch so that GCC uses the dynamic linker in
+ <systemitem class="directory">/lib</systemitem> instead of
+ <systemitem class="directory">/lib64</systemitem>:</para>
+
+<screen><userinput remap="pre">patch -Np1 -i
../gcc-&gcc-version;-pure64-1.patch</userinput></screen>
+
<para>The GCC documentation recommends building GCC in a dedicated build
directory:</para>
<screen><userinput remap="pre">mkdir -v build
Index: BOOK/chapter06/glibc.xml
===================================================================
--- BOOK/chapter06/glibc.xml (revision 11098)
+++ BOOK/chapter06/glibc.xml (working copy)
@@ -72,6 +72,11 @@
<screen><userinput remap="pre">patch -Np1 -i
../&glibc-upstream-patch;</userinput></screen>
+ <para>Enusre that the <command>ldd</command> script uses the dynamic
+ linker in <systemitem class="directory">/lib</systemitem>:</para>
+
+<screen><userinput remap="pre">sed -i '/RTLDLIST/d' $(find ${srcdir}/ -name
ldd-rewrite.sed)</userinput></screen>
+
<para>The Glibc documentation recommends building Glibc
in a dedicated build directory:</para>
@@ -82,7 +87,8 @@
<screen><userinput remap="configure">../configure --prefix=/usr \
--enable-kernel=&min-kernel; \
- --enable-obsolete-rpc</userinput></screen>
+ --enable-obsolete-rpc \
+ libc_cv_slibdir=/lib</userinput></screen>
<para>Compile the package:</para>
Submitted By: William Harrington <kb0iic at cross-lfs dot org>
Date: 12-28-2015
Initial Package Version: 5.2.0
Origin: Idea originally developed by Ryan Oliver and Greg Schafer for
the Pure LFS project with help from
Martin Ward
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.
Comment: Renamed for GCC 5.3.0
diff -Naur gcc-6.1.0.orig/gcc/config/i386/linux64.h
gcc-6.1.0/gcc/config/i386/linux64.h
--- gcc-6.1.0.orig/gcc/config/i386/linux64.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/i386/linux64.h 2016-05-12 02:55:51.000000000 -0400
@@ -27,8 +27,8 @@
#define GNU_USER_LINK_EMULATION64 "elf_x86_64"
#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
-#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"
#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
#undef MUSL_DYNAMIC_LINKER32
diff -Naur gcc-6.1.0.orig/gcc/config/i386/t-linux64
gcc-6.1.0/gcc/config/i386/t-linux64
--- gcc-6.1.0.orig/gcc/config/i386/t-linux64 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/i386/t-linux64 2016-05-12 02:55:51.000000000 -0400
@@ -33,6 +33,6 @@
comma=,
MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo
$(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call
if_multiarch,:i386-linux-gnu)
+MULTILIB_OSDIRNAMES = m64=../lib$(call if_multiarch,:x86_64-linux-gnu)
+MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo
$(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call
if_multiarch,:i386-linux-gnu)
MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
diff -Naur gcc-6.1.0.orig/gcc/config/linux.h gcc-6.1.0/gcc/config/linux.h
--- gcc-6.1.0.orig/gcc/config/linux.h 2016-01-04 09:30:50.000000000 -0500
+++ gcc-6.1.0/gcc/config/linux.h 2016-05-12 02:55:51.000000000 -0400
@@ -82,7 +82,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 UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
#define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
diff -Naur gcc-6.1.0.orig/gcc/config/mips/t-linux64
gcc-6.1.0/gcc/config/mips/t-linux64
--- gcc-6.1.0.orig/gcc/config/mips/t-linux64 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/mips/t-linux64 2016-05-12 02:55:51.000000000 -0400
@@ -22,5 +22,5 @@
MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default))
$(filter soft, $(with_float))),soft)
MULTILIB_OSDIRNAMES = \
../lib32$(call
if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
- ../lib64$(call
if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
+ ../lib32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
+ ../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
diff -Naur gcc-6.1.0.orig/gcc/config/rs6000/linux64.h
gcc-6.1.0/gcc/config/rs6000/linux64.h
--- gcc-6.1.0.orig/gcc/config/rs6000/linux64.h 2016-01-21 12:32:28.000000000
-0500
+++ gcc-6.1.0/gcc/config/rs6000/linux64.h 2016-05-12 03:00:52.000000000
-0400
@@ -412,16 +412,16 @@
#undef LINK_OS_DEFAULT_SPEC
#define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
-#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
#ifdef LINUX64_DEFAULT_ABI_ELFv2
#define GLIBC_DYNAMIC_LINKER64 \
-"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \
-":%(dynamic_linker_prefix)/lib64/ld64.so.2}"
+"%{mabi=elfv1:/lib/ld64.so.1;" \
+":/lib/ld64.so.2}"
#else
#define GLIBC_DYNAMIC_LINKER64 \
-"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \
-":%(dynamic_linker_prefix)/lib64/ld64.so.1}"
+"%{mabi=elfv2:/lib/ld64.so.2;" \
+":/lib/ld64.so.1}"
#endif
#define MUSL_DYNAMIC_LINKER32 \
@@ -429,7 +429,7 @@
#define MUSL_DYNAMIC_LINKER64 \
"/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
-#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"
#if DEFAULT_LIBC == LIBC_UCLIBC
#define CHOOSE_DYNAMIC_LINKER(G, U, M) \
diff -Naur gcc-6.1.0.orig/gcc/config/rs6000/t-linux64
gcc-6.1.0/gcc/config/rs6000/t-linux64
--- gcc-6.1.0.orig/gcc/config/rs6000/t-linux64 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/rs6000/t-linux64 2016-05-12 02:55:51.000000000
-0400
@@ -28,8 +28,8 @@
MULTILIB_OPTIONS := m64/m32
MULTILIB_DIRNAMES := 64 32
MULTILIB_EXTRA_OPTS :=
-MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo
$(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call
if_multiarch,:powerpc-linux-gnu)
+MULTILIB_OSDIRNAMES := m64=../lib$(call if_multiarch,:powerpc64-linux-gnu)
+MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo
$(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call
if_multiarch,:powerpc-linux-gnu)
rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
$(COMPILE) $<
diff -Naur gcc-6.1.0.orig/gcc/config/s390/linux.h
gcc-6.1.0/gcc/config/s390/linux.h
--- gcc-6.1.0.orig/gcc/config/s390/linux.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/s390/linux.h 2016-05-12 02:55:51.000000000 -0400
@@ -60,7 +60,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-6.1.0.orig/gcc/config/s390/t-linux64
gcc-6.1.0/gcc/config/s390/t-linux64
--- gcc-6.1.0.orig/gcc/config/s390/t-linux64 2012-11-21 11:13:28.000000000
-0500
+++ gcc-6.1.0/gcc/config/s390/t-linux64 2016-05-12 02:55:51.000000000 -0400
@@ -7,5 +7,5 @@
MULTILIB_OPTIONS = m64/m31
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu)
-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo
$(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call
if_multiarch,:s390-linux-gnu)
+MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:s390x-linux-gnu)
+MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo
$(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call
if_multiarch,:s390-linux-gnu)
diff -Naur gcc-6.1.0.orig/gcc/config/sparc/linux64.h
gcc-6.1.0/gcc/config/sparc/linux64.h
--- gcc-6.1.0.orig/gcc/config/sparc/linux64.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/sparc/linux64.h 2016-05-12 02:55:51.000000000
-0400
@@ -84,8 +84,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
@@ -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-6.1.0.orig/gcc/config/sparc/linux.h
gcc-6.1.0/gcc/config/sparc/linux.h
--- gcc-6.1.0.orig/gcc/config/sparc/linux.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/sparc/linux.h 2016-05-12 02:55:51.000000000 -0400
@@ -83,7 +83,7 @@
When the -shared link option is used a final link is not being
done. */
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER "/lib32/ld-linux.so.2"
#undef LINK_SPEC
#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
diff -Naur gcc-6.1.0.orig/gcc/config/sparc/t-linux64
gcc-6.1.0/gcc/config/sparc/t-linux64
--- gcc-6.1.0.orig/gcc/config/sparc/t-linux64 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/sparc/t-linux64 2016-05-12 02:55:51.000000000
-0400
@@ -25,5 +25,5 @@
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu)
-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo
$(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call
if_multiarch,:sparc-linux-gnu)
+MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:sparc64-linux-gnu)
+MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo
$(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call
if_multiarch,:sparc-linux-gnu)
Submitted By: William Harrington <kb0iic at cross-lfs dot org>
Date: 12-28-2015
Initial Package Version: 5.1.0
Origin: Idea originally developed by Ryan Oliver and Greg Schafer for
the Pure LFS project with help from
Martin Ward <[email protected]>
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.
Comment: Renamed for GCC 5.3.0
diff -Naur gcc-6.1.0.orig/gcc/config/aarch64/aarch64-linux.h
gcc-6.1.0/gcc/config/aarch64/aarch64-linux.h
--- gcc-6.1.0.orig/gcc/config/aarch64/aarch64-linux.h 2016-03-10
08:29:48.000000000 -0500
+++ gcc-6.1.0/gcc/config/aarch64/aarch64-linux.h 2016-05-12
02:31:25.000000000 -0400
@@ -21,7 +21,7 @@
#ifndef GCC_AARCH64_LINUX_H
#define GCC_AARCH64_LINUX_H
-#define GLIBC_DYNAMIC_LINKER
"/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+#define GLIBC_DYNAMIC_LINKER
"/tools/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
#undef MUSL_DYNAMIC_LINKER
#define MUSL_DYNAMIC_LINKER
"/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
diff -Naur gcc-6.1.0.orig/gcc/config/alpha/linux-elf.h
gcc-6.1.0/gcc/config/alpha/linux-elf.h
--- gcc-6.1.0.orig/gcc/config/alpha/linux-elf.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/alpha/linux-elf.h 2016-05-12 02:31:25.000000000
-0400
@@ -23,8 +23,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 DEFAULT_LIBC == LIBC_UCLIBC
#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
#elif DEFAULT_LIBC == LIBC_GLIBC
diff -Naur gcc-6.1.0.orig/gcc/config/arm/linux-eabi.h
gcc-6.1.0/gcc/config/arm/linux-eabi.h
--- gcc-6.1.0.orig/gcc/config/arm/linux-eabi.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/arm/linux-eabi.h 2016-05-12 02:31:25.000000000
-0400
@@ -68,8 +68,8 @@
GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */
#undef GLIBC_DYNAMIC_LINKER
-#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
-#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
+#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/tools/lib/ld-linux.so.3"
+#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/tools/lib/ld-linux-armhf.so.3"
#define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
#define GLIBC_DYNAMIC_LINKER \
diff -Naur gcc-6.1.0.orig/gcc/config/arm/linux-elf.h
gcc-6.1.0/gcc/config/arm/linux-elf.h
--- gcc-6.1.0.orig/gcc/config/arm/linux-elf.h 2016-03-31 11:48:47.000000000
-0400
+++ gcc-6.1.0/gcc/config/arm/linux-elf.h 2016-05-12 02:31:25.000000000
-0400
@@ -62,7 +62,7 @@
#define LIBGCC_SPEC "%{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*} \
%{static:-Bstatic} \
diff -Naur gcc-6.1.0.orig/gcc/config/bfin/linux.h
gcc-6.1.0/gcc/config/bfin/linux.h
--- gcc-6.1.0.orig/gcc/config/bfin/linux.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/bfin/linux.h 2016-05-12 02:31:25.000000000 -0400
@@ -45,7 +45,7 @@
%{shared:-G -Bdynamic} \
%{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
- -dynamic-linker /lib/ld-uClibc.so.0} \
+ -dynamic-linker /tools/lib/ld-uClibc.so.0} \
%{static}} -init __init -fini __fini"
#undef TARGET_SUPPORTS_SYNC_CALLS
diff -Naur gcc-6.1.0.orig/gcc/config/c6x/uclinux-elf.h
gcc-6.1.0/gcc/config/c6x/uclinux-elf.h
--- gcc-6.1.0.orig/gcc/config/c6x/uclinux-elf.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/c6x/uclinux-elf.h 2016-05-12 02:31:25.000000000
-0400
@@ -36,7 +36,7 @@
#define STARTFILE_SPEC \
"%{!shared:crt1%O%s} crti%O%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+#define UCLIBC_DYNAMIC_LINKER "/tools/lib/ld-uClibc.so.0"
#undef LINK_SPEC
#define LINK_SPEC ENDIAN_LINK_SPEC \
diff -Naur gcc-6.1.0.orig/gcc/config/cris/linux.h
gcc-6.1.0/gcc/config/cris/linux.h
--- gcc-6.1.0.orig/gcc/config/cris/linux.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/cris/linux.h 2016-05-12 02:31:25.000000000 -0400
@@ -102,7 +102,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"
#undef CRIS_LINK_SUBTARGET_SPEC
#define CRIS_LINK_SUBTARGET_SPEC \
diff -Naur gcc-6.1.0.orig/gcc/config/freebsd-spec.h
gcc-6.1.0/gcc/config/freebsd-spec.h
--- gcc-6.1.0.orig/gcc/config/freebsd-spec.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/freebsd-spec.h 2016-05-12 02:31:25.000000000 -0400
@@ -131,7 +131,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
/* NOTE: The freebsd-spec.h header is included also for various
diff -Naur gcc-6.1.0.orig/gcc/config/frv/linux.h
gcc-6.1.0/gcc/config/frv/linux.h
--- gcc-6.1.0.orig/gcc/config/frv/linux.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/frv/linux.h 2016-05-12 02:31:25.000000000 -0400
@@ -34,7 +34,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-6.1.0.orig/gcc/config/i386/gnu.h gcc-6.1.0/gcc/config/i386/gnu.h
--- gcc-6.1.0.orig/gcc/config/i386/gnu.h 2016-03-29 17:17:53.000000000
-0400
+++ gcc-6.1.0/gcc/config/i386/gnu.h 2016-05-12 02:31:25.000000000 -0400
@@ -22,7 +22,7 @@
#define GNU_USER_LINK_EMULATION "elf_i386"
#undef GNU_USER_DYNAMIC_LINKER
-#define GNU_USER_DYNAMIC_LINKER "/lib/ld.so"
+#define GNU_USER_DYNAMIC_LINKER "/tools/lib/ld.so"
#undef STARTFILE_SPEC
#if defined HAVE_LD_PIE
diff -Naur gcc-6.1.0.orig/gcc/config/i386/kfreebsd-gnu64.h
gcc-6.1.0/gcc/config/i386/kfreebsd-gnu64.h
--- gcc-6.1.0.orig/gcc/config/i386/kfreebsd-gnu64.h 2016-01-04
09:30:50.000000000 -0500
+++ gcc-6.1.0/gcc/config/i386/kfreebsd-gnu64.h 2016-05-12 02:31:25.000000000
-0400
@@ -22,6 +22,6 @@
#define GNU_USER_LINK_EMULATION64 "elf_x86_64_fbsd"
#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64_fbsd"
-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
-#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-kfreebsd-x86-64.so.1"
-#define GLIBC_DYNAMIC_LINKERX32 "/lib/ld-kfreebsd-x32.so.1"
+#define GLIBC_DYNAMIC_LINKER32 "/tools/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER64 "/tools/lib/ld-kfreebsd-x86-64.so.1"
+#define GLIBC_DYNAMIC_LINKERX32 "/tools/lib/ld-kfreebsd-x32.so.1"
diff -Naur gcc-6.1.0.orig/gcc/config/i386/kfreebsd-gnu.h
gcc-6.1.0/gcc/config/i386/kfreebsd-gnu.h
--- gcc-6.1.0.orig/gcc/config/i386/kfreebsd-gnu.h 2016-01-04
09:30:50.000000000 -0500
+++ gcc-6.1.0/gcc/config/i386/kfreebsd-gnu.h 2016-05-12 02:31:25.000000000
-0400
@@ -19,4 +19,4 @@
<http://www.gnu.org/licenses/>. */
#define GNU_USER_LINK_EMULATION "elf_i386_fbsd"
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so.1"
diff -Naur gcc-6.1.0.orig/gcc/config/i386/linux64.h
gcc-6.1.0/gcc/config/i386/linux64.h
--- gcc-6.1.0.orig/gcc/config/i386/linux64.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/i386/linux64.h 2016-05-12 02:33:48.000000000 -0400
@@ -27,9 +27,9 @@
#define GNU_USER_LINK_EMULATION64 "elf_x86_64"
#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
-#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
+#define GLIBC_DYNAMIC_LINKER32 "/tools/lib32/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER64 "/tools/lib/ld-linux-x86-64.so.2"
+#define GLIBC_DYNAMIC_LINKERX32 "/tools/libx32/ld-linux-x32.so.2"
#undef MUSL_DYNAMIC_LINKER32
#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
diff -Naur gcc-6.1.0.orig/gcc/config/i386/linux.h
gcc-6.1.0/gcc/config/i386/linux.h
--- gcc-6.1.0.orig/gcc/config/i386/linux.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/i386/linux.h 2016-05-12 02:33:12.000000000 -0400
@@ -20,7 +20,7 @@
<http://www.gnu.org/licenses/>. */
#define GNU_USER_LINK_EMULATION "elf_i386"
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
#undef MUSL_DYNAMIC_LINKER
#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
diff -Naur gcc-6.1.0.orig/gcc/config/i386/t-linux64
gcc-6.1.0/gcc/config/i386/t-linux64
--- gcc-6.1.0.orig/gcc/config/i386/t-linux64 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/i386/t-linux64 2016-05-12 02:31:25.000000000 -0400
@@ -33,6 +33,6 @@
comma=,
MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo
$(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call
if_multiarch,:i386-linux-gnu)
+MULTILIB_OSDIRNAMES = m64=../lib$(call if_multiarch,:x86_64-linux-gnu)
+MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo
$(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call
if_multiarch,:i386-linux-gnu)
MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
diff -Naur gcc-6.1.0.orig/gcc/config/ia64/linux.h
gcc-6.1.0/gcc/config/ia64/linux.h
--- gcc-6.1.0.orig/gcc/config/ia64/linux.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/ia64/linux.h 2016-05-12 02:31:25.000000000 -0400
@@ -55,7 +55,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-6.1.0.orig/gcc/config/knetbsd-gnu.h
gcc-6.1.0/gcc/config/knetbsd-gnu.h
--- gcc-6.1.0.orig/gcc/config/knetbsd-gnu.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/knetbsd-gnu.h 2016-05-12 02:31:25.000000000 -0400
@@ -32,4 +32,4 @@
#undef GNU_USER_DYNAMIC_LINKER
-#define GNU_USER_DYNAMIC_LINKER "/lib/ld.so.1"
+#define GNU_USER_DYNAMIC_LINKER "/tools/lib/ld.so.1"
diff -Naur gcc-6.1.0.orig/gcc/config/kopensolaris-gnu.h
gcc-6.1.0/gcc/config/kopensolaris-gnu.h
--- gcc-6.1.0.orig/gcc/config/kopensolaris-gnu.h 2016-01-04
09:30:50.000000000 -0500
+++ gcc-6.1.0/gcc/config/kopensolaris-gnu.h 2016-05-12 02:31:25.000000000
-0400
@@ -31,4 +31,4 @@
while (0)
#undef GNU_USER_DYNAMIC_LINKER
-#define GNU_USER_DYNAMIC_LINKER "/lib/ld.so.1"
+#define GNU_USER_DYNAMIC_LINKER "/tools/lib/ld.so.1"
diff -Naur gcc-6.1.0.orig/gcc/config/linux.h gcc-6.1.0/gcc/config/linux.h
--- gcc-6.1.0.orig/gcc/config/linux.h 2016-01-04 09:30:50.000000000 -0500
+++ gcc-6.1.0/gcc/config/linux.h 2016-05-12 02:31:25.000000000 -0400
@@ -81,10 +81,10 @@
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_LINKERX32 "/lib/ldx32-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 UCLIBC_DYNAMIC_LINKERX32 "/tools/lib/ldx32-uClibc.so.0"
#define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
#define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
#define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
diff -Naur gcc-6.1.0.orig/gcc/config/lm32/uclinux-elf.h
gcc-6.1.0/gcc/config/lm32/uclinux-elf.h
--- gcc-6.1.0.orig/gcc/config/lm32/uclinux-elf.h 2016-01-04
09:30:50.000000000 -0500
+++ gcc-6.1.0/gcc/config/lm32/uclinux-elf.h 2016-05-12 02:31:25.000000000
-0400
@@ -67,7 +67,7 @@
%{shared:-shared} \
%{symbolic:-Bsymbolic} \
%{rdynamic:-export-dynamic} \
- -dynamic-linker /lib/ld-linux.so.2"
+ -dynamic-linker /tools/lib/ld-linux.so.2"
#define TARGET_OS_CPP_BUILTINS() GNU_USER_TARGET_OS_CPP_BUILTINS()
diff -Naur gcc-6.1.0.orig/gcc/config/m32r/linux.h
gcc-6.1.0/gcc/config/m32r/linux.h
--- gcc-6.1.0.orig/gcc/config/m32r/linux.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/m32r/linux.h 2016-05-12 02:31:25.000000000 -0400
@@ -37,7 +37,7 @@
When the -shared link option is used a final link is not being
done. */
-#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-6.1.0.orig/gcc/config/m68k/linux.h
gcc-6.1.0/gcc/config/m68k/linux.h
--- gcc-6.1.0.orig/gcc/config/m68k/linux.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/m68k/linux.h 2016-05-12 02:31:25.000000000 -0400
@@ -71,7 +71,7 @@
When the -shared link option is used a final link is not being
done. */
-#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-6.1.0.orig/gcc/config/microblaze/linux.h
gcc-6.1.0/gcc/config/microblaze/linux.h
--- gcc-6.1.0.orig/gcc/config/microblaze/linux.h 2016-01-04
09:30:50.000000000 -0500
+++ gcc-6.1.0/gcc/config/microblaze/linux.h 2016-05-12 02:35:49.000000000
-0400
@@ -28,7 +28,7 @@
#undef TLS_NEEDS_GOT
#define TLS_NEEDS_GOT 1
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so.1"
#if TARGET_BIG_ENDIAN_DEFAULT == 0 /* LE */
#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:;:el}"
diff -Naur gcc-6.1.0.orig/gcc/config/mn10300/linux.h
gcc-6.1.0/gcc/config/mn10300/linux.h
--- gcc-6.1.0.orig/gcc/config/mn10300/linux.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/mn10300/linux.h 2016-05-12 02:31:25.000000000
-0400
@@ -32,7 +32,7 @@
#undef ASM_SPEC
#define ASM_SPEC ""
-#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-6.1.0.orig/gcc/config/nios2/linux.h
gcc-6.1.0/gcc/config/nios2/linux.h
--- gcc-6.1.0.orig/gcc/config/nios2/linux.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/nios2/linux.h 2016-05-12 02:31:25.000000000 -0400
@@ -29,7 +29,7 @@
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld-linux-nios2.so.1"
#undef LINK_SPEC
#define LINK_SPEC LINK_SPEC_ENDIAN \
diff -Naur gcc-6.1.0.orig/gcc/config/pa/pa-linux.h
gcc-6.1.0/gcc/config/pa/pa-linux.h
--- gcc-6.1.0.orig/gcc/config/pa/pa-linux.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/pa/pa-linux.h 2016-05-12 02:31:25.000000000 -0400
@@ -37,7 +37,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-6.1.0.orig/gcc/config/rs6000/linux64.h
gcc-6.1.0/gcc/config/rs6000/linux64.h
--- gcc-6.1.0.orig/gcc/config/rs6000/linux64.h 2016-01-21 12:32:28.000000000
-0500
+++ gcc-6.1.0/gcc/config/rs6000/linux64.h 2016-05-12 02:51:16.000000000
-0400
@@ -412,16 +412,16 @@
#undef LINK_OS_DEFAULT_SPEC
#define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
-#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER32 "/tools/lib/ld.so.1"
#ifdef LINUX64_DEFAULT_ABI_ELFv2
#define GLIBC_DYNAMIC_LINKER64 \
-"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \
-":%(dynamic_linker_prefix)/lib64/ld64.so.2}"
+"%{mabi=elfv1:/tools/lib64/ld64.so.1;" \
+":/tools/lib64/ld64.so.2}"
#else
#define GLIBC_DYNAMIC_LINKER64 \
-"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \
-":%(dynamic_linker_prefix)/lib64/ld64.so.1}"
+"%{mabi=elfv2:/tools/lib64/ld64.so.2;" \
+":/tools/lib64/ld64.so.1}"
#endif
#define MUSL_DYNAMIC_LINKER32 \
@@ -429,8 +429,8 @@
#define MUSL_DYNAMIC_LINKER64 \
"/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
+#define UCLIBC_DYNAMIC_LINKER32 "/tools/lib/ld-uClibc.so.0"
+#define UCLIBC_DYNAMIC_LINKER64 "/tools/lib/ld64-uClibc.so.0"
#if DEFAULT_LIBC == LIBC_UCLIBC
#define CHOOSE_DYNAMIC_LINKER(G, U, M) \
"%{mglibc:" G ";:%{mmusl:" M ";:" U "}}"
diff -Naur gcc-6.1.0.orig/gcc/config/rs6000/sysv4.h
gcc-6.1.0/gcc/config/rs6000/sysv4.h
--- gcc-6.1.0.orig/gcc/config/rs6000/sysv4.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/rs6000/sysv4.h 2016-05-12 02:39:52.000000000 -0400
@@ -764,8 +764,8 @@
#define MUSL_DYNAMIC_LINKER_E ENDIAN_SELECT("","le","")
-#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"
#define MUSL_DYNAMIC_LINKER \
"/lib/ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
#if DEFAULT_LIBC == LIBC_UCLIBC
diff -Naur gcc-6.1.0.orig/gcc/config/s390/linux.h
gcc-6.1.0/gcc/config/s390/linux.h
--- gcc-6.1.0.orig/gcc/config/s390/linux.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/s390/linux.h 2016-05-12 02:31:25.000000000 -0400
@@ -60,8 +60,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-6.1.0.orig/gcc/config/sh/linux.h gcc-6.1.0/gcc/config/sh/linux.h
--- gcc-6.1.0.orig/gcc/config/sh/linux.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/sh/linux.h 2016-05-12 02:31:25.000000000 -0400
@@ -64,7 +64,7 @@
"/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \
"%{mfdpic:-fdpic}.so.1"
-#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 "%{mfdpic:_fd;:_linux}"
diff -Naur gcc-6.1.0.orig/gcc/config/sparc/linux64.h
gcc-6.1.0/gcc/config/sparc/linux64.h
--- gcc-6.1.0.orig/gcc/config/sparc/linux64.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/sparc/linux64.h 2016-05-12 02:31:25.000000000
-0400
@@ -84,8 +84,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 "/tools/lib/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER64 "/tools/lib64/ld-linux.so.2"
#ifdef SPARC_BI_ARCH
@@ -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/tools/lib64 %{shared:-shared} \
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \
diff -Naur gcc-6.1.0.orig/gcc/config/sparc/linux.h
gcc-6.1.0/gcc/config/sparc/linux.h
--- gcc-6.1.0.orig/gcc/config/sparc/linux.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/sparc/linux.h 2016-05-12 02:31:25.000000000 -0400
@@ -83,7 +83,7 @@
When the -shared link option is used a final link is not being
done. */
-#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 %{shared:-shared} \
diff -Naur gcc-6.1.0.orig/gcc/config/xtensa/linux.h
gcc-6.1.0/gcc/config/xtensa/linux.h
--- gcc-6.1.0.orig/gcc/config/xtensa/linux.h 2016-01-04 09:30:50.000000000
-0500
+++ gcc-6.1.0/gcc/config/xtensa/linux.h 2016-05-12 02:31:25.000000000 -0400
@@ -46,7 +46,7 @@
%{mauto-litpools:--auto-litpools} \
%{mno-auto-litpools:--no-auto-litpools}"
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so.1"
#undef LINK_SPEC
#define LINK_SPEC \
--
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page