Part of https://lists.llvm.org/pipermail/llvm-dev/2021-July/151622.html "Binary utilities: switch command line parsing from llvm::cl to OptTable" Users should generally observe no difference as long as they only use intended option forms. Behavior changes: * `-t=d` is removed. Use `-t d` instead. * `--demangle=0` cannot be used. Omit the option or use `--no-demangle` instead. * `--help-list` is removed. This is a `cl::` specific option. Note: * `-t` diagnostic gets improved. * This patch avoids cl::opt collision if we decide to support multiplexing for binary utilities * One-dash long options are still supported. * The `-s` collision (`-s segment section` for Mach-O) is unfortunate. `-s` means `--print-armap` in GNU nm. * This patch removes the last `cl::multi_val` use case from the `llvm/lib/Support/CommandLine.cpp` library `-M` (`--print-armap`), `-U` (`--defined-only`), and `-W` (`--no-weak`) are now deprecated. They could conflict with future GNU nm options. (--print-armap has an existing alias -s, so GNU will unlikely add a new one. --no-weak (not in GNU nm) is rarely used anyway.) `--just-symbol-name` is now deprecated in favor of `--format=just-symbols` and `-j`. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D105330
36 lines
942 B
Plaintext
36 lines
942 B
Plaintext
## --format-bsd is the default output format of llvm-nm. Show that the default
|
|
## and bsd output (including its aliases) match to confirm this.
|
|
|
|
# RUN: yaml2obj %s -o %t.o
|
|
# RUN: llvm-nm %t.o --format=bsd > %t.formatbsd.txt
|
|
# RUN: llvm-nm %t.o -f bsd > %t.fbsd.txt
|
|
# RUN: llvm-nm %t.o -B > %t.b.txt
|
|
# RUN: llvm-nm %t.o > %t.default.txt
|
|
|
|
# RUN: cmp %t.formatbsd.txt %t.default.txt
|
|
# RUN: cmp %t.formatbsd.txt %t.fbsd.txt
|
|
# RUN: cmp %t.formatbsd.txt %t.b.txt
|
|
|
|
## Sanity check that some output is actually printed.
|
|
# RUN: FileCheck %s --input-file=%t.default.txt
|
|
|
|
# CHECK: 0000000000000000 T sym1
|
|
# CHECK-NEXT: 0000000000000000 W sym2
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
Sections:
|
|
- Name: .text
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
|
|
Symbols:
|
|
- Name: sym1
|
|
Section: .text
|
|
Binding: STB_GLOBAL
|
|
- Name: sym2
|
|
Section: .text
|
|
Binding: STB_WEAK
|