On Tue, Mar 2, 2021 at 08:22 PM, Andrii Nakryiko wrote: > > On Tue, Mar 2, 2021 at 4:42 PM <bg.salunk...@gmail.com> wrote: > >> Thanks Andrii, for detailed answer. >> Yes you are right, I'm looking for CO-RE. Basically I'm trying to build >> the eBPF program which can run on any linux kernel version using libbpf >> >> What I understood from your blog >> https://facebookmicrosites.github.io/bpf/blog/2020/02/19/bpf-portability-and-co-re.html >> (Thanks for in depth blog post, appreciate it), to work libbpf based >> program >> the BTF information should be available on the running host. Is my >> understanding correct? > > Yes, correct.
Thank you for confirming! > > >> Btw, Is there any document to generate BTF information for a linux kernel? >> Or Is there a way to generate BTF info for running kernel i.e. at runtime >> and not at compile time? Thanks! > > Yes, you can, if you have vmlinux image with DWARF information in it. > You can use pahole tool like this to add .BTF section to vmlinux > image: > > pahole -J <path-to-vmlinux-image> > > You most probably would want to make a local copy of vmlinux image, of > course. After that you can pass the path to that vmlinux with embedded > .BTF to libbpf to use for CO-RE relocations. See [0] for recent > discussion of the exact same topic. See also patch [1] that was aiming > to make this scenario better in libbpf (unfortunately it hasn't landed > yet, but it is pretty close to being done, so shouldn't be a problem > for you to pick up, if necessary). > > This is certainly not the most straightforward and easiest path, but > if you want to get CO-RE working with older kernel for which you don't > have much control, it is definitely a possible way (as long as you > have DWARF, which is used to produce BTF for vmlinux). > > [0] > https://lore.kernel.org/bpf/CAEf4BzbJZLjNoiK8_VfeVg_Vrg=9iYFv+po-38SMe=UzwDKJ=q...@mail.gmail.com/ > > [1] > https://lore.kernel.org/bpf/b8801f77-37e8-4ef8-8994-d366d4816...@araalinetworks.com/ > > > Go it. I'm following the discussion thread and patch. Thank you so much for your time. -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#1970): https://lists.iovisor.org/g/iovisor-dev/message/1970 Mute This Topic: https://lists.iovisor.org/mt/80980657/21656 Mute #bcc:https://lists.iovisor.org/g/iovisor-dev/mutehashtag/bcc Group Owner: iovisor-dev+ow...@lists.iovisor.org Unsubscribe: https://lists.iovisor.org/g/iovisor-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-