[all-commits] [llvm/llvm-project] 46580d: [llvm-readobj] Switch command line parsing from ll...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Mon Jul 12 10:14:55 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 46580d43fc70dcecf21d2cedceeb4910c756fa6e
https://github.com/llvm/llvm-project/commit/46580d43fc70dcecf21d2cedceeb4910c756fa6e
Author: Fangrui Song <i at maskray.me>
Date: 2021-07-12 (Mon, 12 Jul 2021)
Changed paths:
M llvm/docs/CommandGuide/llvm-readelf.rst
M llvm/docs/CommandGuide/llvm-readobj.rst
M llvm/test/Object/invalid.test
M llvm/test/Support/check-default-options.txt
M llvm/test/tools/llvm-readobj/ELF/demangle.test
M llvm/test/tools/llvm-readobj/ELF/grouped.test
M llvm/test/tools/llvm-readobj/ELF/hex-dump.test
A llvm/test/tools/llvm-readobj/ELF/output-style.test
M llvm/test/tools/llvm-readobj/ELF/string-dump.test
M llvm/test/tools/llvm-readobj/basic.test
M llvm/test/tools/yaml2obj/ELF/shstrtab.yaml
M llvm/tools/llvm-readobj/CMakeLists.txt
A llvm/tools/llvm-readobj/Opts.td
M llvm/tools/llvm-readobj/llvm-readobj.cpp
M llvm/tools/llvm-readobj/llvm-readobj.h
M llvm/utils/gn/secondary/llvm/tools/llvm-readobj/BUILD.gn
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[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
More information about the All-commits
mailing list