diff --git a/arch/amd64.sh b/arch/amd64.sh index d2edc3e..2b77e46 100644 --- a/arch/amd64.sh +++ b/arch/amd64.sh @@ -9,6 +9,7 @@ HWCAPS=('x86-64-v2' 'x86-64-v3' 'x86-64-v4') # Default -march and μarch specific tuning. # No need to reference CFLAGS_COMMON_ARCH_BASE, it will be concatenated. CFLAGS_COMMON_ARCH=('-march=x86-64' '-mtune=znver4' '-msse2' '-mno-omit-leaf-frame-pointer') +LDFLAGS_COMMON_ARCH=('-Wl,-z,pack-relative-relocs') RUSTFLAGS_COMMON_ARCH=('-Ctarget-cpu=x86-64') # HWCAPS subtargets in x86-64 are based on the microarchitecture levels diff --git a/arch/arm64.sh b/arch/arm64.sh index fefa2b7..a6e6020 100644 --- a/arch/arm64.sh +++ b/arch/arm64.sh @@ -2,5 +2,6 @@ ##arch/arm64.sh: Build definitions for arm64. ##@copyright GPL-2.0+ CFLAGS_COMMON_ARCH=('-march=armv8-a' '-mtune=generic' '-mno-omit-leaf-frame-pointer') +LDFLAGS_COMMON_ARCH=('-Wl,-z,pack-relative-relocs') RUSTFLAGS_COMMON_ARCH=('-Ctarget-cpu=generic') # LDFLAGS_COMMON_CROSS=('-Wl,-rpath -Wl,/usr/lib -Wl,-rpath-link -Wl,/var/ab/cross-root/arm64/usr/lib -L/var/ab/cross-root/arm64/usr/lib ') diff --git a/arch/loongarch64.sh b/arch/loongarch64.sh index eb77c41..e0c6cc5 100644 --- a/arch/loongarch64.sh +++ b/arch/loongarch64.sh @@ -33,4 +33,5 @@ else CFLAGS_COMMON_ARCH+=('-march=loongarch64' '-mtune=la464') fi +LDFLAGS_COMMON_ARCH=('-Wl,-z,pack-relative-relocs') RUSTFLAGS_COMMON_ARCH=('-Ctarget-cpu=generic-la64' '-Ctarget-feature=+lsx,+d' '-Clink-arg=-mabi=lp64d') diff --git a/arch/ppc64el.sh b/arch/ppc64el.sh index 2cf039a..11442b7 100644 --- a/arch/ppc64el.sh +++ b/arch/ppc64el.sh @@ -2,6 +2,7 @@ ##arch/ppc64el.sh: Build definitions for ppc64el. ##@copyright GPL-2.0+ CFLAGS_COMMON_ARCH_BASE=('-msecure-plt' '-mabi=ieeelongdouble') +LDFLAGS_COMMON_ARCH=('-Wl,-z,pack-relative-relocs') CFLAGS_COMMON_ARCH=('-mcpu=power8' '-mtune=power10' '-mvsx') RUSTFLAGS_COMMON_ARCH=('-Ctarget-cpu=pwr8' '-Ctarget-feature=+vsx,+altivec,+secure-plt' '-Clink-arg=-mabi=ieeelongdouble')