Re: net/sunrpc/stats.c:204: undefined reference to `_GLOBAL_OFFSET_TABLE_'

From: Fengguang Wu
Date: Wed Oct 05 2016 - 20:00:38 EST


On Tue, Oct 04, 2016 at 09:08:27AM -0400, Nicolas Pitre wrote:
On Tue, 4 Oct 2016, Fengguang Wu wrote:

CC Michal. It looks like a microblaze specific error. I'll blacklist
this old error on microblaze if there are no good solutions.

It doesn't exhibit any build error on my end. Which is why I suggested
that you verify the integrity of your toolchain on your end.

OK, let me try upgrade the debian package first.
What's your toolchain version?

Thanks,
Fengguang

On Fri, Sep 23, 2016 at 05:11:32PM -0400, Nicolas Pitre wrote:
>On Thu, 22 Sep 2016, kbuild test robot wrote:
>
> > Hi Nicolas,
> >
> > FYI, the error/warning still remains.
> >
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > master
> > head: 7d1e042314619115153a0f6f06e4552c09a50e13
> > commit: 461a5e51060c93f5844113f4be9dba513cc92830 do_div(): generic
> > optimization for constant divisor on 32-bit machines
> > date: 10 months ago
> > config: microblaze-mmu_defconfig (attached as .config)
> > compiler: microblaze-linux-gcc (GCC) 6.2.0
> > reproduce:
> > wget
> > https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
> > -O ~/bin/make.cross
> > chmod +x ~/bin/make.cross
> > git checkout 461a5e51060c93f5844113f4be9dba513cc92830
> > # save the attached .config to linux build tree
> > make.cross ARCH=microblaze
> >
> > All errors (new ones prefixed by >>):
> >
> > net/built-in.o: In function `rpc_print_iostats':
> > > > net/sunrpc/stats.c:204: undefined reference to `_GLOBAL_OFFSET_TABLE_'
> > scripts/link-vmlinux.sh: line 52: 5714 Segmentation fault ${LD}
> > ${LDFLAGS} ${LDFLAGS_vmlinux} -o ${2} -T ${lds} ${KBUILD_VMLINUX_INIT}
> > --start-group ${KBUILD_VMLINUX_MAIN} --end-group ${1}
>
>The problem must be at your end, especially if the toolchain exhibits
>segmentation faults.
>
>Following exactly the instructions above, I get:
>
>[...]
> LD vmlinux
> SORTEX vmlinux
> SYSMAP System.map
> OBJCOPY arch/microblaze/boot/linux.bin
> Building modules, stage 2.
> MODPOST 3 modules
> CC crypto/drbg.mod.o
> CC crypto/echainiv.mod.o
> CC crypto/jitterentropy_rng.mod.o
> LD [M] crypto/jitterentropy_rng.ko
> LD [M] crypto/drbg.ko
> LD [M] crypto/echainiv.ko
>Kernel: arch/microblaze/boot/linux.bin is ready (#1)
>
>
>Nicolas