On Thu, Dec 01, 2016 at 01:52:47PM +0000, Robinson, Paul wrote:
> Thanks for reporting this stuff! I see a few things you found have
> already been reported, but please make sure to file issues for the
> rest so we can clean up as much as we can.
> > New FORMs. DW_FORM_ref_sup doesn't describe how the offset is
> > represented. Currently the assumption in elfutils is that it is 4 or 8
> > bytes depending on whether the containing unit is 32bit or 64bit DWARF.
> > This would be consistent with DW_FORM_strp_sup. The consequence is that
> > if the supplemental file has really big data sections you need a 64bit
> > DWARF unit to reference everything in it.
> Already filed as issue 161114.1.
This one was meant to be 4 or 8 bytes depending on whether the containing
unit is 32bit or 64bit DWARF. If the supplemental file is 64-bit DWARF
and you need to refer to offsets above 4GB in it, the refering unit
needs to be 64-bit as well.
Making it 8 bytes always would reduce its usefulness, it would be less
beneficial to replace common parts (would increase the needed size for the
> > Macro Information Header. The macro information entries in the
> > opcode_operands_table may be described in the table. But some cannot be
> > described because some forms are not in the list of allowed forms. In
> > particular DW_FORM_strp_sup is missing so DW_MACRO_define_sup and
> > DW_MACRO_undef_sup cannot be described. And DW_FORM_ref_sup is missing,
> > making it impossible to describe DW_MACRO_import_sup. Which makes the
> > code that checks for allowed forms slightly inconvenient (it should
> > reject these MACRO descriptions if those forms are used in the table,
> > but not if they are defined implicitly). Also DW_FORM_line_strp isn't
> > allowed. But it might be beneficial for describing files referenced by
> > macros.
> Good catch. I see there is issue 161031.3 which has to do with allowed
> forms in the line table, but I'm not seeing one for the macro section.
Yes, DW_FORM_ref_sup and DW_FORM_strp_sup certainly should be allowed
in .debug_macro opcode table, likely DW_FORM_line_strp as well.
Dwarf-Discuss mailing list