[llvm-nm] - Fix a bug and unbreak ASan BB.
[llvm-complete.git] / test / Object / nm-darwin-m.test
blobf0e5c0a0b139fa10f7cc5d62469bcfcd1c77a6d0
1 RUN: llvm-nm --format=darwin %p/Inputs/darwin-m-test1.mach0-armv7 \
2 RUN:         | FileCheck %s -check-prefix test1
3 RUN: llvm-nm --format=darwin %p/Inputs/darwin-m-test2.macho-i386 \
4 RUN:         | FileCheck %s -check-prefix test2
5 RUN: llvm-nm -m %p/Inputs/darwin-m-test3.macho-x86-64 \
6 RUN:         | FileCheck %s -check-prefix test3
8 # This is testing that the various bits in the n_desc feild are correct
9 test1: 00000001 (absolute) non-external _a
10 test1: 00000008 (common) (alignment 2^2) external _c
11 test1: 0000000a (__DATA,__data) non-external [no dead strip] _d
12 test1: 00000004 (__TEXT,__text) non-external [alt entry] _e
13 test1: 00000000 (__TEXT,__text) non-external [symbol resolver] _r
14 test1: 00000008 (__TEXT,__text) non-external [Thumb] _t
16 # This is testing that an N_INDR symbol gets its alias name, the "(for ...)"
17 test2:          (undefined) external __i
18 test2:          (indirect) external _i (for __i)
20 # This is testing is using darwin-m-test3.macho-x86-64 that is linked with
21 # dylibs that have the follow set of -install_names:
22 #       Foo.framework/Foo
23 #       /System/Library/Frameworks/FooPath.framework/FooPath
24 #       FooSuffix.framework/FooSuffix_debug
25 #       /System/Library/Frameworks/FooPathSuffix.framework/FooPathSuffix_profile
26 #       FooVers.framework/Versions/A/FooVers
27 #       /System/Library/Frameworks/FooPathVers.framework/Versions/B/FooPathVers
28 #       libx.dylib
29 #       libxSuffix_profile.dylib
30 #       /usr/local/lib/libxPathSuffix_debug.dylib
31 #       libATS.A_profile.dylib
32 #       /usr/lib/libPathATS.A_profile.dylib
33 #       QT.A.qtx
34 #       /lib/QTPath.qtx
35 #       /usr/lib/libfoo_bar.dylib
36 #       /usr/lib/libfoo_bar_profile.dylib
37 #       /usr/lib/libSystem.B.dylib
38 # to test that MachOObjectFile::guessLibraryShortName() is correctly parsing
39 # them into their short names.
40 test3: 0000000100000000 (__TEXT,__text) [referenced dynamically] external __mh_execute_header
41 test3:                  (undefined) external _atsPathVersSuffix (from libPathATS)
42 test3:                  (undefined) external _atsVersSuffix (from libATS)
43 test3:                  (undefined) external _foo (from Foo)
44 test3:                  (undefined) external _fooPath (from FooPath)
45 test3:                  (undefined) external _fooPathSuffix (from FooPathSuffix)
46 test3:                  (undefined) external _fooPathVers (from FooPathVers)
47 test3:                  (undefined) external _fooSuffix (from FooSuffix)
48 test3:                  (undefined) external _fooVers (from FooVers)
49 test3:                  (undefined) external _foo_bar (from libfoo_bar)
50 test3:                  (undefined) external _foo_barSuffix (from libfoo_barSuffix)
51 test3: 0000000100000e50 (__TEXT,__text) external _main
52 test3:                  (undefined) external _qt (from QT)
53 test3:                  (undefined) external _qtPath (from QTPath)
54 test3:                  (undefined) external _x (from libx)
55 test3:                  (undefined) external _xPathSuffix (from libxPathSuffix)
56 test3:                  (undefined) external _xSuffix (from libxSuffix)
57 test3:                  (undefined) external dyld_stub_binder (from libSystem)