From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============1166303315508266550==" MIME-Version: 1.0 From: Jakub Jelinek To: elfutils-devel@lists.fedorahosted.org Subject: Re: [Dwarf-Discuss] Some DWARFv5 draft feedback Date: Thu, 01 Dec 2016 15:04:31 +0100 Message-ID: <20161201140431.GL3541@tucnak.redhat.com> In-Reply-To: E3B07FDB86BFF041819DC057DEED8FEAF4950529@USCULXMSG08.am.sony.com --===============1166303315508266550== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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. > http://dwarfstd.org/ShowIssue.php?issue=3D161114.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 optimization). > > 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. Jakub --===============1166303315508266550==--