diff --git a/srcpkgs/cross-aarch64-linux-gnu/files/use-pure-64bit-configs.patch b/srcpkgs/cross-aarch64-linux-gnu/files/use-pure-64bit-configs.patch new file mode 120000 index 0000000000..e29658aac5 --- /dev/null +++ b/srcpkgs/cross-aarch64-linux-gnu/files/use-pure-64bit-configs.patch @@ -0,0 +1 @@ +../../gcc/patches/use-pure-64bit-configs.patch \ No newline at end of file diff --git a/srcpkgs/cross-aarch64-linux-gnu/template b/srcpkgs/cross-aarch64-linux-gnu/template index 5921456060..f4f2fb518a 100644 --- a/srcpkgs/cross-aarch64-linux-gnu/template +++ b/srcpkgs/cross-aarch64-linux-gnu/template @@ -105,6 +105,7 @@ _gcc_bootstrap() { cd ${wrksrc}/gcc-${_gcc_version} _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch + _apply_patch -p0 ${FILESDIR}/use-pure-64bit-configs.patch msg_normal "Building cross gcc bootstrap\n" diff --git a/srcpkgs/cross-aarch64-linux-musl/files/use-pure-64bit-configs.patch b/srcpkgs/cross-aarch64-linux-musl/files/use-pure-64bit-configs.patch new file mode 120000 index 0000000000..e29658aac5 --- /dev/null +++ b/srcpkgs/cross-aarch64-linux-musl/files/use-pure-64bit-configs.patch @@ -0,0 +1 @@ +../../gcc/patches/use-pure-64bit-configs.patch \ No newline at end of file diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template index 8dba1d564e..5ce33afe37 100644 --- a/srcpkgs/cross-aarch64-linux-musl/template +++ b/srcpkgs/cross-aarch64-linux-musl/template @@ -91,6 +91,7 @@ _gcc_bootstrap() { cd ${wrksrc}/gcc-${_gcc_version} _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 -p1 ${FILESDIR}/libgnarl-musl.patch _apply_patch -p1 ${FILESDIR}/libssp-musl.patch diff --git a/srcpkgs/cross-powerpc64-linux-gnu/files/ppc64-pure64.patch b/srcpkgs/cross-powerpc64-linux-gnu/files/ppc64-pure64.patch deleted file mode 120000 index 80073669ef..0000000000 --- a/srcpkgs/cross-powerpc64-linux-gnu/files/ppc64-pure64.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/ppc64-pure64.patch \ No newline at end of file diff --git a/srcpkgs/cross-powerpc64-linux-gnu/files/use-pure-64bit-configs.patch b/srcpkgs/cross-powerpc64-linux-gnu/files/use-pure-64bit-configs.patch new file mode 120000 index 0000000000..e29658aac5 --- /dev/null +++ b/srcpkgs/cross-powerpc64-linux-gnu/files/use-pure-64bit-configs.patch @@ -0,0 +1 @@ +../../gcc/patches/use-pure-64bit-configs.patch \ No newline at end of file diff --git a/srcpkgs/cross-powerpc64-linux-gnu/template b/srcpkgs/cross-powerpc64-linux-gnu/template index 471e0c9865..7f5394c880 100644 --- a/srcpkgs/cross-powerpc64-linux-gnu/template +++ b/srcpkgs/cross-powerpc64-linux-gnu/template @@ -93,9 +93,7 @@ _gcc_bootstrap() { cd ${wrksrc}/gcc-${_gcc_version} _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch _apply_patch -p0 ${FILESDIR}/libgcc-ibm128-no-tag.patch - _apply_patch -p0 ${FILESDIR}/ppc64-pure64.patch - - sed -i 's/lib64/lib/' gcc/config/rs6000/linux64.h + _apply_patch -p0 ${FILESDIR}/use-pure-64bit-configs.patch msg_normal "Building cross gcc bootstrap\n" diff --git a/srcpkgs/cross-powerpc64-linux-musl/files/ppc64-pure64.patch b/srcpkgs/cross-powerpc64-linux-musl/files/ppc64-pure64.patch deleted file mode 120000 index 80073669ef..0000000000 --- a/srcpkgs/cross-powerpc64-linux-musl/files/ppc64-pure64.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/ppc64-pure64.patch \ No newline at end of file diff --git a/srcpkgs/cross-powerpc64-linux-musl/files/use-pure-64bit-configs.patch b/srcpkgs/cross-powerpc64-linux-musl/files/use-pure-64bit-configs.patch new file mode 120000 index 0000000000..e29658aac5 --- /dev/null +++ b/srcpkgs/cross-powerpc64-linux-musl/files/use-pure-64bit-configs.patch @@ -0,0 +1 @@ +../../gcc/patches/use-pure-64bit-configs.patch \ No newline at end of file diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template index 3d92c564e2..ed9adc5861 100644 --- a/srcpkgs/cross-powerpc64-linux-musl/template +++ b/srcpkgs/cross-powerpc64-linux-musl/template @@ -93,15 +93,13 @@ _gcc_bootstrap() { _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch _apply_patch -p0 ${FILESDIR}/0010-ldbl128-config.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 -p1 ${FILESDIR}/libgnarl-musl.patch _apply_patch -p1 ${FILESDIR}/libssp-musl.patch _apply_patch -p0 ${FILESDIR}/invalid_tls_model.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" [ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap diff --git a/srcpkgs/cross-powerpc64le-linux-gnu/files/ppc64-pure64.patch b/srcpkgs/cross-powerpc64le-linux-gnu/files/ppc64-pure64.patch deleted file mode 120000 index 80073669ef..0000000000 --- a/srcpkgs/cross-powerpc64le-linux-gnu/files/ppc64-pure64.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/ppc64-pure64.patch \ No newline at end of file diff --git a/srcpkgs/cross-powerpc64le-linux-gnu/files/use-pure-64bit-configs.patch b/srcpkgs/cross-powerpc64le-linux-gnu/files/use-pure-64bit-configs.patch new file mode 120000 index 0000000000..e29658aac5 --- /dev/null +++ b/srcpkgs/cross-powerpc64le-linux-gnu/files/use-pure-64bit-configs.patch @@ -0,0 +1 @@ +../../gcc/patches/use-pure-64bit-configs.patch \ No newline at end of file diff --git a/srcpkgs/cross-powerpc64le-linux-gnu/template b/srcpkgs/cross-powerpc64le-linux-gnu/template index c8803a6970..b7e17774db 100644 --- a/srcpkgs/cross-powerpc64le-linux-gnu/template +++ b/srcpkgs/cross-powerpc64le-linux-gnu/template @@ -93,9 +93,7 @@ _gcc_bootstrap() { cd ${wrksrc}/gcc-${_gcc_version} _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch _apply_patch -p0 ${FILESDIR}/libgcc-ibm128-no-tag.patch - _apply_patch -p0 ${FILESDIR}/ppc64-pure64.patch - - sed -i 's/lib64/lib/' gcc/config/rs6000/linux64.h + _apply_patch -p0 ${FILESDIR}/use-pure-64bit-configs.patch msg_normal "Building cross gcc bootstrap\n" diff --git a/srcpkgs/cross-powerpc64le-linux-musl/files/ppc64-pure64.patch b/srcpkgs/cross-powerpc64le-linux-musl/files/ppc64-pure64.patch deleted file mode 120000 index 80073669ef..0000000000 --- a/srcpkgs/cross-powerpc64le-linux-musl/files/ppc64-pure64.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/ppc64-pure64.patch \ No newline at end of file diff --git a/srcpkgs/cross-powerpc64le-linux-musl/files/use-pure-64bit-configs.patch b/srcpkgs/cross-powerpc64le-linux-musl/files/use-pure-64bit-configs.patch new file mode 120000 index 0000000000..e29658aac5 --- /dev/null +++ b/srcpkgs/cross-powerpc64le-linux-musl/files/use-pure-64bit-configs.patch @@ -0,0 +1 @@ +../../gcc/patches/use-pure-64bit-configs.patch \ No newline at end of file diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template index 810bc01192..d2199de88a 100644 --- a/srcpkgs/cross-powerpc64le-linux-musl/template +++ b/srcpkgs/cross-powerpc64le-linux-musl/template @@ -93,15 +93,13 @@ _gcc_bootstrap() { _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch _apply_patch -p0 ${FILESDIR}/0010-ldbl128-config.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 -p1 ${FILESDIR}/libgnarl-musl.patch _apply_patch -p1 ${FILESDIR}/libssp-musl.patch _apply_patch -p0 ${FILESDIR}/invalid_tls_model.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" [ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap diff --git a/srcpkgs/cross-x86_64-linux-gnu/files/use-pure-64bit-configs.patch b/srcpkgs/cross-x86_64-linux-gnu/files/use-pure-64bit-configs.patch new file mode 120000 index 0000000000..e29658aac5 --- /dev/null +++ b/srcpkgs/cross-x86_64-linux-gnu/files/use-pure-64bit-configs.patch @@ -0,0 +1 @@ +../../gcc/patches/use-pure-64bit-configs.patch \ No newline at end of file diff --git a/srcpkgs/cross-x86_64-linux-gnu/template b/srcpkgs/cross-x86_64-linux-gnu/template index 5bfbef24a2..7d49328e8e 100644 --- a/srcpkgs/cross-x86_64-linux-gnu/template +++ b/srcpkgs/cross-x86_64-linux-gnu/template @@ -92,9 +92,7 @@ _gcc_bootstrap() { cd ${wrksrc}/gcc-${_gcc_version} _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch - - sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64 - sed -i 's/lib64/lib/' gcc/config/i386/linux64.h + _apply_patch -p0 ${FILESDIR}/use-pure-64bit-configs.patch msg_normal "Building cross gcc bootstrap\n" diff --git a/srcpkgs/cross-x86_64-linux-musl/files/use-pure-64bit-configs.patch b/srcpkgs/cross-x86_64-linux-musl/files/use-pure-64bit-configs.patch new file mode 120000 index 0000000000..e29658aac5 --- /dev/null +++ b/srcpkgs/cross-x86_64-linux-musl/files/use-pure-64bit-configs.patch @@ -0,0 +1 @@ +../../gcc/patches/use-pure-64bit-configs.patch \ No newline at end of file diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template index 8ccf71beeb..96e6c7feb7 100644 --- a/srcpkgs/cross-x86_64-linux-musl/template +++ b/srcpkgs/cross-x86_64-linux-musl/template @@ -93,15 +93,13 @@ _gcc_bootstrap() { cd ${wrksrc}/gcc-${_gcc_version} _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 -p1 ${FILESDIR}/libgnarl-musl.patch _apply_patch -p1 ${FILESDIR}/libssp-musl.patch _apply_patch -p0 ${FILESDIR}/invalid_tls_model.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" [ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap diff --git a/srcpkgs/gcc/patches/ppc64-pure64.patch b/srcpkgs/gcc/patches/ppc64-pure64.patch deleted file mode 100644 index 1ab0f8ee08..0000000000 --- a/srcpkgs/gcc/patches/ppc64-pure64.patch +++ /dev/null @@ -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} diff --git a/srcpkgs/gcc/patches/use-pure-64bit-configs.patch b/srcpkgs/gcc/patches/use-pure-64bit-configs.patch new file mode 100644 index 0000000000..3602de66e4 --- /dev/null +++ b/srcpkgs/gcc/patches/use-pure-64bit-configs.patch @@ -0,0 +1,213 @@ +From e0453ba5a738647f84a6dac9d8551fe8dbfdbece Mon Sep 17 00:00:00 2001 +From: Daniel Kolesa +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 + diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template index f4e2f94993..667818d2c1 100644 --- a/srcpkgs/gcc/template +++ b/srcpkgs/gcc/template @@ -191,37 +191,21 @@ do_configure() { armv5*) _args+=" --with-arch=armv5te --with-float=soft";; armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";; armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";; - aarch64*) # use lib not lib64 by default - _args+=" --with-arch=armv8-a" - sed -i '/m64=/s/lib64/lib/' gcc/config/aarch64/t-aarch64-linux - ;; - ppc) _args+=" --target=powerpc-linux-gnu --enable-secureplt";; - ppc-musl) _args+=" --target=powerpc-linux-musl --enable-secureplt --disable-decimal-float";; - ppcle) _args+=" --target=powerpcle-linux-gnu --enable-secureplt";; - ppcle-musl) _args+=" --target=powerpcle-linux-musl --enable-secureplt --disable-decimal-float";; - ppc64le*) # use lib not lib64 by default - _args+=" --target=${_triplet} --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux" - 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 - ;; + aarch64*) _args+=" --with-arch=armv8-a";; + ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";; + ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";; + ppc*) _args+=" --enable-secureplt";; + esac + + # on ppc64le-musl and all big endian ppc64 + case "$XBPS_TARGET_MACHINE" in + ppc64le) ;; + ppc64*) _args+=" --disable-libquadmath" ;; esac # fix: unknown long double size, cannot define BFP_FMT case "$XBPS_TARGET_MACHINE" in - ppc64le-musl|ppc64-musl) - _args+=" --enable-decimal-float=no --disable-libquadmath" - ;; - ppc64) - _args+=" --disable-libquadmath" - ;; - *) ;; + ppc*-musl) _args+=" --disable-decimal-float";; esac if [ -z "$CHROOT_READY" -o -n "$CROSS_BUILD" ]; then