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

From: Nicolas Pitre
Date: Tue Oct 04 2016 - 00:06:14 EST



As I stated before, I can't reproduce this.
Please check your toolchain. It apparently throws segmentation faults.

On Sun, 2 Oct 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: f51fdffad5b7709d0ade40736b58a2da2707fa15
> commit: 461a5e51060c93f5844113f4be9dba513cc92830 do_div(): generic optimization for constant divisor on 32-bit machines
> date: 11 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: 107322 Segmentation fault ${LD} ${LDFLAGS} ${LDFLAGS_vmlinux} -o ${2} -T ${lds} ${KBUILD_VMLINUX_INIT} --start-group ${KBUILD_VMLINUX_MAIN} --end-group ${1}
>
> vim +204 net/sunrpc/stats.c
>
> 840210fc Weston Andros Adamson 2014-06-24 188 &stats[task->tk_msg.rpc_proc->p_statidx]);
> 840210fc Weston Andros Adamson 2014-06-24 189 }
> 0a702195 Weston Andros Adamson 2012-02-17 190 EXPORT_SYMBOL_GPL(rpc_count_iostats);
> 11c556b3 Chuck Lever 2006-03-20 191
> ec535ce1 Adrian Bunk 2006-04-18 192 static void _print_name(struct seq_file *seq, unsigned int op,
> ec535ce1 Adrian Bunk 2006-04-18 193 struct rpc_procinfo *procs)
> cc0175c1 Chuck Lever 2006-03-20 194 {
> cc0175c1 Chuck Lever 2006-03-20 195 if (procs[op].p_name)
> cc0175c1 Chuck Lever 2006-03-20 196 seq_printf(seq, "\t%12s: ", procs[op].p_name);
> cc0175c1 Chuck Lever 2006-03-20 197 else if (op == 0)
> cc0175c1 Chuck Lever 2006-03-20 198 seq_printf(seq, "\t NULL: ");
> cc0175c1 Chuck Lever 2006-03-20 199 else
> cc0175c1 Chuck Lever 2006-03-20 200 seq_printf(seq, "\t%12u: ", op);
> cc0175c1 Chuck Lever 2006-03-20 201 }
> cc0175c1 Chuck Lever 2006-03-20 202
> 11c556b3 Chuck Lever 2006-03-20 203 void rpc_print_iostats(struct seq_file *seq, struct rpc_clnt *clnt)
> 11c556b3 Chuck Lever 2006-03-20 @204 {
> 11c556b3 Chuck Lever 2006-03-20 205 struct rpc_iostats *stats = clnt->cl_metrics;
> 2446ab60 Trond Myklebust 2012-03-01 206 struct rpc_xprt *xprt;
> 11c556b3 Chuck Lever 2006-03-20 207 unsigned int op, maxproc = clnt->cl_maxproc;
> 11c556b3 Chuck Lever 2006-03-20 208
> 11c556b3 Chuck Lever 2006-03-20 209 if (!stats)
> 11c556b3 Chuck Lever 2006-03-20 210 return;
> 11c556b3 Chuck Lever 2006-03-20 211
> 11c556b3 Chuck Lever 2006-03-20 212 seq_printf(seq, "\tRPC iostats version: %s ", RPC_IOSTATS_VERS);
>
> :::::: The code at line 204 was first introduced by commit
> :::::: 11c556b3d8d481829ab5f9933a25d29b00913b5a SUNRPC: provide a mechanism for collecting stats in the RPC client
>
> :::::: TO: Chuck Lever <cel@xxxxxxxxxx>
> :::::: CC: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
>