Skip to content

Commit

Permalink
toolchain/gcc: use ELFv2 ABI on ppc64 with musl
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
stintel committed Dec 21, 2021
1 parent 527d813 commit 6e25569
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions toolchain/gcc/common.mk
Expand Up @@ -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 \
Expand Down

0 comments on commit 6e25569

Please sign in to comment.