http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45690
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org, | |jason at gcc dot gnu.org --- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-10-18 14:28:51 UTC --- The problem is that the DWARF4 standard says that .debug_pubtypes resp. .debug_pubnames refer to .debug_info section offsets and this hasn't been updated for the (optional) .debug_types section addition. If a type (resp. name) DIE is instead in .debug_types section, it is unclear what should be done. Either such a type shouldn't be added into .debug_pubtypes at all, or we'd need to refer to something. I don't see anything to refer to in .debug_info section though, usually it just contains DW_AT_type with DW_FORM_sig8 containing the .debug_types hash with the type. And it isn't possible to refer to .debug_types section offsets, because the consumers would need a way to differentiate between what is a .debug_info offset in the header (relative to start of .debug_info) and what is a .debug_types offset (relative to start of .debug_types). I think currently what you see is gcc emitting offsets within containing .debug_types section in .debug_pubtypes chunks corresponding to .debug_info.