From 35375a35c17d7c45f3067362f87388533ee5c558 Mon Sep 17 00:00:00 2001 From: Petr Hosek Date: Tue, 18 Jul 2017 23:58:15 +0000 Subject: [PATCH] [llvm-readobj] Accept (and ignore) --wide (-W) command-line switch 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 | 6 ++++++ tools/llvm-readobj/llvm-readobj.cpp | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/test/tools/llvm-readobj/gnu-sections.test b/test/tools/llvm-readobj/gnu-sections.test index 34bcaabf68e..1b04f0c2999 100644 --- a/test/tools/llvm-readobj/gnu-sections.test +++ b/test/tools/llvm-readobj/gnu-sections.test @@ -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 diff --git a/tools/llvm-readobj/llvm-readobj.cpp b/tools/llvm-readobj/llvm-readobj.cpp index 0a76368883a..3aa79541456 100644 --- a/tools/llvm-readobj/llvm-readobj.cpp +++ b/tools/llvm-readobj/llvm-readobj.cpp @@ -50,6 +50,13 @@ namespace opts { cl::desc(""), cl::ZeroOrMore); + // -wide, -W + cl::opt 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 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. -- 2.40.0