On Fri, Mar 8, 2019 at 10:45 AM Arnaldo Carvalho de Melo <arnaldo.melo@xxxxxxxxx> wrote: > > Em Thu, Mar 07, 2019 at 09:26:37PM -0300, Arnaldo Carvalho de Melo escreveu: > > Several looks similar and the low hanging fruit to investigate, seems to > > be enum bitfields, and the others may as well end up being the same, in > > miscalculated stats for structs embedded in other structs: > > I had little time to further look into this, but from what I've seen the > good news is that it seems the problem is with the DWARF loader, the BTF > one producing the right results 8-) I'll take a look at a fix you made > for packed enums and probably use the same thing on the DWARF loader. Yeah, I suspected it might be related to base_type__name_to_size() logic I removed for btf_loader. Ideally we should take the size from DWARF data itself (assuming it's there) and remove base_type__name_to_size() and related parts. > > - Arnaldo > > > $ btfdiff examples/vmlinux-aarch64 > > --- /tmp/btfdiff.dwarf.81KCPb 2019-03-07 18:20:13.153319625 -0300 > > +++ /tmp/btfdiff.btf.g1QkcZ 2019-03-07 18:20:13.928328675 -0300 <snip>