Re: undefined reference to `_GLOBAL_OFFSET_TABLE_'

From: Nicholas Piggin
Date: Tue Aug 22 2017 - 08:15:04 EST


On Tue, 22 Aug 2017 11:19:02 +0200
Michal Simek <monstr@xxxxxxxxx> wrote:

> On 20.8.2017 05:36, Nicholas Piggin wrote:
> > On Sun, 20 Aug 2017 08:37:36 +0800
> > kbuild test robot <fengguang.wu@xxxxxxxxx> wrote:
> >
> >> Hi Nicholas,
> >>
> >> FYI, the error/warning still remains.
> >
> > Still same answer as before, i.e., it seems to be this toolchain bug:
> >
> > https://sourceware.org/bugzilla/show_bug.cgi?id=21017
> >
> > I've had no response from the microblaze maintainer, so please stop
> > generating this warning now. If we get a bug report from a user who
> > actually cares and will test toolchain fixes then we can easily work
> > with them.
> >
> > Many thanks for the very good service this build system provides!
>
> Can you please point me to the log?

Hmm, don't know if they keep a full log, but the error is

mm/slub.o: In function `__slab_free.isra.13':
>> (.text+0x1038): undefined reference to `_GLOBAL_OFFSET_TABLE_'
scripts/link-vmlinux.sh: line 93: 48917 Segmentation fault ${LD} ${LDFLAGS} ${LDFLAGS_vmlinux} -o ${2} -T ${lds} ${objects}

I suspect the change to thin archives, allowed the linker more
flexibility to satisfy all relocations with GOT relative. And
that would cause the bug.

If you could verify that the upstream kernel build succeeds with
an upstream binutils using allnoconfig, then we could see about
updating the kbuild test robot's toolchain.

Thanks,
Nick