]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/mach-o/upward-dylib-load-command.yaml
Vendor import of lld trunk r338150:
[FreeBSD/FreeBSD.git] / test / mach-o / upward-dylib-load-command.yaml
1 # RUN: ld64.lld -arch x86_64 -dylib %p/Inputs/bar.yaml \
2 # RUN:     -install_name /usr/lib/libbar.dylib %p/Inputs/x86_64/libSystem.yaml -o %t1.dylib
3 # RUN: ld64.lld -arch x86_64 -dylib %s -upward_library  %t1.dylib \
4 # RUN:      -install_name /usr/lib/libfoo.dylib %p/Inputs/x86_64/libSystem.yaml -o %t
5 # RUN: llvm-objdump -private-headers %t | FileCheck %s
6 #
7 #
8 # Test upward linking: 1) build libbar.dylib, 2) build libfoo.dylib and upward
9 # like with libbar.dylib, 3) dump load commands of libfoo and verify upward link.
10 #
11
12 --- !mach-o
13 arch:            x86_64
14 file-type:       MH_OBJECT
15 flags:           [ MH_SUBSECTIONS_VIA_SYMBOLS ]
16 sections:
17   - segment:         __TEXT
18     section:         __text
19     type:            S_REGULAR
20     attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
21     address:         0x0000000000000000
22     content:         [ 0x55, 0x48, 0x89, 0xE5, 0x31, 0xC0, 0x5D, 0xE9,
23                        0x00, 0x00, 0x00, 0x00 ]
24     relocations:
25       - offset:          0x00000008
26         type:            X86_64_RELOC_BRANCH
27         length:          2
28         pc-rel:          true
29         extern:          true
30         symbol:          1
31 global-symbols:
32   - name:            _foo
33     type:            N_SECT
34     scope:           [ N_EXT ]
35     sect:            1
36     value:           0x0000000000000000
37 undefined-symbols:
38   - name:            _bar
39     type:            N_UNDF
40     scope:           [ N_EXT ]
41     value:           0x0000000000000000
42
43 ...
44
45
46 # CHECK:                      cmd LC_LOAD_UPWARD_DYLIB
47 # CHECK-NEXT:         cmdsize 48
48 # CHECK-NEXT:            name /usr/lib/libbar.dylib (offset 24)