Subject: Re: FAILED unresolved symbol vfs_truncate on arm64 with LLVM

From: Jiri Olsa <[email-masked]>
Date: Thu, 11 Feb 2021 17:07:20 +0100

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