This is the mail archive of the
mailing list for the GCC project.
Re: multiple definition of symbols" when linking executables on ARM32 and AArch64
On Mon, 6 Jan 2020 at 13:37, Martin Liška <email@example.com> wrote:
> On 1/6/20 2:29 PM, Matthias Klose wrote:
> > On 06.01.20 13:30, Wilco Dijkstra wrote:
> >> On 06.01.20 11:03, Andrew Pinski wrote:
> >>> +GCC
> >>> On Mon, Jan 6, 2020 at 1:52 AM Matthias Klose <firstname.lastname@example.org> 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.
> > found out about why. Started the test rebuild with trunk 20191219, then gave
> > back all build failures yesterday with trunk 20200104. And I saw most of the
> > armhf/arm64 ftbfs when I retriggered failing builds. To get consistent results
> > I should finish that test rebuild with the -fno-common change reverted.
> > However, this is an undocumented change in the current NEWS, and seeing
> It's waiting for a review:
Does that need review?
The change is on trunk, documenting it in the release notes needs to be done.
But since it is waiting for review, I decided to reply with some comments :-)