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 All error/warnings (new ones prefixed by >>): In file included from net/core/filter.c:78: net/core/filter.c:3783:13: warning: array 'bpf_skb_output_btf_ids' assumed to have one element 3783 | BTF_ID_LIST(bpf_skb_output_btf_ids) | ^~~~~~~~~~~~~~~~~~~~~~ include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST' 69 | static u32 name[]; | ^~~~ net/core/filter.c:4179:13: warning: array 'bpf_xdp_output_btf_ids' assumed to have one element 4179 | BTF_ID_LIST(bpf_xdp_output_btf_ids) | ^~~~~~~~~~~~~~~~~~~~~~ include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST' 69 | static u32 name[]; | ^~~~ >> net/core/filter.c:9268:13: warning: array 'btf_sock_ids' assumed to have one element 9268 | BTF_ID_LIST(btf_sock_ids) | ^~~~~~~~~~~~ include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST' 69 | static u32 name[]; | ^~~~ /tmp/ccDB7ajn.s: Assembler messages: >> /tmp/ccDB7ajn.s:66247: Error: symbol `btf_sock_ids' is already defined /tmp/ccDB7ajn.s:67196: Error: symbol `bpf_xdp_output_btf_ids' is already defined /tmp/ccDB7ajn.s:67344: Error: symbol `bpf_skb_output_btf_ids' is already defined -- In file included from net/core/filter.c:78: net/core/filter.c:3783:13: warning: array 'bpf_skb_output_btf_ids' assumed to have one element 3783 | BTF_ID_LIST(bpf_skb_output_btf_ids) | ^~~~~~~~~~~~~~~~~~~~~~ include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST' 69 | static u32 name[]; | ^~~~ net/core/filter.c:4179:13: warning: array 'bpf_xdp_output_btf_ids' assumed to have one element 4179 | BTF_ID_LIST(bpf_xdp_output_btf_ids) | ^~~~~~~~~~~~~~~~~~~~~~ include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST' 69 | static u32 name[]; | ^~~~ >> net/core/filter.c:9268:13: warning: array 'btf_sock_ids' assumed to have one element 9268 | BTF_ID_LIST(btf_sock_ids) | ^~~~~~~~~~~~ include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST' 69 | static u32 name[]; | ^~~~ /tmp/cc1GpKvw.s: Assembler messages: /tmp/cc1GpKvw.s:66247: Error: symbol `btf_sock_ids' is already defined /tmp/cc1GpKvw.s:67196: Error: symbol `bpf_xdp_output_btf_ids' is already defined /tmp/cc1GpKvw.s:67344: Error: symbol `bpf_skb_output_btf_ids' is already defined --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org