On Thu, Jul 26, 2018 at 04:21:31AM +0900, Taeung Song wrote: > > > On 07/26/2018 03:27 AM, Taeung Song wrote: > > Hi Arnaldo, > > > > On 07/26/2018 02:52 AM, Arnaldo Carvalho de Melo wrote: > > > Em Thu, Jul 26, 2018 at 02:23:32AM +0900, Taeung Song escreveu: > > > > Hi, > > > > > > > > Building bpf programs with .BTF section, > > > > I thought it'd be better to convert dwarf info to .BTF by > > > > a new tool such as 'tools/bpf/bpf_dwarf2btf' instead of pahole > > > > in the future. > > > > Currently for bpf binary that have .BTF section, > > > > we need to use pahole from https://github.com/iamkafai/pahole/tree/btf > > > > with the command line such as "pahole -J bpf_prog.o". > > > > I think it is great but if implementing new 'bpf_dwarf2btf' > > > > (dwarf parsing + btf encoder code written by Martin KaFai Lau on > > > > the pahole project i.e. btf.h, btf_encoder.c, btf_encoder.h, > > > > libbtf.c, libbtf.h), > > > > BPF developers would more easily use functionalities based on BTF. > > > > > > What would be easier exactly? Not having to install a package but build > > > it from the kernel sources? > > > > > > Many kernel developers already have pahole installed for other uses, so > > > no need to install anything. > > > > > > > Understood, but I think there are many non-kernel developers > > developing BPF programs and they mightn't have or use pahole. > > > > So, if providing the 'dwarf2btf' feature on tools/bpf or tools/bpf/bpftool, > > non-kernel developers can also more easily build bpf prog with .BPF, no ? Some quick thoughts, IMO, I suspect if it is in the distro's pahole package, it should be easy enough for kernel and non kernel developer to install. BTF usage is still evolving, we might re-evaluate going forward but at this point I think leveraging pahole's existing capability is a good option.
> > > > Or, if tools/lib/bpf/ have the 'dwarf2btf' feature, > I think BPF developers can just use bpf programs that have dwarf info > after compiling with clang '-g' and llc '-mattr=dwarfris', even though not > using pahole. > Isn't it good way ? > > > > BTW, Daniel, I just pushed to pahole's main repository at: > > > > > > git://git.kernel.org/pub/scm/devel/pahole/pahole.git > > > > > > with the Martin's BTF patch, so no need to pull from the github one, > > > I'll tag v1.12 and announce the release so that distro package > > > maintainers can update their packages. Awesome! Thanks, Arnaldo! - Martin

