summaryrefslogtreecommitdiffstats
path: root/toolchain/gcc
diff options
context:
space:
mode:
authorStijn Tintel <stijn@linux-ipv6.be>2020-09-22 14:02:58 +0300
committerStijn Tintel <stijn@linux-ipv6.be>2021-12-21 21:35:29 +0200
commit6e2556963d523ecef9a2a6130c899d146a3b7333 (patch)
tree0e4e8b8495bda879eeb55f8de4a974cc6c557911 /toolchain/gcc
parent527d81325b838d06c1c11cbbecd0c978fdabb250 (diff)
downloadopenwrt-6e2556963d523ecef9a2a6130c899d146a3b7333.tar.gz
openwrt-6e2556963d523ecef9a2a6130c899d146a3b7333.tar.bz2
openwrt-6e2556963d523ecef9a2a6130c899d146a3b7333.zip
toolchain/gcc: use ELFv2 ABI on ppc64 with musl
At configuration time, gcc assumes that ppc64be targets use the ELFv1 ABI, and ppc64le targets use the ELFv2 ABI. However, musl libc does not support the ELFv1 ABI on ppc64 at all, regardless of the endianness. Therefore, when building for a ppc64 arch and with musl libc, instruct gcc to use the ELFv2 ABI. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93157 for more info. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Reviewed-by: Rui Salvaterra <rsalvaterra@gmail.com>
Diffstat (limited to 'toolchain/gcc')
-rw-r--r--toolchain/gcc/common.mk1
1 files changed, 1 insertions, 0 deletions
diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk
index a195002888..bef4fa37f8 100644
--- a/toolchain/gcc/common.mk
+++ b/toolchain/gcc/common.mk
@@ -108,6 +108,7 @@ GCC_CONFIGURE:= \
$(if $(CONFIG_mips64)$(CONFIG_mips64el),--with-arch=mips64 \
--with-abi=$(call qstrip,$(CONFIG_MIPS64_ABI))) \
$(if $(CONFIG_arc),--with-cpu=$(CONFIG_CPU_TYPE)) \
+ $(if $(CONFIG_powerpc64), $(if $(CONFIG_USE_MUSL),--with-abi=elfv2)) \
--with-gmp=$(TOPDIR)/staging_dir/host \
--with-mpfr=$(TOPDIR)/staging_dir/host \
--with-mpc=$(TOPDIR)/staging_dir/host \