On Thu, Jun 18, 2020 at 06:02:48PM -0700, Andrii Nakryiko wrote: SNIP > > diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h > > index db600ef218d7..0be2ee265931 100644 > > --- a/include/asm-generic/vmlinux.lds.h > > +++ b/include/asm-generic/vmlinux.lds.h > > @@ -641,6 +641,10 @@ > > __start_BTF = .; \ > > *(.BTF) \ > > __stop_BTF = .; \ > > + } \ > > + . = ALIGN(4); \ > > + .BTF_ids : AT(ADDR(.BTF_ids) - LOAD_OFFSET) { \ > > + *(.BTF_ids) \ > > } > > #else > > #define BTF > > diff --git a/kernel/bpf/Makefile b/kernel/bpf/Makefile > > index 1131a921e1a6..21e4fc7c25ab 100644 > > --- a/kernel/bpf/Makefile > > +++ b/kernel/bpf/Makefile > > @@ -7,7 +7,7 @@ obj-$(CONFIG_BPF_SYSCALL) += hashtab.o arraymap.o percpu_freelist.o bpf_lru_list > > obj-$(CONFIG_BPF_SYSCALL) += local_storage.o queue_stack_maps.o ringbuf.o > > obj-$(CONFIG_BPF_SYSCALL) += disasm.o > > obj-$(CONFIG_BPF_JIT) += trampoline.o > > -obj-$(CONFIG_BPF_SYSCALL) += btf.o > > +obj-$(CONFIG_BPF_SYSCALL) += btf.o btf_ids.o > > obj-$(CONFIG_BPF_JIT) += dispatcher.o > > ifeq ($(CONFIG_NET),y) > > obj-$(CONFIG_BPF_SYSCALL) += devmap.o > > diff --git a/kernel/bpf/btf_ids.c b/kernel/bpf/btf_ids.c > > new file mode 100644 > > index 000000000000..e7f9d94ad293 > > --- /dev/null > > +++ b/kernel/bpf/btf_ids.c > > @@ -0,0 +1,3 @@ > > +// SPDX-License-Identifier: GPL-2.0-only > > + > > +#include "btf_ids.h" > > hm... what's the purpose of this btf_ids.c file? I put all the lists in here.. I can add it in that patch later on jirka > > > diff --git a/kernel/bpf/btf_ids.h b/kernel/bpf/btf_ids.h > > new file mode 100644 > > index 000000000000..68aa5c38a37f > > --- /dev/null > > +++ b/kernel/bpf/btf_ids.h > > [...] >