On Wed, 2009-04-22 at 13:02 +0200, Mark Wielaard wrote:
Also investigating some changes in the build_id vaddr logic, which seem to pop up with the new code. Will report when I figure out if it is an stap or libdwfl issue.
This is because the build_id address returned by dwfl_module_build_id() isn't adjusted for with sh_addr + mod->main.bias anymore when the module is ET_EXEC or ET_DYN. This seems to be caused by the guard of mod->e_type == ET_REL before calling __libdwfl_relocate_value() inside __libdwfl_find_build_id(). Of course if the guard wasn't there, then the new assert inside __libdwfl_relocate_value() would trigger.
Cheers,
Mark