On Thu, Feb 11, 2021 at 04:43:48PM +0100, Sedat Dilek wrote: SNIP > > > filled with elf functions start/end values, right? > > > > > > > /* > > > > * We iterate over sorted array, so we can easily skip > > > > * not valid item and move following valid field into > > > > > > > > > > > > So the idea is to use address segments and check whether there is a > > > > segment that overlaps with a given address by first binary searching > > > > for a segment with the largest starting address that is <= addr. And > > > > then just confirming that segment does overlap with the requested > > > > address. > > > > > > > > WDYT? > > > > heya, > > with your approach I ended up with change below, it gives me same > > results as with the previous change > > > > I think I'll separate the kmod bool address computation later on, > > but I did not want to confuse this change for now > > > > I have applied your diff on top of pahole-v1.20 with Yonghong Son's > "btf_encoder: sanitize non-regular int base type" applied. > This is on x86-64 with LLVM-12, so I am not directly affected. > If it is out of interest I can offer vmlinux (or .*btf* files) w/ and > w/o your diff. if you could run your tests/workloads and check the new change does not break your stuff, that'd be great we need soem testsuite ;-) I have some stupid test script which runs over few vmlinux binaries and check the diff in BTF data.. problem is that these vmlinux binaries are ~300M each, so it's not great for sharing also I was checking if we could use BPF_BTF_LOAD syscall and load BTF in kernel and back at the end of pahole processing to check it's valid ;-) thanks, jirka