4
4
5
5
## cat dwarf5-dw-op-addrx.c
6
6
7
+ ## char arr[40];
8
+ ## char arr2[40];
9
+ ## char arr3[40];
10
+ ## char arr4[40];
11
+ ## char arr5[40];
12
+ ## char arr6[40];
13
+ ## char arr7[40];
14
+ ## char arr8[40];
15
+ ## char arr9[40];
16
+ ## int main() { return 0;}
17
+
7
18
## $ clang -gdwarf-5 dwarf5-dw-op-addrx.c -c -O2 -o dwarf5-dw-op-addrx.o
8
19
9
20
#RUN: dsymutil -oso-prepend-path %p/../Inputs -y %s -o %t.dSYM
21
32
#DWARF-CHECK: DW_AT_low_pc {{.*}}0x0000000100000fb0
22
33
#DWARF-CHECK: DW_TAG_variable
23
34
#DWARF-CHECK: DW_AT_name {{.*}}"arr"
35
+ #DWARF-CHECK: DW_AT_location {{.*}}(DW_OP_addr 0x100001000)
36
+ #DWARF-CHECK: DW_TAG_variable
37
+ #DWARF-CHECK: DW_AT_name {{.*}}"arr2"
24
38
#DWARF-CHECK: DW_AT_location {{.*}}(DW_OP_addr 0x100002000)
39
+ #DWARF-CHECK: DW_TAG_variable
40
+ #DWARF-CHECK: DW_AT_name {{.*}}"arr3"
41
+ #DWARF-CHECK: DW_AT_location {{.*}}(DW_OP_addr 0x100003000)
42
+ #DWARF-CHECK: DW_TAG_variable
43
+ #DWARF-CHECK: DW_AT_name {{.*}}"arr4"
44
+ #DWARF-CHECK: DW_AT_location {{.*}}(DW_OP_addr 0x100004000)
45
+ #DWARF-CHECK: DW_TAG_variable
46
+ #DWARF-CHECK: DW_AT_name {{.*}}"arr5"
47
+ #DWARF-CHECK: DW_AT_location {{.*}}(DW_OP_addr 0x100005000)
48
+ #DWARF-CHECK: DW_TAG_variable
49
+ #DWARF-CHECK: DW_AT_name {{.*}}"arr6"
50
+ #DWARF-CHECK: DW_AT_location {{.*}}(DW_OP_addr 0x100006000)
51
+ #DWARF-CHECK: DW_TAG_variable
52
+ #DWARF-CHECK: DW_AT_name {{.*}}"arr7"
53
+ #DWARF-CHECK: DW_AT_location {{.*}}(DW_OP_addr 0x100007000)
54
+ #DWARF-CHECK: DW_TAG_variable
55
+ #DWARF-CHECK: DW_AT_name {{.*}}"arr8"
56
+ #DWARF-CHECK: DW_AT_location {{.*}}(DW_OP_addr 0x100008000)
57
+ #DWARF-CHECK: DW_TAG_variable
58
+ #DWARF-CHECK: DW_AT_name {{.*}}"arr9"
59
+ #DWARF-CHECK: DW_AT_location {{.*}}(DW_OP_addr 0x100009000)
25
60
#DWARF-CHECK-NOT: .debug_addr
26
61
27
62
#UPD-DWARF-CHECK: DW_TAG_compile_unit
28
63
#UPD-DWARF-CHECK: DW_AT_name {{.*}}"dwarf5-dw-op-addrx.c"
29
- #UPD-DWARF-CHECK: DW_AT_low_pc [DW_FORM_addrx] (indexed (00000001 ) address = 0x0000000000000000)
64
+ #UPD-DWARF-CHECK: DW_AT_low_pc [DW_FORM_addrx] (indexed (00000009 ) address = 0x0000000000000000)
30
65
#UPD-DWARF-CHECK: DW_AT_high_pc [DW_FORM_data4] (0x00000008)
31
66
#UPD-DWARF-CHECK: DW_AT_addr_base [DW_FORM_sec_offset] (0x00000008)
32
67
#UPD-DWARF-CHECK: DW_TAG_variable
33
68
#UPD-DWARF-CHECK: DW_AT_name {{.*}}"arr"
34
69
#UPD-DWARF-CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x0)
70
+ #UPD-DWARF-CHECK: DW_TAG_variable
71
+ #UPD-DWARF-CHECK: DW_AT_name {{.*}}"arr2"
72
+ #UPD-DWARF-CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x1)
73
+ #UPD-DWARF-CHECK: DW_TAG_variable
74
+ #UPD-DWARF-CHECK: DW_AT_name {{.*}}"arr3"
75
+ #UPD-DWARF-CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x2)
76
+ #UPD-DWARF-CHECK: DW_TAG_variable
77
+ #UPD-DWARF-CHECK: DW_AT_name {{.*}}"arr4"
78
+ #UPD-DWARF-CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x3)
79
+ #UPD-DWARF-CHECK: DW_TAG_variable
80
+ #UPD-DWARF-CHECK: DW_AT_name {{.*}}"arr5"
81
+ #UPD-DWARF-CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x4)
82
+ #UPD-DWARF-CHECK: DW_TAG_variable
83
+ #UPD-DWARF-CHECK: DW_AT_name {{.*}}"arr6"
84
+ #UPD-DWARF-CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x5)
85
+ #UPD-DWARF-CHECK: DW_TAG_variable
86
+ #UPD-DWARF-CHECK: DW_AT_name {{.*}}"arr7"
87
+ #UPD-DWARF-CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x6)
88
+ #UPD-DWARF-CHECK: DW_TAG_variable
89
+ #UPD-DWARF-CHECK: DW_AT_name {{.*}}"arr8"
90
+ #UPD-DWARF-CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x7)
91
+ #UPD-DWARF-CHECK: DW_TAG_variable
92
+ #UPD-DWARF-CHECK: DW_AT_name {{.*}}"arr9"
93
+ #UPD-DWARF-CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x8)
35
94
#UPD-DWARF-CHECK: .debug_addr contents:
36
- #UPD-DWARF-CHECK: 0x00000000: Address table header: length = 0x00000014, format = DWARF32, version = 0x0005, addr_size = 0x08, seg_size = 0x00
95
+ #UPD-DWARF-CHECK: 0x00000000: Address table header: length = 0x00000054, format = DWARF32, version = 0x0005, addr_size = 0x08, seg_size = 0x00
96
+ #UPD-DWARF-CHECK: 0x0000000000000000
97
+ #UPD-DWARF-CHECK: 0x0000000000000000
98
+ #UPD-DWARF-CHECK: 0x0000000000000000
99
+ #UPD-DWARF-CHECK: 0x0000000000000000
100
+ #UPD-DWARF-CHECK: 0x0000000000000000
101
+ #UPD-DWARF-CHECK: 0x0000000000000000
102
+ #UPD-DWARF-CHECK: 0x0000000000000000
103
+ #UPD-DWARF-CHECK: 0x0000000000000000
37
104
#UPD-DWARF-CHECK: 0x0000000000000000
38
105
#UPD-DWARF-CHECK: 0x0000000000000000
39
106
@@ -44,4 +111,12 @@ objects:
44
111
timestamp: 1676048242
45
112
symbols:
46
113
- { sym: _main, objAddr: 0x0000000000000000, binAddr: 0x0000000100000FB0, size: 0x00000008 }
47
- - { sym: _arr, binAddr: 0x0000000100002000, size: 0x00000000 }
114
+ - { sym: _arr, binAddr: 0x0000000100001000, size: 0x00000008 }
115
+ - { sym: _arr2, binAddr: 0x0000000100002000, size: 0x00000008 }
116
+ - { sym: _arr3, binAddr: 0x0000000100003000, size: 0x00000008 }
117
+ - { sym: _arr4, binAddr: 0x0000000100004000, size: 0x00000008 }
118
+ - { sym: _arr5, binAddr: 0x0000000100005000, size: 0x00000008 }
119
+ - { sym: _arr6, binAddr: 0x0000000100006000, size: 0x00000008 }
120
+ - { sym: _arr7, binAddr: 0x0000000100007000, size: 0x00000008 }
121
+ - { sym: _arr8, binAddr: 0x0000000100008000, size: 0x00000008 }
122
+ - { sym: _arr9, binAddr: 0x0000000100009000, size: 0x00000008 }
0 commit comments