[Buildroot] [PATCH 1/1] erlang: support builds when gcc __atomic_* exist

Thomas Petazzoni thomas.petazzoni at bootlin.com
Mon Aug 2 12:55:44 UTC 2021


On Mon, 2 Aug 2021 08:46:37 -0400
Frank Hunleth <fhunleth at troodon-software.com> wrote:

> As you expected, a SPARCv8 build fails. I updated erlang.mk to pass
> linker flags to link to libatomic, but still received errors. The
> errors were of type:
> 
> /tmp/cc1Mog0n.s:230: Error: Architecture mismatch on "cas [%g3],%g2,%g1".
> /tmp/cc1Mog0n.s:230: (Requires v9|v9a|v9b|v9c|v9d|v9e|v9v|v9m|m8;
> requested architecture is v8.)
> 
> I ran out of time this morning to track this down (sorry), but it's
> sounding like Erlang is doing something that's not causing function
> calls into libatomic.
> 
> Right now, I'm thinking that trying to be more generic about what
> platforms Erlang supports may not be worth it. I.e., change this:
> 
>         default y if BR2_i386 || BR2_x86_64 || BR2_powerpc || \
>                 BR2_sparc_v9 || BR2_arm || BR2_aarch64 || BR2_mipsel || \
>                 BR2_TOOLCHAIN_HAS_ATOMIC
> 
> to
> 
>         default y if BR2_i386 || BR2_x86_64 || BR2_powerpc || \
>                 BR2_sparc_v9 || BR2_arm || BR2_aarch64 || BR2_mipsel || \
>                 BR2_RISCV_64
> 
> What do you think?

I'm fine with that. Note that it's also causing problems on other CPU
architectures:

  http://autobuild.buildroot.net/?reason=erlang%

You will however see that even on ARM64 there are some failures in
erlang-jiffy.

Best regards,

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


More information about the buildroot mailing list