[PATCH v2 3/8] toolchain/gcc: use ELFv2 ABI on ppc64 with musl

Rui Salvaterra rsalvaterra at gmail.com
Tue Dec 21 07:04:02 PST 2021


Hi, Stijn,

On Mon, 20 Dec 2021 at 19:01, Stijn Tintel <stijn at linux-ipv6.be> wrote:
>
> 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 at linux-ipv6.be>
> ---
>  toolchain/gcc/common.mk | 1 +
>  1 file changed, 1 insertion(+)
>
> 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 \
> --
> 2.32.0
>

Yes, please. I could be wrong, but I think all ppc64 targets in the
kernel are migrating to the ELFv2 ABI.

Reviewed-by: Rui Salvaterra <rsalvaterra at gmail.com>

Cheers,
Rui



More information about the openwrt-devel mailing list