Kevin Enderby | ecbc724 | 2014-06-05 21:21:57 +0000 | [diff] [blame] | 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 |
Kevin Enderby | d1e6461 | 2014-06-20 00:04:16 +0000 | [diff] [blame] | 5 | RUN: llvm-nm -m %p/Inputs/darwin-m-test3.macho-x86-64 \ |
Kevin Enderby | ecbc724 | 2014-06-05 21:21:57 +0000 | [diff] [blame] | 6 | RUN: | FileCheck %s -check-prefix test3 |
| 7 | |
| 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 |
| 15 | |
| 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) |
| 19 | |
| 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/libSystem.B.dylib |
| 36 | # to test that MachOObjectFile::guessLibraryShortName() is correctly parsing |
| 37 | # them into their short names. |
| 38 | test3: 0000000100000000 (__TEXT,__text) [referenced dynamically] external __mh_execute_header |
| 39 | test3: (undefined) external _atsPathVersSuffix (from libPathATS) |
| 40 | test3: (undefined) external _atsVersSuffix (from libATS) |
| 41 | test3: (undefined) external _foo (from Foo) |
| 42 | test3: (undefined) external _fooPath (from FooPath) |
| 43 | test3: (undefined) external _fooPathSuffix (from FooPathSuffix) |
| 44 | test3: (undefined) external _fooPathVers (from FooPathVers) |
| 45 | test3: (undefined) external _fooSuffix (from FooSuffix) |
| 46 | test3: (undefined) external _fooVers (from FooVers) |
| 47 | test3: 0000000100000e60 (__TEXT,__text) external _main |
| 48 | test3: (undefined) external _qt (from QT) |
| 49 | test3: (undefined) external _qtPath (from QTPath) |
| 50 | test3: (undefined) external _x (from libx) |
| 51 | test3: (undefined) external _xPathSuffix (from libxPathSuffix) |
| 52 | test3: (undefined) external _xSuffix (from libxSuffix) |
| 53 | test3: (undefined) external dyld_stub_binder (from libSystem) |