[PATCH] Use the DWARF form DW_FORM_sec_offset or DW_FORM_data4 depending on the Dwarf version being generated

Eric Christopher echristo at gmail.com
Thu Nov 14 14:31:59 PST 2013


Good catch. I'd looked for this case but apparently missed it in the diff.
Fission is a dwarf5 feature and so this probably shouldn't work since it
relies on forms that are only in dwarf5.

-eric
On Nov 14, 2013 2:18 PM, "Robinson, Paul" <
Paul_Robinson at playstation.sony.com> wrote:

> +; RUN: llc -split-dwarf=Enable -O0 %s -mtriple=x86_64-unknown-linux-gnu
> -filetype=obj -o %t -dwarf-version=3
>
> This seems weird, fission with DWARF 3... but of course 4 doesn't
> have it either, so it's no less weird than what we have today.
>
> It's good to have the forms more consistent with the target version
> but eventually we might want to be more picky about mix-n-match.
> --paulr
>
> > -----Original Message-----
> > From: llvm-commits-bounces at cs.uiuc.edu [mailto:llvm-commits-
> > bounces at cs.uiuc.edu] On Behalf Of Keith Walker
> > Sent: Thursday, November 14, 2013 8:29 AM
> > To: echristo at gmail.com; kwalker at arm.com
> > Cc: llvm-commits at cs.uiuc.edu
> > Subject: [PATCH] Use the DWARF form DW_FORM_sec_offset or DW_FORM_data4
> > depending on the Dwarf version being generated
> >
> > Hi echristo,
> >
> > In Dwarf 3 (and Dwarf 2) attributes whose value are offsets into a
> > section use the form DW_FORM_data4 whilst in Dwarf 4 and later they use
> > the form DW_FORM_sec_offset.
> >
> > This patch updates the places where such attributes are generated to use
> > the appropriate form depending on the Dwarf version.  The DIE entries
> > affected have the following tags:
> > DW_AT_stmt_list, DW_AT_ranges, DW_AT_location, DW_AT_GNU_pubnames,
> > DW_AT_GNU_pubtypes, DW_AT_GNU_addr_base, DW_AT_GNU_ranges_base
> >
> > It also adds a hidden command line option "--dwarf-version=<uint>" to
> > llc which allows the version of Dwarf to be generated to override what
> > is specified in the metadata;  this makes it possible to update existing
> > tests to check the debugging information generated for both Dwarf 4 (the
> > default) and Dwarf 3 using the same metadata.
> >
> > http://llvm-reviews.chandlerc.com/D2180
> >
> > Files:
> >   lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
> >   lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
> >   lib/CodeGen/AsmPrinter/DIE.cpp
> >   lib/CodeGen/AsmPrinter/DwarfDebug.cpp
> >   test/DebugInfo/X86/op_deref.ll
> >   test/DebugInfo/X86/block-capture.ll
> >   test/DebugInfo/X86/DW_AT_stmt_list_sec_offset.ll
> >   test/DebugInfo/X86/gnu-public-names.ll
> >   test/DebugInfo/X86/fission-cu.ll
> >   test/DebugInfo/X86/stmt-list-multiple-compile-units.ll
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131114/2bb18409/attachment.html>


More information about the llvm-commits mailing list