Skip to content

Commit 7850225

Browse files
authored
[DWARF] Change to consistently print out abbrev code in .debug_names (#68353)
Changed so that when Abbrev code is printed out for entry it is done in the same way as in Abbrev table. Once letters are present in a hex number in abbrev table they will be lower case, and in the Entry upper case. Which makes FIleCheck Pattern recognition fail. Example in: llvm/test/tools/llvm-dwarfdump/X86/debug-names-misaligned.s
1 parent 2cbdeb7 commit 7850225

File tree

4 files changed

+13
-13
lines changed

4 files changed

+13
-13
lines changed

llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -635,7 +635,7 @@ std::optional<uint64_t> DWARFDebugNames::Entry::getCUOffset() const {
635635
}
636636

637637
void DWARFDebugNames::Entry::dump(ScopedPrinter &W) const {
638-
W.printHex("Abbrev", Abbr->Code);
638+
W.startLine() << formatv("Abbrev: {0:x}\n", Abbr->Code);
639639
W.startLine() << formatv("Tag: {0}\n", Abbr->Tag);
640640
assert(Abbr->Attributes.size() == Values.size());
641641
for (auto Tuple : zip_first(Abbr->Attributes, Values)) {

llvm/test/DebugInfo/X86/debug-names-dwarf64.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@
2626
; CHECK-NEXT: CU[0]: 0x00000000
2727
; CHECK-NEXT: ]
2828
; CHECK-NEXT: Abbreviations [
29-
; CHECK-NEXT: Abbreviation 0x34 {
29+
; CHECK-NEXT: Abbreviation [[ABBREV1:0x[0-9a-f]*]] {
3030
; CHECK-NEXT: Tag: DW_TAG_variable
3131
; CHECK-NEXT: DW_IDX_die_offset: DW_FORM_ref4
3232
; CHECK-NEXT: }
33-
; CHECK-NEXT: Abbreviation 0x24 {
33+
; CHECK-NEXT: Abbreviation [[ABBREV:0x[0-9a-f]*]] {
3434
; CHECK-NEXT: Tag: DW_TAG_base_type
3535
; CHECK-NEXT: DW_IDX_die_offset: DW_FORM_ref4
3636
; CHECK-NEXT: }
@@ -40,7 +40,7 @@
4040
; CHECK-NEXT: Hash: 0xB888030
4141
; CHECK-NEXT: String: {{.+}} "int"
4242
; CHECK-NEXT: Entry @ {{.+}} {
43-
; CHECK-NEXT: Abbrev: 0x24
43+
; CHECK-NEXT: Abbrev: [[ABBREV]]
4444
; CHECK-NEXT: Tag: DW_TAG_base_type
4545
; CHECK-NEXT: DW_IDX_die_offset: [[TYPEDIE]]
4646
; CHECK-NEXT: }
@@ -51,7 +51,7 @@
5151
; CHECK-NEXT: Hash: 0xB887389
5252
; CHECK-NEXT: String: {{.+}} "foo"
5353
; CHECK-NEXT: Entry @ {{.+}} {
54-
; CHECK-NEXT: Abbrev: 0x34
54+
; CHECK-NEXT: Abbrev: [[ABBREV1]]
5555
; CHECK-NEXT: Tag: DW_TAG_variable
5656
; CHECK-NEXT: DW_IDX_die_offset: [[VARDIE]]
5757
; CHECK-NEXT: }

llvm/test/DebugInfo/X86/dwarfdump-debug-names.s

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@
151151
# CHECK-NEXT: CU[0]: 0x00000000
152152
# CHECK-NEXT: ]
153153
# CHECK-NEXT: Abbreviations [
154-
# CHECK-NEXT: Abbreviation 0x2e {
154+
# CHECK-NEXT: Abbreviation [[ABBREV:0x[0-9a-f]*]] {
155155
# CHECK-NEXT: Tag: DW_TAG_subprogram
156156
# CHECK-NEXT: DW_IDX_die_offset: DW_FORM_ref4
157157
# CHECK-NEXT: }
@@ -164,7 +164,7 @@
164164
# CHECK-NEXT: Hash: 0xB887389
165165
# CHECK-NEXT: String: 0x00000000 "foo"
166166
# CHECK-NEXT: Entry @ 0x4f {
167-
# CHECK-NEXT: Abbrev: 0x2E
167+
# CHECK-NEXT: Abbrev: [[ABBREV]]
168168
# CHECK-NEXT: Tag: DW_TAG_subprogram
169169
# CHECK-NEXT: DW_IDX_die_offset: 0x00000001
170170
# CHECK-NEXT: }
@@ -173,7 +173,7 @@
173173
# CHECK-NEXT: Hash: 0xB5063D0B
174174
# CHECK-NEXT: String: 0x00000004 "_Z3foov"
175175
# CHECK-NEXT: Entry @ 0x58 {
176-
# CHECK-NEXT: Abbrev: 0x2E
176+
# CHECK-NEXT: Abbrev: [[ABBREV]]
177177
# CHECK-NEXT: Tag: DW_TAG_subprogram
178178
# CHECK-NEXT: DW_IDX_die_offset: 0x00000001
179179
# CHECK-NEXT: }
@@ -197,7 +197,7 @@
197197
# CHECK-NEXT: CU[0]: 0x00000002
198198
# CHECK-NEXT: ]
199199
# CHECK-NEXT: Abbreviations [
200-
# CHECK-NEXT: Abbreviation 0x34 {
200+
# CHECK-NEXT: Abbreviation [[ABBREV1:0x[0-9a-f]*]] {
201201
# CHECK-NEXT: Tag: DW_TAG_variable
202202
# CHECK-NEXT: DW_IDX_die_offset: DW_FORM_ref4
203203
# CHECK-NEXT: }
@@ -207,7 +207,7 @@
207207
# CHECK-NEXT: Hash: 0xB8860BA
208208
# CHECK-NEXT: String: 0x0000000c "bar"
209209
# CHECK-NEXT: Entry @ 0xa3 {
210-
# CHECK-NEXT: Abbrev: 0x34
210+
# CHECK-NEXT: Abbrev: [[ABBREV1]]
211211
# CHECK-NEXT: Tag: DW_TAG_variable
212212
# CHECK-NEXT: DW_IDX_die_offset: 0x00000001
213213
# CHECK-NEXT: }
@@ -237,7 +237,7 @@
237237
# CHECK-NEXT: ForeignTU[0]: 0xffffff00ffffffff
238238
# CHECK-NEXT: ]
239239
# CHECK-NEXT: Abbreviations [
240-
# CHECK-NEXT: Abbreviation 0x1 {
240+
# CHECK-NEXT: Abbreviation [[ABBREV2:0x[0-9a-f]*]] {
241241
# CHECK-NEXT: Tag: DW_TAG_base_type
242242
# CHECK-NEXT: DW_IDX_type_unit: DW_FORM_data4
243243
# CHECK-NEXT: DW_IDX_type_hash: DW_FORM_data8
@@ -248,7 +248,7 @@
248248
# CHECK-NEXT: Hash: 0xB887389
249249
# CHECK-NEXT: String: 0x00000000 "foo"
250250
# CHECK-NEXT: Entry @ 0x111 {
251-
# CHECK-NEXT: Abbrev: 0x1
251+
# CHECK-NEXT: Abbrev: [[ABBREV2]]
252252
# CHECK-NEXT: Tag: DW_TAG_base_type
253253
# CHECK-NEXT: DW_IDX_type_unit: 0x00000001
254254
# CHECK-NEXT: DW_IDX_type_hash: 0x0000ff03ffffffff

llvm/test/tools/llvm-dwarfdump/X86/debug-names-misaligned.s

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@
8484
# CHECK: Name 1 {
8585
# CHECK-NEXT: String: 0x00000000 "foo"
8686
# CHECK-NEXT: Entry @ 0x37 {
87-
# CHECK-NEXT: Abbrev: 0x2E
87+
# CHECK-NEXT: Abbrev: 0x2e
8888
# CHECK-NEXT: Tag: DW_TAG_subprogram
8989
# CHECK-NEXT: DW_IDX_die_offset: 0x00000001
9090
# CHECK-NEXT: }

0 commit comments

Comments
 (0)