llvm-project/llvm/tools/llvm-readobj
Fangrui Song 46580d43fc [llvm-readobj] Switch command line parsing from llvm::cl to OptTable
Users should generally observe no difference as long as they don't use
unintended option forms. Behavior changes:

* `-t=d` is removed. Use `-t d` instead.
* `--demangle=false` and `--demangle=0` cannot be used. Omit the option or use `--no-demangle`. Other flag-style options don't have `--no-` forms.
* `--help-list` is removed. This is a `cl::` specific option.
* llvm-readobj now supports grouped short options as well.
* `--color` is removed. This is generally not useful (only apply to errors/warnings) but was inherited from Support.

Some adjustment to the canonical forms
(usually from GNU readelf; currently llvm-readobj has too many redundant aliases):

* --dyn-syms is canonical. --dyn-symbols is a hidden alias
* --file-header is canonical. --file-headers is a hidden alias
* --histogram is canonical. --elf-hash-histogram is a hidden alias
* --relocs is canonical. --relocations is a hidden alias
* --section-groups is canonical. --elf-section-groups is a hidden alias

OptTable avoids global option collision if we decide to support multiplexing for binary utilities.

* Most one-dash long options are still supported. `-dt, -sd, -st, -sr` are dropped due to their conflict with grouped short options.
* `--section-mapping=false` (D57365) is strange but is kept for now.
* Many `cl::opt` variables were unnecessarily external. I added `static` whenever appropriate.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D105532
2021-07-12 10:14:42 -07:00
..
ARMEHABIPrinter.h [llvm-readobj][ARM] - Improve support of printing unwind (-u) information for non-relocatable objects. 2020-09-30 11:43:34 +03:00
ARMWinEHPrinter.cpp [llvm-readobj] [ARMWinEH] Try to resolve label symbols into regular ones 2021-05-04 22:22:18 +03:00
ARMWinEHPrinter.h [llvm-readobj] [ARMWinEH] Try to resolve label symbols into regular ones 2021-05-04 22:22:18 +03:00
CMakeLists.txt [llvm-readobj] Switch command line parsing from llvm::cl to OptTable 2021-07-12 10:14:42 -07:00
COFFDumper.cpp PR51018: Remove explicit conversions from SmallString to StringRef to future-proof against C++23 2021-07-08 13:37:57 -07:00
COFFImportDumper.cpp
DwarfCFIEHPrinter.h [lib/Object, tools] - Make ELFObjectFile::getELFFile return reference. 2020-12-04 16:02:29 +03:00
ELFDumper.cpp [MC][ELF] Change SHT_LLVM_CALL_GRAPH_PROFILE relocations from SHT_RELA to SHT_REL 2021-06-24 21:35:48 -07:00
MachODumper.cpp [llvm-readobj] Recognize N_THUMB_DEF as a symbol flag 2021-04-30 17:39:56 -04:00
ObjDumper.cpp [llvm-readobj][XCOFF] Add support for printing the String Table. 2021-07-05 04:16:58 +00:00
ObjDumper.h [llvm-readobj][XCOFF] Add support for printing the String Table. 2021-07-05 04:16:58 +00:00
Opts.td [llvm-readobj] Switch command line parsing from llvm::cl to OptTable 2021-07-12 10:14:42 -07:00
StackMapPrinter.h
WasmDumper.cpp [WebAssembly] Rename event to tag 2021-06-17 20:34:19 -07:00
Win64EHDumper.cpp [llvm-readobj] - Remove Error.cpp,.h and drop dependencies in the code. 2020-09-01 16:46:17 +03:00
Win64EHDumper.h
WindowsResourceDumper.cpp [llvm-readobj] - Remove Error.cpp,.h and drop dependencies in the code. 2020-09-01 16:46:17 +03:00
WindowsResourceDumper.h
XCOFFDumper.cpp [llvm-readobj][XCOFF] Add support for printing the String Table. 2021-07-05 04:16:58 +00:00
llvm-readobj.cpp [llvm-readobj] Switch command line parsing from llvm::cl to OptTable 2021-07-12 10:14:42 -07:00
llvm-readobj.h [llvm-readobj] Switch command line parsing from llvm::cl to OptTable 2021-07-12 10:14:42 -07:00