diff --git a/lld/test/COFF/hello32.test b/lld/test/COFF/hello32.test index 61418d3d24bb5..02bdf2cea009d 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 ddd37131a65db..50f703a11eb4d 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 3d0afa12bf387..2302178308097 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(LoadConfig); diff --git a/llvm/test/tools/llvm-readobj/COFF/bigobj.test b/llvm/test/tools/llvm-readobj/COFF/bigobj.test index 10972144315d1..36d1baa4a639c 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 77efe0146bedd..a8771ea32e467 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 08031ae8f49c8..af19a160deb62 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));