unknown error after dwarf_cfi_addrframe()

Mark Wielaard mark@klomp.org
Tue Feb 12 06:47:00 GMT 2019


On Tue, Feb 12, 2019 at 01:15:45AM +0000, Sasha Da Rocha Pinheiro wrote:
> I found that when libdw will try to get the base CFI from the ABI, the function ebl_abi_cfi() ends calling  default_abi_cfi() which returns -1, when should be calling x86_64_abi_cfi().
> In addition, the symbol x86_64_abi_cfi in the file libdw.so is not present, but all the respective default_* ones are.
> It seems that the library is being compiled using BACKEND as default and not catching the correct architecture (?). 

Maybe you are using an elfutils install in a non-default location?
The backends are loaded dynamically and it looks like they aren't found.
If you build and installed with e.g. --prefix=/opt/local/install/elfutils
Try setting the environment variable LD_LIBRARY_PATH to:
/opt/local/install/elfutils/lib:/opt/local/install/elfutils/lib/elfutils

The first contains the elfutils libraries libelf.so, libdw.so, etc.
The second contains the backends libebl_<arch>.so

> I'm trying to read frame info from .eh_frame section. But I'm getting "unknown error".

That is certainly an unhelpful error message. Sorry.

Cheers,

Mark



More information about the Elfutils-devel mailing list