On Tue, 2012-03-20 at 15:09 -0600, Tom Tromey wrote:
>>>>> "Roland" == Roland McGrath
Tom> There may not be a link time -- you can "pahole something.o". If the
Tom> was made with -fdebug-types-section, then it may have multiple such
Tom> sections. This is just a consequence of the use of different comdat
Tom> sections for each type unit.
Roland> In general we've said that libdw is not meant for generic ET_REL
Ok. I did not know this.
I thought libdw could handle ET_REL and even DWARF in section groups.
That is really what I think is bad about your patch, it breaks
dwarf_begin_elf given a scngrp. Although I admit there are no testcases
for this atm.
The problem you have to solve is that .debug_type sections are special
case, and might occur multiple times in separate COMDAT groups. So, it
should only handle these specially in the "global" dwarf_begin_elf case
without breaking the scngrp case. Or am I missing something and are
there cases where other debug sections can occur in COMDAT groups in the
global case that need to be available outside a section group?