This is the mail archive of the
elfutils-devel@sourceware.org
mailing list for the elfutils project.
Using __libdw_formptr from C++
- From: Petr Machata <pmachata at redhat dot com>
- To: elfutils-devel at lists dot fedorahosted dot org
- Date: Thu, 24 Feb 2011 23:11:49 +0100
- Subject: Using __libdw_formptr from C++
Hi there,
this is about https://bugzilla.redhat.com/show_bug.cgi?id=679815 that
Mark filed this week. I fixed on dwarf branch a couple bugs that
dwarflint was hitting, but there's one outstanding issue that I don't
want to commit to dwarf.
The thing is that in range_list::const_iterator we now use
dwarf_formudata. dwarf_formudata doesn't handle DW_FORM_sec_offset, and
I'm not sure that it should. The function that does handle them is
__libdw_formptr and indeed where the iterators use dwarf_formudata, one
finds a comment in the spirit of "xxx __libdw_formptr". So I rewrote
the code to use that instead, just to find at link time that the
function obviously is not public, and since we compile the C++ bits
separately through an .a archive, this bites us.
Well the logic is written now, and seems to work, so I've committed it,
just separately to pmachata/range_list_iterator_formptr. The hope is
that it will be easy enough to adjust the patch to whatever the final
solution might be. I don't suppose that bundling C++ bits with C bits
in the single DSO ever was in plan, so some sort of publishing useful,
not-quite-ABI bits from libdw.so will be necessary.
Thanks,
PM