[lld] d71c3c4 - [COFF] Dump string table size for COFF file headers
Reid Kleckner via llvm-commits
llvm-commits at lists.llvm.org
Wed May 6 15:48:46 PDT 2020
Author: Reid Kleckner
Date: 2020-05-06T15:48:36-07:00
New Revision: d71c3c425cf567b966d88e56651b8b052b08a97c
URL: https://github.com/llvm/llvm-project/commit/d71c3c425cf567b966d88e56651b8b052b08a97c
DIFF: https://github.com/llvm/llvm-project/commit/d71c3c425cf567b966d88e56651b8b052b08a97c.diff
LOG: [COFF] Dump string table size for COFF file headers
I couldn't find this info in any other dumper, so it might as well be
here.
Added:
Modified:
lld/test/COFF/hello32.test
lld/test/COFF/largeaddressaware.test
llvm/include/llvm/Object/COFF.h
llvm/test/tools/llvm-readobj/COFF/bigobj.test
llvm/test/tools/llvm-readobj/COFF/file-headers.test
llvm/tools/llvm-readobj/COFFDumper.cpp
Removed:
################################################################################
diff --git a/lld/test/COFF/hello32.test b/lld/test/COFF/hello32.test
index 61418d3d24bb..02bdf2cea009 100644
--- a/lld/test/COFF/hello32.test
+++ b/lld/test/COFF/hello32.test
@@ -14,6 +14,7 @@ HEADER-NEXT: SectionCount: 4
HEADER-NEXT: TimeDateStamp:
HEADER-NEXT: PointerToSymbolTable: 0x0
HEADER-NEXT: SymbolCount: 0
+HEADER-NEXT: StringTableSize: 0
HEADER-NEXT: OptionalHeaderSize: 224
HEADER-NEXT: Characteristics [ (0x102)
HEADER-NEXT: IMAGE_FILE_32BIT_MACHINE (0x100)
diff --git a/lld/test/COFF/largeaddressaware.test b/lld/test/COFF/largeaddressaware.test
index ddd37131a65d..50f703a11eb4 100644
--- a/lld/test/COFF/largeaddressaware.test
+++ b/lld/test/COFF/largeaddressaware.test
@@ -12,6 +12,7 @@ HEADER-NEXT: SectionCount: 4
HEADER-NEXT: TimeDateStamp:
HEADER-NEXT: PointerToSymbolTable: 0x0
HEADER-NEXT: SymbolCount: 0
+HEADER-NEXT: StringTableSize: 0
HEADER-NEXT: OptionalHeaderSize: 224
HEADER-NEXT: Characteristics [ (0x122)
HEADER-NEXT: IMAGE_FILE_32BIT_MACHINE (0x100)
diff --git a/llvm/include/llvm/Object/COFF.h b/llvm/include/llvm/Object/COFF.h
index 3d0afa12bf38..230217830809 100644
--- a/llvm/include/llvm/Object/COFF.h
+++ b/llvm/include/llvm/Object/COFF.h
@@ -878,6 +878,8 @@ class COFFObjectFile : public ObjectFile {
return getRawNumberOfSymbols();
}
+ uint32_t getStringTableSize() const { return StringTableSize; }
+
const coff_load_configuration32 *getLoadConfig32() const {
assert(!is64());
return reinterpret_cast<const coff_load_configuration32 *>(LoadConfig);
diff --git a/llvm/test/tools/llvm-readobj/COFF/bigobj.test b/llvm/test/tools/llvm-readobj/COFF/bigobj.test
index 10972144315d..36d1baa4a639 100644
--- a/llvm/test/tools/llvm-readobj/COFF/bigobj.test
+++ b/llvm/test/tools/llvm-readobj/COFF/bigobj.test
@@ -10,6 +10,7 @@ CHECK-NEXT: SectionCount: 3
CHECK-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0)
CHECK-NEXT: PointerToSymbolTable: 0xB0
CHECK-NEXT: SymbolCount: 8
+CHECK-NEXT: StringTableSize: 4
CHECK-NEXT: OptionalHeaderSize: 0
CHECK-NEXT: Characteristics [ (0x0)
CHECK-NEXT: ]
diff --git a/llvm/test/tools/llvm-readobj/COFF/file-headers.test b/llvm/test/tools/llvm-readobj/COFF/file-headers.test
index 77efe0146bed..a8771ea32e46 100644
--- a/llvm/test/tools/llvm-readobj/COFF/file-headers.test
+++ b/llvm/test/tools/llvm-readobj/COFF/file-headers.test
@@ -12,6 +12,7 @@
# ARM-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0)
# ARM-NEXT: PointerToSymbolTable: 0x0
# ARM-NEXT: SymbolCount: 0
+# ARM-NEXT: StringTableSize: 0
# ARM-NEXT: OptionalHeaderSize: 0
# ARM-NEXT: Characteristics [ (0x0)
# ARM-NEXT: ]
@@ -39,6 +40,7 @@ symbols:
# ARM64-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0)
# ARM64-NEXT: PointerToSymbolTable: 0x0
# ARM64-NEXT: SymbolCount: 0
+# ARM64-NEXT: StringTableSize: 0
# ARM64-NEXT: OptionalHeaderSize: 0
# ARM64-NEXT: Characteristics [ (0x0)
# ARM64-NEXT: ]
@@ -66,6 +68,7 @@ symbols:
# I386-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0)
# I386-NEXT: PointerToSymbolTable: 0x0
# I386-NEXT: SymbolCount: 0
+# I386-NEXT: StringTableSize: 0
# I386-NEXT: OptionalHeaderSize: 0
# I386-NEXT: Characteristics [ (0x0)
# I386-NEXT: ]
@@ -93,6 +96,7 @@ symbols:
# X86-64-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0)
# X86-64-NEXT: PointerToSymbolTable: 0x0
# X86-64-NEXT: SymbolCount: 0
+# X86-64-NEXT: StringTableSize: 0
# X86-64-NEXT: OptionalHeaderSize: 0
# X86-64-NEXT: Characteristics [ (0x0)
# X86-64-NEXT: ]
@@ -120,6 +124,7 @@ symbols:
# I386-CUSTOM-HEADER-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0)
# I386-CUSTOM-HEADER-NEXT: PointerToSymbolTable: 0x0
# I386-CUSTOM-HEADER-NEXT: SymbolCount: 0
+# I386-CUSTOM-HEADER-NEXT: StringTableSize: 0
# I386-CUSTOM-HEADER-NEXT: OptionalHeaderSize: 224
# I386-CUSTOM-HEADER-NEXT: Characteristics [ (0x102)
# I386-CUSTOM-HEADER-NEXT: IMAGE_FILE_32BIT_MACHINE (0x100)
@@ -297,6 +302,7 @@ symbols: []
# UNKNOWN-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0)
# UNKNOWN-NEXT: PointerToSymbolTable: 0x0
# UNKNOWN-NEXT: SymbolCount: 0
+# UNKNOWN-NEXT: StringTableSize: 0
# UNKNOWN-NEXT: OptionalHeaderSize: 0
# UNKNOWN-NEXT: Characteristics [ (0x0)
# UNKNOWN-NEXT: ]
diff --git a/llvm/tools/llvm-readobj/COFFDumper.cpp b/llvm/tools/llvm-readobj/COFFDumper.cpp
index 08031ae8f49c..af19a160deb6 100644
--- a/llvm/tools/llvm-readobj/COFFDumper.cpp
+++ b/llvm/tools/llvm-readobj/COFFDumper.cpp
@@ -629,6 +629,7 @@ void COFFDumper::printFileHeaders() {
W.printHex ("TimeDateStamp", FormattedTime, Obj->getTimeDateStamp());
W.printHex ("PointerToSymbolTable", Obj->getPointerToSymbolTable());
W.printNumber("SymbolCount", Obj->getNumberOfSymbols());
+ W.printNumber("StringTableSize", Obj->getStringTableSize());
W.printNumber("OptionalHeaderSize", Obj->getSizeOfOptionalHeader());
W.printFlags ("Characteristics", Obj->getCharacteristics(),
makeArrayRef(ImageFileCharacteristics));
More information about the llvm-commits
mailing list