[PATCH] D67873: Allow llvm-objdump to run on executable files

Ilie Halip via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Sep 21 01:27:32 PDT 2019


ihalip created this revision.
ihalip added reviewers: echristo, compnerd.
ihalip added a project: LLVM.
Herald added subscribers: llvm-commits, seiya, rupprecht.

A kernel build step runs `objdump -R vmlinux` on the final executable. Using LLVM's objdump, this step spits out errors because:

  $ llvm-objdump-10 -R vmlinux
  
  vmlinux:        file format ELF64-ppc64
  
  llvm-objdump-10: error: 'vmlinux': not a dynamic object

This change should allow objdump to be ran on executable files too.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D67873

Files:
  llvm/tools/llvm-objdump/llvm-objdump.cpp


Index: llvm/tools/llvm-objdump/llvm-objdump.cpp
===================================================================
--- llvm/tools/llvm-objdump/llvm-objdump.cpp
+++ llvm/tools/llvm-objdump/llvm-objdump.cpp
@@ -1614,7 +1614,7 @@
     return;

   const auto *Elf = dyn_cast<ELFObjectFileBase>(Obj);
-  if (!Elf || Elf->getEType() != ELF::ET_DYN) {
+  if (!Elf || (Elf->getEType() != ELF::ET_EXEC && Elf->getEType() != ELF::ET_DYN)) {
     reportError(Obj->getFileName(), "not a dynamic object");
     return;
   }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67873.221160.patch
Type: text/x-patch
Size: 512 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190921/be7f4f20/attachment.bin>


More information about the llvm-commits mailing list