At this point pahole should help understanding what is described here:
https://go101.org/article/memory-layout.html
E.g.
How to make life hard for package maintainers in #Linux #distributions:
Just provide a patch instead of directly releasing a new version of foo, when it starts to misbehave with a newly released version of bar, which leads to build errors in foobar.
That's bad, as package maintainers of several distros now need to discover and apply the patch (& later revert) it.
foo in this case is #pahole: https://src.fedoraproject.org/rpms/dwarves/c/5acd1ae2c9ddde3cf3470047265470586a9d6744?branch=rawhide
bar was #binutils 2.40
foobar is #kernel: https://koji.fedoraproject.org/koji/getfile?taskID=97533096&volume=DEFAULT&name=build.log&offset=-4000
#linux #distributions #pahole #binutils #kernel
pahole is finally supporting .dwz style DWARF, I.e. DW_TAG_imported_unit + DW_FORM_GNU_alt_ref debug information:
https://git.kernel.org/pub/scm/devel/pahole/pahole.git/commit/?h=next
Still points to polish, but light at the end of the tunnel seems to be in sight.
Switching to work on diff codebases is challenging, this is a world with too many distractions, only piling up as you age and pile up more responsibilities.
I'll add an example to the commit log, based in the raison d'ĂȘtre: openvswitch.
#linux #pahole #elfutils #libdw #dwarf