Description of problem: If DIE is not available but dwfl_module_addrname() is still able to locate the symbol it returns only its name. It could definitely return its base address (lowpc) and according to ST_SIZE != 0 it could also return its highpc. Version-Release number of selected component (if applicable): elfutils-0.126-1.i386 How reproducible: Always. Steps to Reproduce: 1. name = dwfl_module_addrname (mod, 0xdeadf00d); Actual results: name Expected results: GElf_Addr lowpc, highpc; name = dwfl_module_addrname (mod, 0xdeadf00d, &lowpc, &highpc); if (name != NULL) process_lowpc (lowpc); if (name != NULL && highpc != 0) process_highpc (highpc); Additional info: Patching dwfl_module_addrname() is trivia but some elfutils-wise API proposal would be nice.
I can add a similar call that takes an address but returns full info in the same way as dwfl_module_getsym.
Confirming I would like such API for these needs. I hope it would reuse/refactor some of the existing code of dwfl_module_getsym()/gelf_getsymshndx() there.
Of course it was already using that internally. I've added the new dwfl_module_addrsym call upstream, it was trivial.
Is the patch available?
0.127 includes dwfl_module_addrsym