1# RUN: ld64.lld.darwinold -arch x86_64 -macosx_version_min 10.8 %s \ 2# RUN: %p/Inputs/PIE.yaml -o %t && \ 3# RUN: llvm-objdump --macho --private-headers %t | FileCheck %s 4# 5# RUN: ld64.lld.darwinold -arch x86_64 -macosx_version_min 10.8 %s \ 6# RUN: %p/Inputs/PIE.yaml -pie -o %t\ 7# RUN: && llvm-objdump --macho --private-headers %t | FileCheck %s 8# 9# RUN: ld64.lld.darwinold -arch x86_64 -macosx_version_min 10.8 %s \ 10# RUN: %p/Inputs/PIE.yaml -no_pie -o %t\ 11# RUN: && llvm-objdump --macho --private-headers %t \ 12# RUN: | FileCheck --check-prefix=CHECK_NO_PIE %s 13# 14# Test various PIE options. 15# 16 17--- !mach-o 18arch: x86_64 19file-type: MH_OBJECT 20flags: [ MH_SUBSECTIONS_VIA_SYMBOLS ] 21has-UUID: false 22OS: unknown 23sections: 24 - segment: __TEXT 25 section: __text 26 type: S_REGULAR 27 attributes: [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ] 28 address: 0x0000000000000000 29 content: [ 0xC3 ] 30global-symbols: 31 - name: _main 32 type: N_SECT 33 scope: [ N_EXT ] 34 sect: 1 35 value: 0x0000000000000000 36 37... 38 39# CHECK: MH_MAGIC_64 {{[0-9a-zA-Z _]+}} TWOLEVEL PIE 40# CHECK_NO_PIE-NOT: MH_MAGIC_64 {{[0-9a-zA-Z _]+}} TWOLEVEL PIE 41