gcc: refactor "pure" 64-bit library path patch handling
now all adjustments for lib64->lib are handled through a single patch in gcc, which is also applied in every 64-bit crosscompiler this makes things more obvious, and besides other things also fixes how this works on aarch64, etc
This commit is contained in:
parent
9bec438a81
commit
a7af0e5cf0
23 changed files with 240 additions and 106 deletions
|
@ -0,0 +1 @@
|
||||||
|
../../gcc/patches/use-pure-64bit-configs.patch
|
|
@ -105,6 +105,7 @@ _gcc_bootstrap() {
|
||||||
|
|
||||||
cd ${wrksrc}/gcc-${_gcc_version}
|
cd ${wrksrc}/gcc-${_gcc_version}
|
||||||
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
|
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
|
||||||
|
_apply_patch -p0 ${FILESDIR}/use-pure-64bit-configs.patch
|
||||||
|
|
||||||
msg_normal "Building cross gcc bootstrap\n"
|
msg_normal "Building cross gcc bootstrap\n"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
../../gcc/patches/use-pure-64bit-configs.patch
|
|
@ -91,6 +91,7 @@ _gcc_bootstrap() {
|
||||||
|
|
||||||
cd ${wrksrc}/gcc-${_gcc_version}
|
cd ${wrksrc}/gcc-${_gcc_version}
|
||||||
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
|
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
|
||||||
|
_apply_patch -p0 ${FILESDIR}/use-pure-64bit-configs.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/musl-ada.patch
|
_apply_patch -p0 ${FILESDIR}/musl-ada.patch
|
||||||
_apply_patch -p1 ${FILESDIR}/libgnarl-musl.patch
|
_apply_patch -p1 ${FILESDIR}/libgnarl-musl.patch
|
||||||
_apply_patch -p1 ${FILESDIR}/libssp-musl.patch
|
_apply_patch -p1 ${FILESDIR}/libssp-musl.patch
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
../../gcc/patches/ppc64-pure64.patch
|
|
|
@ -0,0 +1 @@
|
||||||
|
../../gcc/patches/use-pure-64bit-configs.patch
|
|
@ -93,9 +93,7 @@ _gcc_bootstrap() {
|
||||||
cd ${wrksrc}/gcc-${_gcc_version}
|
cd ${wrksrc}/gcc-${_gcc_version}
|
||||||
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
|
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/libgcc-ibm128-no-tag.patch
|
_apply_patch -p0 ${FILESDIR}/libgcc-ibm128-no-tag.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/ppc64-pure64.patch
|
_apply_patch -p0 ${FILESDIR}/use-pure-64bit-configs.patch
|
||||||
|
|
||||||
sed -i 's/lib64/lib/' gcc/config/rs6000/linux64.h
|
|
||||||
|
|
||||||
msg_normal "Building cross gcc bootstrap\n"
|
msg_normal "Building cross gcc bootstrap\n"
|
||||||
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
../../gcc/patches/ppc64-pure64.patch
|
|
|
@ -0,0 +1 @@
|
||||||
|
../../gcc/patches/use-pure-64bit-configs.patch
|
|
@ -93,15 +93,13 @@ _gcc_bootstrap() {
|
||||||
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
|
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/0010-ldbl128-config.patch
|
_apply_patch -p0 ${FILESDIR}/0010-ldbl128-config.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/libgcc-ibm128-no-tag.patch
|
_apply_patch -p0 ${FILESDIR}/libgcc-ibm128-no-tag.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/ppc64-pure64.patch
|
_apply_patch -p0 ${FILESDIR}/use-pure-64bit-configs.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/musl-ada.patch
|
_apply_patch -p0 ${FILESDIR}/musl-ada.patch
|
||||||
_apply_patch -p1 ${FILESDIR}/libgnarl-musl.patch
|
_apply_patch -p1 ${FILESDIR}/libgnarl-musl.patch
|
||||||
_apply_patch -p1 ${FILESDIR}/libssp-musl.patch
|
_apply_patch -p1 ${FILESDIR}/libssp-musl.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/invalid_tls_model.patch
|
_apply_patch -p0 ${FILESDIR}/invalid_tls_model.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/gccgo-musl.patch
|
_apply_patch -p0 ${FILESDIR}/gccgo-musl.patch
|
||||||
|
|
||||||
sed -i 's/lib64/lib/' gcc/config/rs6000/linux64.h
|
|
||||||
|
|
||||||
msg_normal "Building cross gcc bootstrap\n"
|
msg_normal "Building cross gcc bootstrap\n"
|
||||||
|
|
||||||
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
|
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
../../gcc/patches/ppc64-pure64.patch
|
|
|
@ -0,0 +1 @@
|
||||||
|
../../gcc/patches/use-pure-64bit-configs.patch
|
|
@ -93,9 +93,7 @@ _gcc_bootstrap() {
|
||||||
cd ${wrksrc}/gcc-${_gcc_version}
|
cd ${wrksrc}/gcc-${_gcc_version}
|
||||||
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
|
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/libgcc-ibm128-no-tag.patch
|
_apply_patch -p0 ${FILESDIR}/libgcc-ibm128-no-tag.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/ppc64-pure64.patch
|
_apply_patch -p0 ${FILESDIR}/use-pure-64bit-configs.patch
|
||||||
|
|
||||||
sed -i 's/lib64/lib/' gcc/config/rs6000/linux64.h
|
|
||||||
|
|
||||||
msg_normal "Building cross gcc bootstrap\n"
|
msg_normal "Building cross gcc bootstrap\n"
|
||||||
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
../../gcc/patches/ppc64-pure64.patch
|
|
|
@ -0,0 +1 @@
|
||||||
|
../../gcc/patches/use-pure-64bit-configs.patch
|
|
@ -93,15 +93,13 @@ _gcc_bootstrap() {
|
||||||
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
|
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/0010-ldbl128-config.patch
|
_apply_patch -p0 ${FILESDIR}/0010-ldbl128-config.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/libgcc-ibm128-no-tag.patch
|
_apply_patch -p0 ${FILESDIR}/libgcc-ibm128-no-tag.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/ppc64-pure64.patch
|
_apply_patch -p0 ${FILESDIR}/use-pure-64bit-configs.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/musl-ada.patch
|
_apply_patch -p0 ${FILESDIR}/musl-ada.patch
|
||||||
_apply_patch -p1 ${FILESDIR}/libgnarl-musl.patch
|
_apply_patch -p1 ${FILESDIR}/libgnarl-musl.patch
|
||||||
_apply_patch -p1 ${FILESDIR}/libssp-musl.patch
|
_apply_patch -p1 ${FILESDIR}/libssp-musl.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/invalid_tls_model.patch
|
_apply_patch -p0 ${FILESDIR}/invalid_tls_model.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/gccgo-musl.patch
|
_apply_patch -p0 ${FILESDIR}/gccgo-musl.patch
|
||||||
|
|
||||||
sed -i 's/lib64/lib/' gcc/config/rs6000/linux64.h
|
|
||||||
|
|
||||||
msg_normal "Building cross gcc bootstrap\n"
|
msg_normal "Building cross gcc bootstrap\n"
|
||||||
|
|
||||||
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
|
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
../../gcc/patches/use-pure-64bit-configs.patch
|
|
@ -92,9 +92,7 @@ _gcc_bootstrap() {
|
||||||
|
|
||||||
cd ${wrksrc}/gcc-${_gcc_version}
|
cd ${wrksrc}/gcc-${_gcc_version}
|
||||||
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
|
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
|
||||||
|
_apply_patch -p0 ${FILESDIR}/use-pure-64bit-configs.patch
|
||||||
sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
|
|
||||||
sed -i 's/lib64/lib/' gcc/config/i386/linux64.h
|
|
||||||
|
|
||||||
msg_normal "Building cross gcc bootstrap\n"
|
msg_normal "Building cross gcc bootstrap\n"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
../../gcc/patches/use-pure-64bit-configs.patch
|
|
@ -93,15 +93,13 @@ _gcc_bootstrap() {
|
||||||
|
|
||||||
cd ${wrksrc}/gcc-${_gcc_version}
|
cd ${wrksrc}/gcc-${_gcc_version}
|
||||||
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
|
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
|
||||||
|
_apply_patch -p0 ${FILESDIR}/use-pure-64bit-configs.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/musl-ada.patch
|
_apply_patch -p0 ${FILESDIR}/musl-ada.patch
|
||||||
_apply_patch -p1 ${FILESDIR}/libgnarl-musl.patch
|
_apply_patch -p1 ${FILESDIR}/libgnarl-musl.patch
|
||||||
_apply_patch -p1 ${FILESDIR}/libssp-musl.patch
|
_apply_patch -p1 ${FILESDIR}/libssp-musl.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/invalid_tls_model.patch
|
_apply_patch -p0 ${FILESDIR}/invalid_tls_model.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/gccgo-musl.patch
|
_apply_patch -p0 ${FILESDIR}/gccgo-musl.patch
|
||||||
|
|
||||||
sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
|
|
||||||
sed -i 's/lib64/lib/' gcc/config/i386/linux64.h
|
|
||||||
|
|
||||||
msg_normal "Building cross gcc bootstrap\n"
|
msg_normal "Building cross gcc bootstrap\n"
|
||||||
|
|
||||||
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
|
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
|
||||||
|
|
|
@ -1,57 +0,0 @@
|
||||||
--- gcc/config/rs6000/t-linux
|
|
||||||
+++ gcc/config/rs6000/t-linux
|
|
||||||
@@ -2,7 +2,8 @@
|
|
||||||
# or soft-float.
|
|
||||||
ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float)))
|
|
||||||
ifneq (,$(findstring powerpc64,$(target)))
|
|
||||||
-MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
|
|
||||||
+MULTILIB_OSDIRNAMES := m64=../lib
|
|
||||||
+MULTILIB_OSDIRNAMES += m32=../lib32
|
|
||||||
else
|
|
||||||
ifneq (,$(findstring spe,$(target)))
|
|
||||||
MULTIARCH_DIRNAME := powerpc-linux-gnuspe$(if $(findstring 8548,$(with_cpu)),,v1)
|
|
||||||
@@ -14,7 +15,8 @@
|
|
||||||
MULTIARCH_DIRNAME := $(subst -linux,le-linux,$(MULTIARCH_DIRNAME))
|
|
||||||
endif
|
|
||||||
ifneq (,$(findstring powerpc64le,$(target)))
|
|
||||||
-MULTILIB_OSDIRNAMES := $(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))
|
|
||||||
+MULTILIB_OSDIRNAMES := m64=../lib
|
|
||||||
+MULTILIB_OSDIRNAMES += m32=../lib32
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
--- gcc/config/rs6000/t-linux64
|
|
||||||
+++ gcc/config/rs6000/t-linux64
|
|
||||||
@@ -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
|
|
||||||
+MULTILIB_OSDIRNAMES += m32=../lib32
|
|
||||||
|
|
||||||
rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
|
|
||||||
$(COMPILE) $<
|
|
||||||
--- gcc/config/rs6000/t-linux64bele
|
|
||||||
+++ gcc/config/rs6000/t-linux64bele
|
|
||||||
@@ -2,6 +2,6 @@
|
|
||||||
|
|
||||||
MULTILIB_OPTIONS += mlittle
|
|
||||||
MULTILIB_DIRNAMES += le
|
|
||||||
-MULTILIB_OSDIRNAMES += $(subst =,.mlittle=,$(subst lible32,lib32le,$(subst lible64,lib64le,$(subst lib,lible,$(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))))))
|
|
||||||
-MULTILIB_OSDIRNAMES += $(subst $(if $(findstring 64,$(target)),m64,m32).,,$(filter $(if $(findstring 64,$(target)),m64,m32).mlittle%,$(MULTILIB_OSDIRNAMES)))
|
|
||||||
+MULTILIB_OSDIRNAMES = m64=../lib
|
|
||||||
+MULTILIB_OSDIRNAMES+= m32=../lib32
|
|
||||||
MULTILIB_MATCHES := ${MULTILIB_MATCHES_ENDIAN}
|
|
||||||
--- gcc/config/rs6000/t-linux64lebe
|
|
||||||
+++ gcc/config/rs6000/t-linux64lebe
|
|
||||||
@@ -2,6 +2,6 @@
|
|
||||||
|
|
||||||
MULTILIB_OPTIONS += mbig
|
|
||||||
MULTILIB_DIRNAMES += be
|
|
||||||
-MULTILIB_OSDIRNAMES += $(subst =,.mbig=,$(subst libbe32,lib32be,$(subst libbe64,lib64be,$(subst lib,libbe,$(subst le-linux,-linux,$(MULTILIB_OSDIRNAMES))))))
|
|
||||||
-MULTILIB_OSDIRNAMES += $(subst $(if $(findstring 64,$(target)),m64,m32).,,$(filter $(if $(findstring 64,$(target)),m64,m32).mbig%,$(MULTILIB_OSDIRNAMES)))
|
|
||||||
+MULTILIB_OSDIRNAMES := m64=../lib
|
|
||||||
+MULTILIB_OSDIRNAMES += m32=../lib32
|
|
||||||
MULTILIB_MATCHES := ${MULTILIB_MATCHES_ENDIAN}
|
|
213
srcpkgs/gcc/patches/use-pure-64bit-configs.patch
Normal file
213
srcpkgs/gcc/patches/use-pure-64bit-configs.patch
Normal file
|
@ -0,0 +1,213 @@
|
||||||
|
From e0453ba5a738647f84a6dac9d8551fe8dbfdbece Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel Kolesa <daniel@octaforge.org>
|
||||||
|
Date: Sun, 8 Nov 2020 03:58:09 +0100
|
||||||
|
Subject: [PATCH] use pure 64-bit config
|
||||||
|
|
||||||
|
avoid using lib64 dirs
|
||||||
|
|
||||||
|
when adding a new platform, expand this patch
|
||||||
|
---
|
||||||
|
gcc/config/aarch64/t-aarch64-linux | 2 +-
|
||||||
|
gcc/config/i386/linux64.h | 2 +-
|
||||||
|
gcc/config/i386/t-linux64 | 4 ++--
|
||||||
|
gcc/config/mips/linux.h | 4 ++--
|
||||||
|
gcc/config/mips/mips.h | 8 ++++----
|
||||||
|
gcc/config/mips/t-linux64 | 6 +++---
|
||||||
|
gcc/config/rs6000/linux64.h | 8 ++++----
|
||||||
|
gcc/config/rs6000/t-linux | 6 ++++--
|
||||||
|
gcc/config/rs6000/t-linux64 | 4 ++--
|
||||||
|
gcc/config/rs6000/t-linux64bele | 4 ++--
|
||||||
|
gcc/config/rs6000/t-linux64lebe | 4 ++--
|
||||||
|
gcc/config/s390/t-linux64 | 4 ++--
|
||||||
|
12 files changed, 29 insertions(+), 27 deletions(-)
|
||||||
|
|
||||||
|
diff --git gcc/config/aarch64/t-aarch64-linux gcc/config/aarch64/t-aarch64-linux
|
||||||
|
index 5ad670ba2..e10d58a6c 100644
|
||||||
|
--- gcc/config/aarch64/t-aarch64-linux
|
||||||
|
+++ gcc/config/aarch64/t-aarch64-linux
|
||||||
|
@@ -22,7 +22,7 @@ LIB1ASMSRC = aarch64/lib1funcs.asm
|
||||||
|
LIB1ASMFUNCS = _aarch64_sync_cache_range
|
||||||
|
|
||||||
|
AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
|
||||||
|
-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
|
||||||
|
+MULTILIB_OSDIRNAMES = mabi.lp64=../lib
|
||||||
|
MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
|
||||||
|
|
||||||
|
MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
|
||||||
|
diff --git gcc/config/i386/linux64.h gcc/config/i386/linux64.h
|
||||||
|
index c08221c42..6f18c0214 100644
|
||||||
|
--- gcc/config/i386/linux64.h
|
||||||
|
+++ gcc/config/i386/linux64.h
|
||||||
|
@@ -28,7 +28,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
#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_LINKER64 "/lib/ld-linux-x86-64.so.2"
|
||||||
|
#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
|
||||||
|
|
||||||
|
#undef MUSL_DYNAMIC_LINKER32
|
||||||
|
diff --git gcc/config/i386/t-linux64 gcc/config/i386/t-linux64
|
||||||
|
index c686ab2f0..89c183019 100644
|
||||||
|
--- gcc/config/i386/t-linux64
|
||||||
|
+++ gcc/config/i386/t-linux64
|
||||||
|
@@ -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
|
||||||
|
+MULTILIB_OSDIRNAMES+= m32=../lib32
|
||||||
|
MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
|
||||||
|
diff --git gcc/config/mips/linux.h gcc/config/mips/linux.h
|
||||||
|
index 6f79ac9c0..bddfacd84 100644
|
||||||
|
--- gcc/config/mips/linux.h
|
||||||
|
+++ gcc/config/mips/linux.h
|
||||||
|
@@ -24,9 +24,9 @@ along with GCC; see the file COPYING3. If not see
|
||||||
|
#define GLIBC_DYNAMIC_LINKER32 \
|
||||||
|
"%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
|
||||||
|
#define GLIBC_DYNAMIC_LINKER64 \
|
||||||
|
- "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}"
|
||||||
|
+ "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
|
||||||
|
#define GLIBC_DYNAMIC_LINKERN32 \
|
||||||
|
- "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}"
|
||||||
|
+ "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
|
||||||
|
|
||||||
|
#undef UCLIBC_DYNAMIC_LINKER32
|
||||||
|
#define UCLIBC_DYNAMIC_LINKER32 \
|
||||||
|
diff --git gcc/config/mips/mips.h gcc/config/mips/mips.h
|
||||||
|
index 953d82e85..3f09f21bc 100644
|
||||||
|
--- gcc/config/mips/mips.h
|
||||||
|
+++ gcc/config/mips/mips.h
|
||||||
|
@@ -3447,11 +3447,11 @@ struct GTY(()) machine_function {
|
||||||
|
/* If we are *not* using multilibs and the default ABI is not ABI_32 we
|
||||||
|
need to change these from /lib and /usr/lib. */
|
||||||
|
#if MIPS_ABI_DEFAULT == ABI_N32
|
||||||
|
-#define STANDARD_STARTFILE_PREFIX_1 "/lib32/"
|
||||||
|
-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib32/"
|
||||||
|
+#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
|
||||||
|
+#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
|
||||||
|
#elif MIPS_ABI_DEFAULT == ABI_64
|
||||||
|
-#define STANDARD_STARTFILE_PREFIX_1 "/lib64/"
|
||||||
|
-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib64/"
|
||||||
|
+#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
|
||||||
|
+#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Load store bonding is not supported by micromips and fix_24k. The
|
||||||
|
diff --git gcc/config/mips/t-linux64 gcc/config/mips/t-linux64
|
||||||
|
index 3a2ff700d..3b253aeb9 100644
|
||||||
|
--- gcc/config/mips/t-linux64
|
||||||
|
+++ gcc/config/mips/t-linux64
|
||||||
|
@@ -21,6 +21,6 @@ MULTILIB_DIRNAMES = n32 32 64
|
||||||
|
MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
|
||||||
|
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))
|
||||||
|
+ ../lib \
|
||||||
|
+ ../lib32 \
|
||||||
|
+ ../lib
|
||||||
|
diff --git gcc/config/rs6000/linux64.h gcc/config/rs6000/linux64.h
|
||||||
|
index 9946d3fed..fcdf0d265 100644
|
||||||
|
--- gcc/config/rs6000/linux64.h
|
||||||
|
+++ gcc/config/rs6000/linux64.h
|
||||||
|
@@ -427,12 +427,12 @@ extern int dot_symbols;
|
||||||
|
|
||||||
|
#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:%(dynamic_linker_prefix)/lib/ld64.so.1;" \
|
||||||
|
+":%(dynamic_linker_prefix)/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:%(dynamic_linker_prefix)/lib/ld64.so.2;" \
|
||||||
|
+":%(dynamic_linker_prefix)/lib/ld64.so.1}"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef MUSL_DYNAMIC_LINKER32
|
||||||
|
diff --git gcc/config/rs6000/t-linux gcc/config/rs6000/t-linux
|
||||||
|
index aeb7440c4..ab14c455d 100644
|
||||||
|
--- gcc/config/rs6000/t-linux
|
||||||
|
+++ gcc/config/rs6000/t-linux
|
||||||
|
@@ -2,7 +2,8 @@
|
||||||
|
# or soft-float.
|
||||||
|
ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float)))
|
||||||
|
ifneq (,$(findstring powerpc64,$(target)))
|
||||||
|
-MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
|
||||||
|
+MULTILIB_OSDIRNAMES := m64=../lib
|
||||||
|
+MULTILIB_OSDIRNAMES += m32=../lib32
|
||||||
|
else
|
||||||
|
MULTIARCH_DIRNAME := $(call if_multiarch,powerpc-linux-gnu)
|
||||||
|
endif
|
||||||
|
@@ -10,7 +11,8 @@ ifneq (,$(findstring powerpcle,$(target)))
|
||||||
|
MULTIARCH_DIRNAME := $(subst -linux,le-linux,$(MULTIARCH_DIRNAME))
|
||||||
|
endif
|
||||||
|
ifneq (,$(findstring powerpc64le,$(target)))
|
||||||
|
-MULTILIB_OSDIRNAMES := $(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))
|
||||||
|
+MULTILIB_OSDIRNAMES := m64=../lib
|
||||||
|
+MULTILIB_OSDIRNAMES += m32=../lib32
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
diff --git gcc/config/rs6000/t-linux64 gcc/config/rs6000/t-linux64
|
||||||
|
index f3c6e2be1..f4df2377d 100644
|
||||||
|
--- gcc/config/rs6000/t-linux64
|
||||||
|
+++ gcc/config/rs6000/t-linux64
|
||||||
|
@@ -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
|
||||||
|
+MULTILIB_OSDIRNAMES += m32=../lib32
|
||||||
|
|
||||||
|
rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
|
||||||
|
$(COMPILE) $<
|
||||||
|
diff --git gcc/config/rs6000/t-linux64bele gcc/config/rs6000/t-linux64bele
|
||||||
|
index 97c1ee6fb..08d72639c 100644
|
||||||
|
--- gcc/config/rs6000/t-linux64bele
|
||||||
|
+++ gcc/config/rs6000/t-linux64bele
|
||||||
|
@@ -2,6 +2,6 @@
|
||||||
|
|
||||||
|
MULTILIB_OPTIONS += mlittle
|
||||||
|
MULTILIB_DIRNAMES += le
|
||||||
|
-MULTILIB_OSDIRNAMES += $(subst =,.mlittle=,$(subst lible32,lib32le,$(subst lible64,lib64le,$(subst lib,lible,$(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))))))
|
||||||
|
-MULTILIB_OSDIRNAMES += $(subst $(if $(findstring 64,$(target)),m64,m32).,,$(filter $(if $(findstring 64,$(target)),m64,m32).mlittle%,$(MULTILIB_OSDIRNAMES)))
|
||||||
|
+MULTILIB_OSDIRNAMES = m64=../lib
|
||||||
|
+MULTILIB_OSDIRNAMES+= m32=../lib32
|
||||||
|
MULTILIB_MATCHES := ${MULTILIB_MATCHES_ENDIAN}
|
||||||
|
diff --git gcc/config/rs6000/t-linux64lebe gcc/config/rs6000/t-linux64lebe
|
||||||
|
index 2e63bdb9f..c6e1c5db6 100644
|
||||||
|
--- gcc/config/rs6000/t-linux64lebe
|
||||||
|
+++ gcc/config/rs6000/t-linux64lebe
|
||||||
|
@@ -2,6 +2,6 @@
|
||||||
|
|
||||||
|
MULTILIB_OPTIONS += mbig
|
||||||
|
MULTILIB_DIRNAMES += be
|
||||||
|
-MULTILIB_OSDIRNAMES += $(subst =,.mbig=,$(subst libbe32,lib32be,$(subst libbe64,lib64be,$(subst lib,libbe,$(subst le-linux,-linux,$(MULTILIB_OSDIRNAMES))))))
|
||||||
|
-MULTILIB_OSDIRNAMES += $(subst $(if $(findstring 64,$(target)),m64,m32).,,$(filter $(if $(findstring 64,$(target)),m64,m32).mbig%,$(MULTILIB_OSDIRNAMES)))
|
||||||
|
+MULTILIB_OSDIRNAMES := m64=../lib
|
||||||
|
+MULTILIB_OSDIRNAMES += m32=../lib32
|
||||||
|
MULTILIB_MATCHES := ${MULTILIB_MATCHES_ENDIAN}
|
||||||
|
diff --git gcc/config/s390/t-linux64 gcc/config/s390/t-linux64
|
||||||
|
index cc6ab3670..7f498ee1c 100644
|
||||||
|
--- gcc/config/s390/t-linux64
|
||||||
|
+++ gcc/config/s390/t-linux64
|
||||||
|
@@ -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 = m64=../lib
|
||||||
|
+MULTILIB_OSDIRNAMES+= m32=../lib32
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
|
@ -191,37 +191,21 @@ do_configure() {
|
||||||
armv5*) _args+=" --with-arch=armv5te --with-float=soft";;
|
armv5*) _args+=" --with-arch=armv5te --with-float=soft";;
|
||||||
armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";;
|
armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";;
|
||||||
armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
|
armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
|
||||||
aarch64*) # use lib not lib64 by default
|
aarch64*) _args+=" --with-arch=armv8-a";;
|
||||||
_args+=" --with-arch=armv8-a"
|
ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";;
|
||||||
sed -i '/m64=/s/lib64/lib/' gcc/config/aarch64/t-aarch64-linux
|
ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";;
|
||||||
;;
|
ppc*) _args+=" --enable-secureplt";;
|
||||||
ppc) _args+=" --target=powerpc-linux-gnu --enable-secureplt";;
|
esac
|
||||||
ppc-musl) _args+=" --target=powerpc-linux-musl --enable-secureplt --disable-decimal-float";;
|
|
||||||
ppcle) _args+=" --target=powerpcle-linux-gnu --enable-secureplt";;
|
# on ppc64le-musl and all big endian ppc64
|
||||||
ppcle-musl) _args+=" --target=powerpcle-linux-musl --enable-secureplt --disable-decimal-float";;
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
ppc64le*) # use lib not lib64 by default
|
ppc64le) ;;
|
||||||
_args+=" --target=${_triplet} --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux"
|
ppc64*) _args+=" --disable-libquadmath" ;;
|
||||||
sed -i 's/lib64/lib/' gcc/config/rs6000/linux64.h
|
|
||||||
;;
|
|
||||||
ppc64*) # use lib not lib64 by default
|
|
||||||
_args+=" --target=${_triplet} --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux"
|
|
||||||
sed -i 's/lib64/lib/' gcc/config/rs6000/linux64.h
|
|
||||||
;;
|
|
||||||
x86_64*) # use lib not lib64 by default
|
|
||||||
sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
|
|
||||||
sed -i 's/lib64/lib/' gcc/config/i386/linux64.h
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# fix: unknown long double size, cannot define BFP_FMT
|
# fix: unknown long double size, cannot define BFP_FMT
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
ppc64le-musl|ppc64-musl)
|
ppc*-musl) _args+=" --disable-decimal-float";;
|
||||||
_args+=" --enable-decimal-float=no --disable-libquadmath"
|
|
||||||
;;
|
|
||||||
ppc64)
|
|
||||||
_args+=" --disable-libquadmath"
|
|
||||||
;;
|
|
||||||
*) ;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if [ -z "$CHROOT_READY" -o -n "$CROSS_BUILD" ]; then
|
if [ -z "$CHROOT_READY" -o -n "$CROSS_BUILD" ]; then
|
||||||
|
|
Loading…
Reference in a new issue