[llvm] r217338 - DebugInfo: Do not use DW_FORM_GNU_addr_index in skeleton CUs, GDB 7.8 errors on this.

Eric Christopher echristo at gmail.com
Sun Sep 7 19:47:37 PDT 2014


Might want to comment the limitation above the conditional.

-eric


On Sun, Sep 7, 2014 at 10:31 AM, David Blaikie <dblaikie at gmail.com> wrote:

> Author: dblaikie
> Date: Sun Sep  7 12:31:42 2014
> New Revision: 217338
>
> URL: http://llvm.org/viewvc/llvm-project?rev=217338&view=rev
> Log:
> DebugInfo: Do not use DW_FORM_GNU_addr_index in skeleton CUs, GDB 7.8
> errors on this.
>
> It's probably not a huge deal to not do this - if we could, maybe the
> address could be reused by a subprogram low_pc and avoid an extra
> relocation, but it's just one per CU at best.
>
> Modified:
>     llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
>     llvm/trunk/test/DebugInfo/X86/cu-ranges.ll
>
> Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp?rev=217338&r1=217337&r2=217338&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp (original)
> +++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp Sun Sep  7 12:31:42
> 2014
> @@ -288,7 +288,7 @@ void DwarfUnit::addSectionOffset(DIE &Di
>  void DwarfCompileUnit::addLabelAddress(DIE &Die, dwarf::Attribute
> Attribute,
>                                         const MCSymbol *Label) {
>
> -  if (!DD->useSplitDwarf())
> +  if (!DD->useSplitDwarf() || !Skeleton)
>      return addLocalLabelAddress(Die, Attribute, Label);
>
>    if (Label)
>
> Modified: llvm/trunk/test/DebugInfo/X86/cu-ranges.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/cu-ranges.ll?rev=217338&r1=217337&r2=217338&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/DebugInfo/X86/cu-ranges.ll (original)
> +++ llvm/trunk/test/DebugInfo/X86/cu-ranges.ll Sun Sep  7 12:31:42 2014
> @@ -1,9 +1,9 @@
>  ; RUN: llc -split-dwarf=Enable -O0 %s -function-sections
> -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
> -; RUN: llvm-dwarfdump -debug-dump=all %t | FileCheck
> --check-prefix=FUNCTION-SECTIONS %s
> +; RUN: llvm-dwarfdump -debug-dump=abbrev %t | FileCheck
> --check-prefix=FUNCTION-SECTIONS %s
>  ; RUN: llvm-readobj --relocations %t | FileCheck
> --check-prefix=FUNCTION-SECTIONS-RELOCS %s
>
>  ; RUN: llc -split-dwarf=Enable -O0 %s -mtriple=x86_64-unknown-linux-gnu
> -filetype=obj -o %t
> -; RUN: llvm-dwarfdump -debug-dump=all %t | FileCheck
> --check-prefix=NO-FUNCTION-SECTIONS %s
> +; RUN: llvm-dwarfdump -debug-dump=abbrev %t | FileCheck
> --check-prefix=NO-FUNCTION-SECTIONS %s
>
>  ; From:
>  ; int foo (int a) {
> @@ -21,6 +21,8 @@
>
>  ; Without function sections enabled make sure that we have no
> DW_AT_ranges attribute.
>  ; NO-FUNCTION-SECTIONS-NOT: DW_AT_ranges
> +; NO-FUNCTION-SECTIONS: DW_AT_low_pc DW_FORM_addr
> +; NO-FUNCTION-SECTIONS-NOT: DW_AT_ranges
>
>  ; Function Attrs: nounwind uwtable
>  define i32 @foo(i32 %a) #0 {
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140907/6cb00e42/attachment.html>


More information about the llvm-commits mailing list