]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Object/nm-universal-binary.test
Vendor import of llvm trunk r351319 (just before the release_80 branch
[FreeBSD/FreeBSD.git] / test / Object / nm-universal-binary.test
1 RUN: llvm-nm -arch all %p/Inputs/macho-universal.x86_64.i386 \
2 RUN:         | FileCheck %s -check-prefix CHECK-OBJ
3 RUN: llvm-nm -arch all %p/Inputs/macho-universal64.x86_64.i386 \
4 RUN:         | FileCheck %s -check-prefix CHECK-64-OBJ
5 RUN: llvm-nm -arch x86_64 %p/Inputs/macho-universal.x86_64.i386 \
6 RUN:         | FileCheck %s -check-prefix CHECK-OBJ-x86_64
7 RUN: not llvm-nm -arch armv7m %p/Inputs/macho-universal.x86_64.i386 2>&1 \
8 RUN:         | FileCheck %s -check-prefix CHECK-OBJ-armv7m
9 RUN: not llvm-nm -arch foobar %p/Inputs/macho-universal.x86_64.i386 2>&1 \
10 RUN:         | FileCheck %s -check-prefix CHECK-OBJ-foobar
11 RUN: llvm-nm -arch all %p/Inputs/macho-universal-archive.x86_64.i386 \
12 RUN:         | FileCheck %s -check-prefix CHECK-AR
13 RUN: llvm-nm -arch all %p/Inputs/macho-universal64-archive.x86_64.i386 \
14 RUN:         | FileCheck %s -check-prefix CHECK-64-AR
15 RUN: llvm-nm -arch i386 %p/Inputs/macho-universal-archive.x86_64.i386 \
16 RUN:         | FileCheck %s -check-prefix CHECK-AR-i386
17 RUN: llvm-nm -o -arch all %p/Inputs/macho-universal-archive.x86_64.i386 \
18 RUN:         | FileCheck %s -check-prefix CHECK-AR-o
19
20 CHECK-OBJ: macho-universal.x86_64.i386 (for architecture x86_64):
21 CHECK-OBJ: 0000000100000f60 T _main
22 CHECK-OBJ: macho-universal.x86_64.i386 (for architecture i386):
23 CHECK-OBJ: 00001fa0 T _main
24
25 CHECK-64-OBJ: macho-universal64.x86_64.i386 (for architecture x86_64):
26 CHECK-64-OBJ: 0000000100000f60 T _main
27 CHECK-64-OBJ: macho-universal64.x86_64.i386 (for architecture i386):
28 CHECK-64-OBJ: 00001fa0 T _main
29
30 CHECK-OBJ-x86_64: 0000000100000000 T __mh_execute_header
31 CHECK-OBJ-x86_64: 0000000100000f60 T _main
32 CHECK-OBJ-x86_64:                  U dyld_stub_binder
33
34 CHECK-OBJ-armv7m-NOT: Unknown architecture named
35 CHECK-OBJ-armv7m: does not contain architecture
36
37 CHECK-OBJ-foobar: Unknown architecture named
38 CHECK-OBJ-foobar: does not contain architecture
39
40 CHECK-AR: macho-universal-archive.x86_64.i386(hello.o) (for architecture x86_64):
41 CHECK-AR: 0000000000000068 s EH_frame0
42 CHECK-AR: 000000000000003b s L_.str
43 CHECK-AR: 0000000000000000 T _main
44 CHECK-AR: 0000000000000080 S _main.eh
45 CHECK-AR:                  U _printf
46 CHECK-AR: macho-universal-archive.x86_64.i386(foo.o) (for architecture i386):
47 CHECK-AR: 00000008 D _bar
48 CHECK-AR: 00000000 T _foo
49
50 CHECK-64-AR: macho-universal64-archive.x86_64.i386(foo.o) (for architecture i386):
51 CHECK-64-AR: 00000008 D _bar
52 CHECK-64-AR: 00000000 T _foo
53 CHECK-64-AR: macho-universal64-archive.x86_64.i386(hello.o) (for architecture x86_64):
54 CHECK-64-AR: 0000000000000068 s EH_frame0
55 CHECK-64-AR: 000000000000003b s L_.str
56 CHECK-64-AR: 0000000000000000 T _main
57 CHECK-64-AR: 0000000000000080 S _main.eh
58 CHECK-64-AR:                  U _printf
59
60 CHECK-AR-i386: macho-universal-archive.x86_64.i386(foo.o):
61 CHECK-AR-i386: 00000008 D _bar
62 CHECK-AR-i386: 00000000 T _foo
63
64 CHECK-AR-o: (for architecture x86_64):{{.*}}/macho-universal-archive.x86_64.i386:hello.o: 0000000000000068 s EH_frame0
65 CHECK-AR-o: (for architecture x86_64):{{.*}}/macho-universal-archive.x86_64.i386:hello.o: 000000000000003b s L_.str
66 CHECK-AR-o: (for architecture x86_64):{{.*}}/macho-universal-archive.x86_64.i386:hello.o: 0000000000000000 T _main
67 CHECK-AR-o: (for architecture x86_64):{{.*}}/macho-universal-archive.x86_64.i386:hello.o: 0000000000000080 S _main.eh
68 CHECK-AR-o: (for architecture x86_64):{{.*}}/macho-universal-archive.x86_64.i386:hello.o:                  U _printf
69 CHECK-AR-o: (for architecture i386):{{.*}}/macho-universal-archive.x86_64.i386:foo.o: 00000008 D _bar
70 CHECK-AR-o: (for architecture i386):{{.*}}/macho-universal-archive.x86_64.i386:foo.o: 00000000 T _foo