Commit 09478a80 authored by Vladimir Bashkirtsev's avatar Vladimir Bashkirtsev

Fixed ldd not to use /lib64 on x86-64 systems

parent 8d97c8d9
all: nsswitch.conf ld.so.conf
tar xf glibc-2.27.tar.xz
patch -Np1 -d glibc-2.27 < glibc-2.27-fhs-1.patch
patch -Np1 -d glibc-2.27 < glibc-2.27-no_lib64_and_libx32.patch
$(eval LINKER=$(shell readelf -l /tools/bin/bash | sed -n 's@.*interpret.*/tools\(.*\)\]$$@\1@p'))
cd glibc-2.27 && sed -i 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=$(LINKER) -o|' scripts/test-installation.pl
cd glibc-2.27 && sed -i 's|/lib64/ld-linux-x86-64.so.2|/lib/ld-linux-x86-64.so.2|' sysdeps/unix/sysv/linux/x86_64/ldconfig.h
cd glibc-2.27 && sed -i 's/\\$$$$(pwd)/`pwd`/' timezone/Makefile
mkdir glibc-build
cd glibc-build && ../glibc-2.27/configure --build=$(CLFS_TARGET) --host=$(CLFS_TARGET) --prefix=/usr --disable-werror --enable-kernel=4.14.36 --enable-stack-protector=strong libc_cv_slibdir=/lib
......
diff -uNr glibc-2.27/sysdeps/unix/sysv/linux/x86_64/64/configure glibc-2.27-no_lib64_and_libx32/sysdeps/unix/sysv/linux/x86_64/64/configure
--- glibc-2.27/sysdeps/unix/sysv/linux/x86_64/64/configure 2018-02-02 02:47:18.000000000 +1030
+++ glibc-2.27-no_lib64_and_libx32/sysdeps/unix/sysv/linux/x86_64/64/configure 2019-06-15 20:24:58.791551258 +0930
@@ -4,10 +4,10 @@
test -n "$libc_cv_slibdir" ||
case "$prefix" in
/usr | /usr/)
- libc_cv_slibdir='/lib64'
- libc_cv_rtlddir='/lib64'
+ libc_cv_slibdir='/lib'
+ libc_cv_rtlddir='/lib'
if test "$libdir" = '${exec_prefix}/lib'; then
- libdir='${exec_prefix}/lib64';
+ libdir='${exec_prefix}/lib';
# Locale data can be shared between 32-bit and 64-bit libraries.
libc_cv_complocaledir='${exec_prefix}/lib/locale'
fi
diff -uNr glibc-2.27/sysdeps/unix/sysv/linux/x86_64/64/configure.ac glibc-2.27-no_lib64_and_libx32/sysdeps/unix/sysv/linux/x86_64/64/configure.ac
--- glibc-2.27/sysdeps/unix/sysv/linux/x86_64/64/configure.ac 2018-02-02 02:47:18.000000000 +1030
+++ glibc-2.27-no_lib64_and_libx32/sysdeps/unix/sysv/linux/x86_64/64/configure.ac 2019-06-15 20:25:21.267623976 +0930
@@ -1,4 +1,4 @@
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
# Local configure fragment for sysdeps/unix/sysv/linux/x86_64/64.
-LIBC_SLIBDIR_RTLDDIR([lib64], [lib64])
+LIBC_SLIBDIR_RTLDDIR([lib], [lib])
diff -uNr glibc-2.27/sysdeps/unix/sysv/linux/x86_64/ldconfig.h glibc-2.27-no_lib64_and_libx32/sysdeps/unix/sysv/linux/x86_64/ldconfig.h
--- glibc-2.27/sysdeps/unix/sysv/linux/x86_64/ldconfig.h 2018-02-02 02:47:18.000000000 +1030
+++ glibc-2.27-no_lib64_and_libx32/sysdeps/unix/sysv/linux/x86_64/ldconfig.h 2019-06-15 20:26:15.095798130 +0930
@@ -19,8 +19,8 @@
#define SYSDEP_KNOWN_INTERPRETER_NAMES \
{ "/lib/ld-linux.so.2", FLAG_ELF_LIBC6 }, \
- { "/libx32/ld-linux-x32.so.2", FLAG_ELF_LIBC6 }, \
- { "/lib64/ld-linux-x86-64.so.2", FLAG_ELF_LIBC6 },
+ { "/lib/ld-linux-x32.so.2", FLAG_ELF_LIBC6 }, \
+ { "/lib/ld-linux-x86-64.so.2", FLAG_ELF_LIBC6 },
#define SYSDEP_KNOWN_LIBRARY_NAMES \
{ "libc.so.6", FLAG_ELF_LIBC6 }, \
{ "libm.so.6", FLAG_ELF_LIBC6 },
diff -uNr glibc-2.27/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed glibc-2.27-no_lib64_and_libx32/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed
--- glibc-2.27/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed 2018-02-02 02:47:18.000000000 +1030
+++ glibc-2.27-no_lib64_and_libx32/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed 2019-06-15 20:27:39.232069122 +0930
@@ -1,3 +1,3 @@
/LD_TRACE_LOADED_OBJECTS=1/a\
add_env="$add_env LD_LIBRARY_VERSION=\\$verify_out"
-s_^\(RTLDLIST=\)\(.*lib\)\(\|64\|x32\)\(/[^/]*\)\(-x86-64\|-x32\)\(\.so\.[0-9.]*\)[ ]*$_\1"\2\4\6 \264\4-x86-64\6 \2x32\4-x32\6"_
+s_^\(RTLDLIST=\)\(.*lib\)\(\|64\|x32\)\(/[^/]*\)\(-x86-64\|-x32\)\(\.so\.[0-9.]*\)[ ]*$_\1"\2\4\6 \2\4-x86-64\6 \2\4-x32\6"_
diff -uNr glibc-2.27/sysdeps/unix/sysv/linux/x86_64/x32/configure glibc-2.27-no_lib64_and_libx32/sysdeps/unix/sysv/linux/x86_64/x32/configure
--- glibc-2.27/sysdeps/unix/sysv/linux/x86_64/x32/configure 2018-02-02 02:47:18.000000000 +1030
+++ glibc-2.27-no_lib64_and_libx32/sysdeps/unix/sysv/linux/x86_64/x32/configure 2019-06-15 20:26:32.703855099 +0930
@@ -6,10 +6,10 @@
test -n "$libc_cv_slibdir" ||
case "$prefix" in
/usr | /usr/)
- libc_cv_slibdir='/libx32'
- libc_cv_rtlddir='/libx32'
+ libc_cv_slibdir='/lib'
+ libc_cv_rtlddir='/lib'
if test "$libdir" = '${exec_prefix}/lib'; then
- libdir='${exec_prefix}/libx32';
+ libdir='${exec_prefix}/lib';
# Locale data can be shared between 32-bit and 64-bit libraries.
libc_cv_complocaledir='${exec_prefix}/lib/locale'
fi
diff -uNr glibc-2.27/sysdeps/unix/sysv/linux/x86_64/x32/configure.ac glibc-2.27-no_lib64_and_libx32/sysdeps/unix/sysv/linux/x86_64/x32/configure.ac
--- glibc-2.27/sysdeps/unix/sysv/linux/x86_64/x32/configure.ac 2018-02-02 02:47:18.000000000 +1030
+++ glibc-2.27-no_lib64_and_libx32/sysdeps/unix/sysv/linux/x86_64/x32/configure.ac 2019-06-15 20:26:39.435876879 +0930
@@ -3,4 +3,4 @@
arch_minimum_kernel=3.4.0
-LIBC_SLIBDIR_RTLDDIR([libx32], [libx32])
+LIBC_SLIBDIR_RTLDDIR([lib], [lib])
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment