summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/llvm-readobj.cpp
diff options
context:
space:
mode:
authorHemant Kulkarni <khemant@codeaurora.org>2016-02-10 20:40:55 +0000
committerHemant Kulkarni <khemant@codeaurora.org>2016-02-10 20:40:55 +0000
commitd8a985ec7ce0d6a5d0baa9bfc0ed421e5c3eaf02 (patch)
tree03d3bbdecab376671ac8878e3e9c54758f130aa6 /llvm/tools/llvm-readobj/llvm-readobj.cpp
parent992d83fd0ddf45f218ee8fb6d88d13b4c6b0f512 (diff)
downloadbcm5719-llvm-d8a985ec7ce0d6a5d0baa9bfc0ed421e5c3eaf02.tar.gz
bcm5719-llvm-d8a985ec7ce0d6a5d0baa9bfc0ed421e5c3eaf02.zip
[llvm-readobj] Option to emit readelf like output
New option --elf-output-style=LLVM or GNU Enables -file-headers in readelf style when elf-output-style=GNU Differential revision: http://reviews.llvm.org/D14128 llvm-svn: 260430
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
-rw-r--r--llvm/tools/llvm-readobj/llvm-readobj.cpp22
1 files changed, 14 insertions, 8 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp
index 790b1d59550..ff6bb5ea7ac 100644
--- a/llvm/tools/llvm-readobj/llvm-readobj.cpp
+++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp
@@ -233,6 +233,11 @@ namespace opts {
cl::alias SectionGroupsShort("g", cl::desc("Alias for -elf-sections-groups"),
cl::aliasopt(SectionGroups));
+ cl::opt<OutpytStyleTy>
+ Output("elf-output-style", cl::desc("Specify ELF dump style"),
+ cl::values(clEnumVal(LLVM, "LLVM default style"),
+ clEnumVal(GNU, "GNU readelf style"), clEnumValEnd),
+ cl::init(LLVM));
} // namespace opts
namespace llvm {
@@ -305,14 +310,15 @@ static void dumpObject(const ObjectFile *Obj) {
if (std::error_code EC = createDumper(Obj, Writer, Dumper))
reportError(Obj->getFileName(), EC);
- outs() << '\n';
- outs() << "File: " << Obj->getFileName() << "\n";
- outs() << "Format: " << Obj->getFileFormatName() << "\n";
- outs() << "Arch: "
- << Triple::getArchTypeName((llvm::Triple::ArchType)Obj->getArch())
- << "\n";
- outs() << "AddressSize: " << (8*Obj->getBytesInAddress()) << "bit\n";
- Dumper->printLoadName();
+ if (opts::Output == opts::LLVM) {
+ outs() << '\n';
+ outs() << "File: " << Obj->getFileName() << "\n";
+ outs() << "Format: " << Obj->getFileFormatName() << "\n";
+ outs() << "Arch: " << Triple::getArchTypeName(
+ (llvm::Triple::ArchType)Obj->getArch()) << "\n";
+ outs() << "AddressSize: " << (8 * Obj->getBytesInAddress()) << "bit\n";
+ Dumper->printLoadName();
+ }
if (opts::FileHeaders)
Dumper->printFileHeaders();
OpenPOWER on IntegriCloud