tools: add support for decoding ARM attributes
Enhance the ARM specific parsing support in llvm-readobj to support attributes.
This allows for simpler tests to validate encoding of the build attributes as
specified in the ARM ELF specification.
llvm-svn: 200450
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp
index 6246195..56f6011 100644
--- a/llvm/tools/llvm-readobj/llvm-readobj.cpp
+++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp
@@ -129,6 +129,12 @@
// -codeview-linetables
cl::opt<bool> CodeViewLineTables("codeview-linetables",
cl::desc("Display CodeView line table information"));
+
+ // -arm-attributes, -a
+ cl::opt<bool> ARMAttributes("arm-attributes",
+ cl::desc("Display the ARM attributes section"));
+ cl::alias ARMAttributesShort("-a", cl::desc("Alias for --arm-attributes"),
+ cl::aliasopt(ARMAttributes));
} // namespace opts
static int ReturnValue = EXIT_SUCCESS;
@@ -227,6 +233,9 @@
Dumper->printNeededLibraries();
if (opts::ProgramHeaders)
Dumper->printProgramHeaders();
+ if (Obj->getArch() == llvm::Triple::arm && Obj->isELF())
+ if (opts::ARMAttributes)
+ Dumper->printAttributes();
}