multiple definition of symbols" when linking executables on ARM32 and AArch64

Wilco Dijkstra Wilco.Dijkstra@arm.com
Mon Jan 6 12:30:00 GMT 2020


On 06.01.20 11:03, Andrew Pinski wrote:
> +GCC
> 
> On Mon, Jan 6, 2020 at 1:52 AM Matthias Klose <doko@ubuntu.com> wrote:
>>
>> In an archive test rebuild with binutils and GCC trunk, I see a lot of build
>> failures on both aarch64-linux-gnu and arm-linux-gnueabihf failing with
>> "multiple definition of symbols" when linking executables, e.g.
> 
> THIS IS NOT A BINUTILS OR GCC BUG.
> GCC changed the default to -fno-common.
> It seems like for some reason, your non-aarch64/arm builds had changed
> the default back to being with -fcommon turned on.

> what would that be?  I'm not aware of any active change doing that.  Packages
> build on x86, ppc64el and s390x at least.

Well if you want to build old archived code using latest GCC then you may need to
force -fcommon just like you need to add many warning disables. Maybe you were
using an older GCC for the other targets? As Andrew notes, this isn't Arm-specific.

Wilco



More information about the Gcc mailing list