A 48 byte kernel module/cfi load mystery
Mark Wielaard
mjw@redhat.com
Fri Jul 2 14:14:00 GMT 2010
On Fri, 2010-07-02 at 13:23 +0200, Mark Wielaard wrote:
> I cannot figure out why the FDE initial_location is shifted by 48 bytes.
> If in the stap unwinder I just pretend the kernel module has been loaded
> a little earlier:
>
> - vm_addr = s->static_addr;
> + vm_addr = s->static_addr - 0x30;
>
> all the CFIs line up and I can unwind perfectly through the kernel
> modules. But this mysterious magic 48 bytes bothers me. It is the same
> on i686 btw. Any idea where they might be coming from?
Actually it isn't always the same. It was for that kernel on both x86_64
and i686. But with a recent fedora x86_64 kernel
(2.6.33.5-124.fc13.x86_64) the offset is always 0x24.
Cheers,
Mark
More information about the Systemtap
mailing list