| # Check we accept -install_name correctly: |
| # RUN: ld64.lld -arch x86_64 -install_name libwibble.dylib -dylib \ |
| # RUN: -compatibility_version 2.0 -current_version 5.3 \ |
| # RUN: %p/Inputs/x86_64/libSystem.yaml %s -o %t.dylib |
| # RUN: llvm-objdump -private-headers %t.dylib | FileCheck %s --check-prefix=CHECK-BINARY-WRITE |
| |
| # Check we read LC_ID_DYLIB correctly: |
| # RUN: ld64.lld -arch x86_64 %p/Inputs/use-dylib-install-names.yaml \ |
| # RUN: %p/Inputs/x86_64/libSystem.yaml %t.dylib -dylib -o %t2.dylib |
| # RUN: llvm-objdump -private-headers %t2.dylib | FileCheck %s --check-prefix=CHECK-BINARY-READ |
| |
| # Check we default the install-name to the output file: |
| # RUN: ld64.lld -arch x86_64 -dylib %s -o libwibble.dylib \ |
| # RUN: -compatibility_version 2.0 -current_version 5.3 \ |
| # RUN: %p/Inputs/x86_64/libSystem.yaml |
| # RUN: llvm-objdump -private-headers libwibble.dylib | FileCheck %s --check-prefix=CHECK-BINARY-WRITE |
| # RUN: rm -f libwibble.dylib |
| |
| # Check -single_module does nothing |
| # RUN: ld64.lld -arch x86_64 -dylib %s -install_name libwibble.dylib \ |
| # RUN: -compatibility_version 2.0 -current_version 5.3 \ |
| # RUN: -single_module -o %t2.dylib %p/Inputs/x86_64/libSystem.yaml |
| # RUN: llvm-objdump -private-headers %t2.dylib | FileCheck %s --check-prefix=CHECK-BINARY-WRITE |
| |
| --- !mach-o |
| arch: x86_64 |
| file-type: MH_OBJECT |
| flags: [ MH_SUBSECTIONS_VIA_SYMBOLS ] |
| has-UUID: false |
| OS: unknown |
| sections: |
| - segment: __TEXT |
| section: __text |
| type: S_REGULAR |
| attributes: [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ] |
| alignment: 4 |
| address: 0x0000000000000000 |
| content: [ 0xCC, 0xC3, 0x90, 0xC3, 0x90, 0x90, 0xC3, 0x90, |
| 0x90, 0x90, 0xC3, 0x90, 0x90, 0x90, 0x90, 0xC3, |
| 0x31, 0xC0, 0xC3 ] |
| local-symbols: |
| - name: _myStatic |
| type: N_SECT |
| sect: 1 |
| value: 0x000000000000000B |
| global-symbols: |
| - name: _myGlobal |
| type: N_SECT |
| scope: [ N_EXT ] |
| sect: 1 |
| value: 0x0000000000000001 |
| ... |
| |
| |
| # CHECK-BINARY-WRITE: cmd LC_ID_DYLIB |
| # CHECK-BINARY-WRITE-NEXT: cmdsize 40 |
| # CHECK-BINARY-WRITE-NEXT: name libwibble.dylib (offset 24) |
| # CHECK-BINARY-WRITE-NEXT: time stamp 1 |
| # CHECK-BINARY-WRITE-NEXT: current version 5.3.0 |
| # CHECK-BINARY-WRITE-NEXT: compatibility version 2.0.0 |
| |
| # CHECK-BINARY-READ: cmd LC_LOAD_DYLIB |
| # CHECK-BINARY-READ-NEXT: cmdsize 56 |
| # CHECK-BINARY-READ-NEXT: name /usr/lib/libSystem.B.dylib (offset 24) |
| # CHECK-BINARY-READ-NEXT: time stamp 2 |
| # CHECK-BINARY-READ-NEXT: current version 1.0.0 |
| # CHECK-BINARY-READ-NEXT: compatibility version 1.0.0 |
| |
| # CHECK-BINARY-READ: cmd LC_LOAD_DYLIB |
| # CHECK-BINARY-READ-NEXT: cmdsize 40 |
| # CHECK-BINARY-READ-NEXT: name libwibble.dylib (offset 24) |
| # CHECK-BINARY-READ-NEXT: time stamp 2 |
| # CHECK-BINARY-READ-NEXT: current version 5.3.0 |
| # CHECK-BINARY-READ-NEXT: compatibility version 2.0.0 |