aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2021-11-09 10:08:41 -0800
committerFangrui Song <i@maskray.me>2021-11-09 10:08:41 -0800
commit5f1e509579e49e97c4ad7deb0dd3069393ccd461 (patch)
tree5aaa256eb5859ebf9662eae188c7fdf9e86a09f6 /llvm/tools/llvm-objdump/llvm-objdump.cpp
parentee88b8d63e475a75ae525563edfa95f6fcaac83a (diff)
downloadllvm-5f1e509579e49e97c4ad7deb0dd3069393ccd461.zip
llvm-5f1e509579e49e97c4ad7deb0dd3069393ccd461.tar.gz
llvm-5f1e509579e49e97c4ad7deb0dd3069393ccd461.tar.bz2
[llvm-objdump] -p: Dump PE header for PE/COFF
For a trivial DLL built with `clang --target=x86_64-windows -O2 -c a.c; lld-link -subsystem:console -dll a.o -out:a.dll`, `objdump -p` vs `llvm-objdump -p`: ``` -a.dll: file format pei-x86-64 - +a.dll: file format coff-x86-64 Characteristics 0x2022 executable large address aware @@ -57,4 +56,4 @@ Entry d 0000000000000000 00000000 Delay Import Directory Entry e 0000000000000000 00000000 CLR Runtime Header Entry f 0000000000000000 00000000 Reserved - +Export Table: ``` For a Linux image (`vmlinuz-5.10.76-gentoo-r1`) built with `CONFIG_EFI_STUB=y` ``` -vmlinuz-5.10.76-gentoo-r1: file format pei-x86-64 - -Characteristics 0x20e +vmlinuz-5.10.76-gentoo-r1: file format coff-x86-64 +Characteristics 0x206 executable line numbers stripped - symbols stripped debugging information removed Time/Date Wed Dec 31 16:00:00 1969 @@ -55,10 +53,4 @@ Entry d 0000000000000000 00000000 Delay Import Directory Entry e 0000000000000000 00000000 CLR Runtime Header Entry f 0000000000000000 00000000 Reserved - - -PE File Base Relocations (interpreted .reloc section contents) - -Virtual Address: 000037ca Chunk size 10 (0xa) Number of fixups 1 - reloc 0 offset 0 [37ca] ABSOLUTE - +Export Table: ``` `symbols stripped` looks like a GNU objdump problem. Reviewed By: jhenderson, alexander-shaposhnikov Differential Revision: https://reviews.llvm.org/D113356
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
-rw-r--r--llvm/tools/llvm-objdump/llvm-objdump.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp
index ed605e6..6f6f543 100644
--- a/llvm/tools/llvm-objdump/llvm-objdump.cpp
+++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp
@@ -2245,7 +2245,7 @@ static void printPrivateFileHeaders(const ObjectFile *O, bool OnlyFirst) {
return;
}
if (O->isCOFF())
- return printCOFFFileHeader(O);
+ return printCOFFFileHeader(cast<object::COFFObjectFile>(*O));
if (O->isWasm())
return printWasmFileHeader(O);
if (O->isMachO()) {