mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
3586ecfc1a
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
69 lines
3.6 KiB
Plaintext
69 lines
3.6 KiB
Plaintext
RUN: llvm-nm --arch=all %p/Inputs/macho-universal.x86_64.i386 \
|
|
RUN: | FileCheck %s -check-prefix CHECK-OBJ
|
|
RUN: llvm-nm --arch=all %p/Inputs/macho-universal64.x86_64.i386 \
|
|
RUN: | FileCheck %s -check-prefix CHECK-64-OBJ
|
|
RUN: llvm-nm --arch=x86_64 %p/Inputs/macho-universal.x86_64.i386 \
|
|
RUN: | FileCheck %s -check-prefix CHECK-OBJ-x86_64
|
|
RUN: not llvm-nm --arch=armv7m %p/Inputs/macho-universal.x86_64.i386 2>&1 \
|
|
RUN: | FileCheck %s --check-prefix=CHECK-OBJ-armv7m --implicit-check-not=error:
|
|
RUN: not llvm-nm --arch=foobar %p/Inputs/macho-universal.x86_64.i386 2>&1 \
|
|
RUN: | FileCheck %s --check-prefix=CHECK-OBJ-foobar --implicit-check-not=error:
|
|
RUN: llvm-nm --arch=all %p/Inputs/macho-universal-archive.x86_64.i386 \
|
|
RUN: | FileCheck %s -check-prefix CHECK-AR
|
|
RUN: llvm-nm --arch=all %p/Inputs/macho-universal64-archive.x86_64.i386 \
|
|
RUN: | FileCheck %s -check-prefix CHECK-64-AR
|
|
RUN: llvm-nm --arch=i386 %p/Inputs/macho-universal-archive.x86_64.i386 \
|
|
RUN: | FileCheck %s -check-prefix CHECK-AR-i386
|
|
RUN: llvm-nm -o --arch=all %p/Inputs/macho-universal-archive.x86_64.i386 \
|
|
RUN: | FileCheck %s -check-prefix CHECK-AR-o
|
|
|
|
CHECK-OBJ: macho-universal.x86_64.i386 (for architecture x86_64):
|
|
CHECK-OBJ: 0000000100000f60 T _main
|
|
CHECK-OBJ: macho-universal.x86_64.i386 (for architecture i386):
|
|
CHECK-OBJ: 00001fa0 T _main
|
|
|
|
CHECK-64-OBJ: macho-universal64.x86_64.i386 (for architecture x86_64):
|
|
CHECK-64-OBJ: 0000000100000f60 T _main
|
|
CHECK-64-OBJ: macho-universal64.x86_64.i386 (for architecture i386):
|
|
CHECK-64-OBJ: 00001fa0 T _main
|
|
|
|
CHECK-OBJ-x86_64: 0000000100000000 T __mh_execute_header
|
|
CHECK-OBJ-x86_64: 0000000100000f60 T _main
|
|
CHECK-OBJ-x86_64: U dyld_stub_binder
|
|
|
|
CHECK-OBJ-armv7m: error: file: {{.*}} does not contain architecture
|
|
|
|
CHECK-OBJ-foobar: error: for the --arch option: Unknown architecture named 'foobar'
|
|
|
|
CHECK-AR: macho-universal-archive.x86_64.i386(hello.o) (for architecture x86_64):
|
|
CHECK-AR: 0000000000000068 s EH_frame0
|
|
CHECK-AR: 000000000000003b s L_.str
|
|
CHECK-AR: 0000000000000000 T _main
|
|
CHECK-AR: 0000000000000080 S _main.eh
|
|
CHECK-AR: U _printf
|
|
CHECK-AR: macho-universal-archive.x86_64.i386(foo.o) (for architecture i386):
|
|
CHECK-AR: 00000008 D _bar
|
|
CHECK-AR: 00000000 T _foo
|
|
|
|
CHECK-64-AR: macho-universal64-archive.x86_64.i386(foo.o) (for architecture i386):
|
|
CHECK-64-AR: 00000008 D _bar
|
|
CHECK-64-AR: 00000000 T _foo
|
|
CHECK-64-AR: macho-universal64-archive.x86_64.i386(hello.o) (for architecture x86_64):
|
|
CHECK-64-AR: 0000000000000068 s EH_frame0
|
|
CHECK-64-AR: 000000000000003b s L_.str
|
|
CHECK-64-AR: 0000000000000000 T _main
|
|
CHECK-64-AR: 0000000000000080 S _main.eh
|
|
CHECK-64-AR: U _printf
|
|
|
|
CHECK-AR-i386: macho-universal-archive.x86_64.i386(foo.o):
|
|
CHECK-AR-i386: 00000008 D _bar
|
|
CHECK-AR-i386: 00000000 T _foo
|
|
|
|
CHECK-AR-o: (for architecture x86_64):{{.*}}/macho-universal-archive.x86_64.i386:hello.o: 0000000000000068 s EH_frame0
|
|
CHECK-AR-o: (for architecture x86_64):{{.*}}/macho-universal-archive.x86_64.i386:hello.o: 000000000000003b s L_.str
|
|
CHECK-AR-o: (for architecture x86_64):{{.*}}/macho-universal-archive.x86_64.i386:hello.o: 0000000000000000 T _main
|
|
CHECK-AR-o: (for architecture x86_64):{{.*}}/macho-universal-archive.x86_64.i386:hello.o: 0000000000000080 S _main.eh
|
|
CHECK-AR-o: (for architecture x86_64):{{.*}}/macho-universal-archive.x86_64.i386:hello.o: U _printf
|
|
CHECK-AR-o: (for architecture i386):{{.*}}/macho-universal-archive.x86_64.i386:foo.o: 00000008 D _bar
|
|
CHECK-AR-o: (for architecture i386):{{.*}}/macho-universal-archive.x86_64.i386:foo.o: 00000000 T _foo
|