summaryrefslogtreecommitdiffstats
path: root/llvm/test/DebugInfo/dwarfdump-str-offsets-dwp.test
blob: fa8b1e0bfb884bfe77afabc60b6f8a5ccecb8f74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-str-offsets-dwp.x86_64.o | FileCheck %s

; Verify that the correct strings from each unit are displayed and that the
; index for the .debug_str_offsets section has the right values.

; CHECK:      Compile Unit
; CHECK-NOT:  NULL
; CHECK:      DW_TAG_compile_unit
; CHECK-NEXT: DW_AT_producer [DW_FORM_strx] ( indexed (00000000) string = "Handmade DWARF producer")
; CHECK-NEXT: DW_AT_name [DW_FORM_strx] ( indexed (00000001) string = "Compile_Unit_1")
; CHECK-NEXT: DW_AT_str_offsets_base [DW_FORM_sec_offset] (0x00000008)
; CHECK-NEXT: DW_AT_name [DW_FORM_strx] ( indexed (00000002) string = "/home/test/CU1")
; CHECK-NOT:  NULL

; CHECK:      Compile Unit
; CHECK-NOT:  NULL
; CHECK:      DW_TAG_compile_unit
; CHECK-NEXT: DW_AT_producer [DW_FORM_strx] ( indexed (00000000) string = "Handmade DWARF producer")
; CHECK-NEXT: DW_AT_name [DW_FORM_strx] ( indexed (00000001) string = "Compile_Unit_2")
; CHECK-NEXT: DW_AT_str_offsets_base [DW_FORM_sec_offset] (0x00000008)
; CHECK-NEXT: DW_AT_name [DW_FORM_strx] ( indexed (00000002) string = "/home/test/CU2")
; 
; CHECK:      Type Unit
; CHECK-NOT:  NULL
; CHECK:      DW_TAG_type_unit
; CHECK-NEXT: DW_AT_name [DW_FORM_strx] ( indexed (00000000) string = "Type_Unit_1")
; CHECK-NEXT: DW_AT_str_offsets_base [DW_FORM_sec_offset] (0x0000001c)
; CHECK-NOT:  NULL
; CHECK:      DW_TAG_structure_type
; CHECK-NEXT: DW_AT_name [DW_FORM_strx] ( indexed (00000001) string = "MyStruct_1")
;
; CHECK:      Type Unit
; CHECK-NOT:  NULL
; CHECK:      DW_TAG_type_unit
; CHECK-NEXT: DW_AT_name [DW_FORM_strx] ( indexed (00000000) string = "Type_Unit_2")
; CHECK-NEXT: DW_AT_str_offsets_base [DW_FORM_sec_offset] (0x0000001c)
; CHECK-NOT:  NULL
; CHECK:      DW_TAG_structure_type
; CHECK-NEXT: DW_AT_name [DW_FORM_strx] ( indexed (00000001) string = "MyStruct_2")

; Verify the correct offets of the compile and type units contributions in the
; index tables.

; CHECK:      .debug_cu_index contents:
; CHECK-NOT:  contents:
; CHECK:      1 0xddeeaaddbbaabbee [{{0x[0-9a-f]*, 0x[0-9a-f]*}}) [{{0x[0-9a-f]*, 0x[0-9a-f]*}})
; CHECK-SAME: [0x00000000
; CHECK-NEXT: 2 0xff00ffeeffaaff00 [{{0x[0-9a-f]*, 0x[0-9a-f]*}}) [{{0x[0-9a-f]*, 0x[0-9a-f]*}})
; CHECK-SAME: [0x00000024

; CHECK:      .debug_tu_index contents:
; CHECK-NOT:  contents:
; CHECK:      1 0xeeaaddbbaabbeedd [{{0x[0-9a-f]*, 0x[0-9a-f]*}}) [{{0x[0-9a-f]*, 0x[0-9a-f]*}})
; CHECK-SAME: [0x00000000
; CHECK-NEXT: 2 0x00ffeeffaaff00ff [{{0x[0-9a-f]*, 0x[0-9a-f]*}}) [{{0x[0-9a-f]*, 0x[0-9a-f]*}})
; CHECK:      [0x00000024
OpenPOWER on IntegriCloud