[Bug general/31439] error: undefined reference to '__dwarf_get_units_internal'
mark at klomp dot org
sourceware-bugzilla@sourceware.org
Sat Mar 2 23:53:29 GMT 2024
https://sourceware.org/bugzilla/show_bug.cgi?id=31439
Mark Wielaard <mark at klomp dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|UNCONFIRMED |RESOLVED
--- Comment #3 from Mark Wielaard <mark at klomp dot org> ---
Thanks for testing. I don't know why I am unable to replicate or why none of
our buildbots caught this. But it makes sense that an INTUSE used in readelf
might cause issues.
Fixed by:
commit 7cf4586e5b429c0fa74d3ae73f49e6cda6660e93
Author: Mark Wielaard <mark@klomp.org>
Date: Sun Mar 3 00:45:34 2024 +0100
libdw: Don't use INTUSE in libdwP.h str_offsets_base_off
readelf.c cheats and include libdwP.h, which is an internal only
header of libdw. It really shouldn't do that, but there are some
internals that readelf currently needs. The str_offsets_base_off
function used by readelf uses INTUSE when calling dwarf_get_units.
This is a micro optimization useful inside libdw so a public
function can be called directly, skipping a PLT call. This can
cause issues linking readelf since it might not be able to call
the internal function, since readelf.c isn't part of libdw itself.
Just drop the INTUSE.
* libdw/libdwP.h (str_offsets_base_off): Don't use INTUSE
when calling dwarf_get_units.
Signed-off-by: Mark Wielaard <mark@klomp.org>
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Elfutils-devel
mailing list