diff options
author | Luqman Aden <me@luqman.ca> | 2020-10-08 01:43:50 -0700 |
---|---|---|
committer | Luqman Aden <me@luqman.ca> | 2020-10-08 01:53:15 -0700 |
commit | 568035ac3955790aee2a5dbc2b1f4074c76bb4d7 (patch) | |
tree | 81f0462f731f55ec1059b73a2a2fc073b0e36c3d /llvm/tools/llvm-readobj/llvm-readobj.cpp | |
parent | 8e9622f96120842852f37bfaeea738b4b4ed5cb0 (diff) | |
download | llvm-568035ac3955790aee2a5dbc2b1f4074c76bb4d7.zip llvm-568035ac3955790aee2a5dbc2b1f4074c76bb4d7.tar.gz llvm-568035ac3955790aee2a5dbc2b1f4074c76bb4d7.tar.bz2 |
[llvm-readobj] Add --coff-tls-directory flag to print TLS Directory & test.
Akin to dumpbin's /TLS option, this will print out the TLS directory, if
present, in the image.
Example output:
```
> llvm-readobj --coff-tls-directory test.exe
File: test.exe
Format: COFF-x86-64
Arch: x86_64
AddressSize: 64bit
TLSDirectory {
StartAddressOfRawData: 0x140004000
EndAddressOfRawData: 0x140004040
AddressOfIndex: 0x140002000
AddressOfCallBacks: 0x0
SizeOfZeroFill: 0x0
Characteristics [ (0x0)
]
}
```
Reviewed By: jhenderson, grimar
Differential Revision: https://reviews.llvm.org/D88635
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
-rw-r--r-- | llvm/tools/llvm-readobj/llvm-readobj.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp index 173ee3a..1546ce79 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -272,6 +272,10 @@ namespace opts { COFFDebugDirectory("coff-debug-directory", cl::desc("Display the PE/COFF debug directory")); + // --coff-tls-directory + cl::opt<bool> COFFTLSDirectory("coff-tls-directory", + cl::desc("Display the PE/COFF TLS directory")); + // --coff-resources cl::opt<bool> COFFResources("coff-resources", cl::desc("Display the PE/COFF .rsrc section")); @@ -533,6 +537,8 @@ static void dumpObject(const ObjectFile &Obj, ScopedPrinter &Writer, Dumper->printCOFFBaseReloc(); if (opts::COFFDebugDirectory) Dumper->printCOFFDebugDirectory(); + if (opts::COFFTLSDirectory) + Dumper->printCOFFTLSDirectory(); if (opts::COFFResources) Dumper->printCOFFResources(); if (opts::COFFLoadConfig) |