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.

Reply via email to