Skip to content

Commit f49c3a6

Browse files
author
Esme-Yi
committed
[llvm-readobj][XCOFF] Print the length of the string table.
Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D107333
1 parent c70fa6d commit f49c3a6

File tree

4 files changed

+8
-1
lines changed

4 files changed

+8
-1
lines changed

llvm/test/tools/llvm-readobj/XCOFF/string-table.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
# RUN: llvm-readobj --string-table %t1 | FileCheck %s --check-prefix=BASIC
66

77
# BASIC: StringTable {
8+
# BASIC-NEXT: Length: 16
89
# BASIC-NEXT: [ 4] name2
910
# BASIC-NEXT: [ a] name1
1011
# BASIC-NEXT: }
@@ -21,6 +22,7 @@ Symbols:
2122
# RUN: llvm-readobj --string-table %t2 | FileCheck %s --check-prefix=SINGLE-BYTE
2223

2324
# SINGLE-BYTE: StringTable {
25+
# SINGLE-BYTE-NEXT: Length: 6
2426
# SINGLE-BYTE-NEXT: [ 4] n
2527
# SINGLE-BYTE-NEXT: }
2628

@@ -35,6 +37,7 @@ Symbols:
3537
# RUN: llvm-readobj --string-table %t3 | FileCheck %s --check-prefix=NO-STRTBL
3638

3739
# NO-STRTBL: StringTable {
40+
# NO-STRTBL-NEXT: Length: 0
3841
# NO-STRTBL-NEXT: }
3942

4043
--- !XCOFF

llvm/test/tools/yaml2obj/XCOFF/basic-doc64.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ Symbols:
135135
# CHECK64-NEXT: }
136136
# CHECK64-NEXT: ]
137137
# CHECK64-NEXT: StringTable {
138+
# CHECK64-NEXT: Length: 28
138139
# CHECK64-NEXT: [ 4] .text
139140
# CHECK64-NEXT: [ a] .abs
140141
# CHECK64-NEXT: [ f] .undef

llvm/test/tools/yaml2obj/XCOFF/long-symbol-name.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
# CHECK-NEXT: }
2525
# CHECK-NEXT: ]
2626
# CHECK-NEXT: StringTable {
27+
# CHECK-NEXT: Length: 14
2728
# CHECK-NEXT: [ 4] .longname
2829
# CHECK-NEXT: }
2930

llvm/tools/llvm-readobj/XCOFFDumper.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -460,9 +460,11 @@ void XCOFFDumper::printSymbols() {
460460
void XCOFFDumper::printStringTable() {
461461
DictScope DS(W, "StringTable");
462462
StringRef StrTable = Obj.getStringTable();
463+
size_t StrTabSize = StrTable.size();
464+
W.printNumber("Length", StrTabSize);
463465
// Print strings from the fifth byte, since the first four bytes contain the
464466
// length (in bytes) of the string table (including the length field).
465-
if (StrTable.size() > 4)
467+
if (StrTabSize > 4)
466468
printAsStringList(StrTable, 4);
467469
}
468470

0 commit comments

Comments
 (0)