]> granicus.if.org Git - llvm/commitdiff
[llvm-readobj] Accept (and ignore) --wide (-W) command-line switch
authorPetr Hosek <phosek@chromium.org>
Tue, 18 Jul 2017 23:58:15 +0000 (23:58 +0000)
committerPetr Hosek <phosek@chromium.org>
Tue, 18 Jul 2017 23:58:15 +0000 (23:58 +0000)
Accept and ignore --wide/-W. In GNU readelf this switch is
necessary to get the output format that's consistent between
32-bit and 64-bit targets. llvm-readobj always produces that
output format.

Patch by Roland McGrath

Differential Revision: https://reviews.llvm.org/D33873

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308396 91177308-0d34-0410-b5e6-96231b3b80d8

test/tools/llvm-readobj/gnu-sections.test
tools/llvm-readobj/llvm-readobj.cpp

index 34bcaabf68e12e1721211bfed27b06326bf86b71..1b04f0c299922db8e66256100ee6dbc355a15d30 100644 (file)
@@ -2,6 +2,12 @@ RUN: llvm-readobj -s %p/Inputs/relocs.obj.elf-i386 --elf-output-style=GNU \
 RUN:   | FileCheck %s -check-prefix ELF32
 RUN: llvm-readobj -S %p/Inputs/relocs.obj.elf-x86_64 --elf-output-style=GNU \
 RUN:   | FileCheck %s -check-prefix ELF64
+RUN: llvm-readobj --wide --sections \
+RUN:   %p/Inputs/relocs.obj.elf-x86_64 --elf-output-style=GNU \
+RUN:   | FileCheck %s -check-prefix ELF64
+RUN: llvm-readobj -W --sections \
+RUN:   %p/Inputs/relocs.obj.elf-x86_64 --elf-output-style=GNU \
+RUN:   | FileCheck %s -check-prefix ELF64
 
 ELF32:    Section Headers:
 ELF32-NEXT:      [Nr] Name              Type            Address  Off    Size   ES Flg Lk Inf Al
index 0a76368883a728ab2e12a888c1f67c0d87261936..3aa795414568b162467868b31bfac816cc538931 100644 (file)
@@ -50,6 +50,13 @@ namespace opts {
     cl::desc("<input object files>"),
     cl::ZeroOrMore);
 
+  // -wide, -W
+  cl::opt<bool> WideOutput("wide",
+    cl::desc("Ignored for compatibility with GNU readelf"));
+  cl::alias WideOutputShort("W",
+    cl::desc("Alias for --wide"),
+    cl::aliasopt(WideOutput));
+
   // -file-headers, -h
   cl::opt<bool> FileHeaders("file-headers",
     cl::desc("Display file headers "));
@@ -544,6 +551,8 @@ int main(int argc, const char *argv[]) {
   // Register the target printer for --version.
   cl::AddExtraVersionPrinter(TargetRegistry::printRegisteredTargetsForVersion);
 
+  opts::WideOutput.setHiddenFlag(cl::Hidden);
+
   cl::ParseCommandLineOptions(argc, argv, "LLVM Object Reader\n");
 
   // Default to stdin if no filename is specified.