summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/llvm-readobj.cpp
diff options
context:
space:
mode:
authorMichael J. Spencer <bigcheesegs@gmail.com>2015-06-25 21:47:32 +0000
committerMichael J. Spencer <bigcheesegs@gmail.com>2015-06-25 21:47:32 +0000
commit594c028183b92988797f4c169b5e06a06de22ea0 (patch)
tree18ea9ee5ea851b347b3e89f4e4afe7b5e944ec8e /llvm/tools/llvm-readobj/llvm-readobj.cpp
parent358cf1ea302ebc9c2f307aa710c22821a4ab670a (diff)
downloadbcm5719-llvm-594c028183b92988797f4c169b5e06a06de22ea0.tar.gz
bcm5719-llvm-594c028183b92988797f4c169b5e06a06de22ea0.zip
[Object][ELF] Add support for dumping dynamic relocations when sections are stripped.
llvm-svn: 240703
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
-rw-r--r--llvm/tools/llvm-readobj/llvm-readobj.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp
index d40cc05d0f4..3a6483a1386 100644
--- a/llvm/tools/llvm-readobj/llvm-readobj.cpp
+++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp
@@ -40,7 +40,6 @@
#include <string>
#include <system_error>
-
using namespace llvm;
using namespace llvm::object;
@@ -91,6 +90,10 @@ namespace opts {
cl::desc("Alias for --relocations"),
cl::aliasopt(Relocations));
+ // -dyn-relocations
+ cl::opt<bool> DynRelocs("dyn-relocations",
+ cl::desc("Display the dynamic relocation entries in the file"));
+
// -symbols, -t
cl::opt<bool> Symbols("symbols",
cl::desc("Display the symbol table"));
@@ -280,6 +283,8 @@ static void dumpObject(const ObjectFile *Obj) {
Dumper->printSections();
if (opts::Relocations)
Dumper->printRelocations();
+ if (opts::DynRelocs)
+ Dumper->printDynamicRelocations();
if (opts::Symbols)
Dumper->printSymbols();
if (opts::DynamicSymbols)
@@ -313,7 +318,6 @@ static void dumpObject(const ObjectFile *Obj) {
Dumper->printCOFFBaseReloc();
}
-
/// @brief Dumps each object file in \a Arc;
static void dumpArchive(const Archive *Arc) {
for (Archive::child_iterator ArcI = Arc->child_begin(),
@@ -374,7 +378,6 @@ static void dumpInput(StringRef File) {
reportError(File, readobj_error::unrecognized_file_format);
}
-
int main(int argc, const char *argv[]) {
sys::PrintStackTraceOnErrorSignal();
PrettyStackTraceProgram X(argc, argv);
OpenPOWER on IntegriCloud