summaryrefslogtreecommitdiff
path: root/test/Object/nm-universal-binary.test
blob: 1fce0eea6452b86d6a6e7ca9b61d2d7302415a4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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
RUN: not llvm-nm -arch foobar %p/Inputs/macho-universal.x86_64.i386 2>&1 \
RUN:         | FileCheck %s -check-prefix CHECK-OBJ-foobar
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-NOT: Unknown architecture named
CHECK-OBJ-armv7m: does not contain architecture

CHECK-OBJ-foobar: Unknown architecture named
CHECK-OBJ-foobar: does not contain architecture

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