On 7/17/20 4:12 PM, kernel test robot wrote:
Hi Yonghong,
I love your patch! Yet something to improve:
[auto build test ERROR on bpf-next/master]
url: https://github.com/0day-ci/linux/commits/Yonghong-Song/compute-bpf_skc_to_-helper-socket-btf-ids-at-build-time/20200718-025117
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: x86_64-rhel-7.6-kselftests (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All error/warnings (new ones prefixed by >>):
In file included from kernel/bpf/btf.c:21:
kernel/bpf/btf.c:3625:13: warning: array 'bpf_ctx_convert_btf_id' assumed to have one element
3625 | BTF_ID_LIST(bpf_ctx_convert_btf_id)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST'
69 | static u32 name[];
| ^~~~
/tmp/ccYr5IvF.s: Assembler messages:
/tmp/ccYr5IvF.s:23808: Error: symbol `bpf_ctx_convert_btf_id' is already defined
gcc8 is fine and gcc9 enforced the rules as `name` is defined both in
assembly code and in C code. I guess `static u32 name[]` won't work.
I will restore to original `extern u32 name[]`.
Thanks.
--
In file included from kernel/bpf/stackmap.c:12:
kernel/bpf/stackmap.c:580:13: warning: array 'bpf_get_task_stack_btf_ids' assumed to have one element
580 | BTF_ID_LIST(bpf_get_task_stack_btf_ids)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST'
69 | static u32 name[];
| ^~~~
/tmp/ccjqxVG0.s: Assembler messages:
[...]