summaryrefslogtreecommitdiff
path: root/test/DebugInfo
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2013-12-30 17:22:27 +0000
committerEric Christopher <echristo@gmail.com>2013-12-30 17:22:27 +0000
commit5be77762a3aa434ee877b0a03b98b5c3a7571918 (patch)
tree42340f3b8be5b3b7381a3cc618219253a5f8b231 /test/DebugInfo
parentd2f307195ab54bb6b706c30bd842aa7d485bc79d (diff)
downloadllvm-5be77762a3aa434ee877b0a03b98b5c3a7571918.tar.gz
llvm-5be77762a3aa434ee877b0a03b98b5c3a7571918.tar.bz2
llvm-5be77762a3aa434ee877b0a03b98b5c3a7571918.tar.xz
Revert r198208 and reapply:
r198196: Use a pointer to keep track of the skeleton unit for each normal unit and construct it up front. r198199: Reapply r198196 with a fix to zero initialize the skeleton pointer. r198202: Fix aranges and split dwarf by ensuring that the symbol and relocation back to the compile unit from the aranges section is to the skeleton unit and not the one in the dwo. with a fix to use integer 0 for DW_AT_low_pc since the relocation to the text section symbol was causing issues with COFF. Accordingly remove addLocalLabelAddress and machinery since we're not currently using it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198222 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/DebugInfo')
-rw-r--r--test/DebugInfo/X86/arange.ll5
-rw-r--r--test/DebugInfo/X86/fission-cu.ll7
-rw-r--r--test/DebugInfo/X86/stmt-list-multiple-compile-units.ll8
3 files changed, 14 insertions, 6 deletions
diff --git a/test/DebugInfo/X86/arange.ll b/test/DebugInfo/X86/arange.ll
index fd0d0a3e08..819f9863bc 100644
--- a/test/DebugInfo/X86/arange.ll
+++ b/test/DebugInfo/X86/arange.ll
@@ -1,6 +1,7 @@
; REQUIRES: object-emission
; RUN: llc -mtriple=x86_64-linux -O0 -filetype=obj < %s | llvm-dwarfdump -debug-dump=aranges - | FileCheck %s
+; RUN: llc -mtriple=x86_64-linux -O0 -filetype=obj < %s | llvm-readobj --relocations - | FileCheck --check-prefix=OBJ %s
; extern int i;
; template<int *x>
@@ -15,6 +16,10 @@
; CHECK-NEXT: [0x
; CHECK-NOT: [0x
+; Check that we have a relocation back to the debug_info section from the debug_aranges section
+; OBJ: debug_aranges
+; OBJ-NEXT: R_X86_64_32 .debug_info 0x0
+
%struct.foo = type { i8 }
@f = global %struct.foo zeroinitializer, align 1
diff --git a/test/DebugInfo/X86/fission-cu.ll b/test/DebugInfo/X86/fission-cu.ll
index 06408d7081..d8f7a8e300 100644
--- a/test/DebugInfo/X86/fission-cu.ll
+++ b/test/DebugInfo/X86/fission-cu.ll
@@ -25,19 +25,19 @@
; CHECK: [1] DW_TAG_compile_unit DW_CHILDREN_no
; CHECK: DW_AT_GNU_dwo_name DW_FORM_strp
; CHECK: DW_AT_GNU_addr_base DW_FORM_sec_offset
-; CHECK: DW_AT_low_pc DW_FORM_addr
; CHECK: DW_AT_stmt_list DW_FORM_sec_offset
; CHECK: DW_AT_comp_dir DW_FORM_strp
; CHECK: DW_AT_GNU_dwo_id DW_FORM_data8
+; CHECK: DW_AT_low_pc DW_FORM_addr
; CHECK: .debug_info contents:
; CHECK: DW_TAG_compile_unit
; CHECK: DW_AT_GNU_dwo_name [DW_FORM_strp] ( .debug_str[0x00000000] = "baz.dwo")
; CHECK: DW_AT_GNU_addr_base [DW_FORM_sec_offset] (0x00000000)
-; CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
; CHECK: DW_AT_stmt_list [DW_FORM_sec_offset] (0x00000000)
; CHECK: DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x00000008] = "/usr/local/google/home/echristo/tmp")
; CHECK: DW_AT_GNU_dwo_id [DW_FORM_data8] (0x0000000000000000)
+; CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
; CHECK: .debug_str contents:
; CHECK: 0x00000000: "baz.dwo"
@@ -111,4 +111,7 @@
; OBJ-NEXT: R_X86_64_32 .debug_line
; OBJ-NEXT: R_X86_64_32 .debug_str
; OBJ-NEXT: }
+; OBJ: .debug_aranges
+; OBJ-NEXT: R_X86_64_32 .debug_info 0x0
+
!9 = metadata !{i32 1, metadata !"Debug Info Version", i32 1}
diff --git a/test/DebugInfo/X86/stmt-list-multiple-compile-units.ll b/test/DebugInfo/X86/stmt-list-multiple-compile-units.ll
index 147937aaf4..e63cbd11e4 100644
--- a/test/DebugInfo/X86/stmt-list-multiple-compile-units.ll
+++ b/test/DebugInfo/X86/stmt-list-multiple-compile-units.ll
@@ -7,12 +7,12 @@
; rdar://13067005
; CHECK: .debug_info contents:
; CHECK: DW_TAG_compile_unit
-; CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
; CHECK: DW_AT_stmt_list [DW_FORM_sec_offset] (0x00000000)
+; CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
; CHECK: DW_TAG_compile_unit
-; CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
; CHECK: DW_AT_stmt_list [DW_FORM_sec_offset] (0x0000003c)
+; CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
; CHECK: .debug_line contents:
; CHECK-NEXT: Line table prologue:
@@ -25,12 +25,12 @@
; DWARF3: .debug_info contents:
; DWARF3: DW_TAG_compile_unit
-; DWARF3: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
; DWARF3: DW_AT_stmt_list [DW_FORM_data4] (0x00000000)
+; DWARF3: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
; DWARF3: DW_TAG_compile_unit
-; DWARF3: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
; DWARF3: DW_AT_stmt_list [DW_FORM_data4] (0x0000003c)
+; DWARF3: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
; DWARF3: .debug_line contents:
; DWARF3-NEXT: Line table prologue: