25 lines
815 B
ArmAsm
25 lines
815 B
ArmAsm
# REQUIRES: x86
|
|
# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t.o
|
|
# RUN: %lld -dylib -fixup_chains -o %t %t.o
|
|
# RUN: llvm-objdump --macho --all-headers %t | FileCheck %s
|
|
|
|
## dyld always expects LC_DYLD_CHAINED_FIXUPS to point to a valid
|
|
## chained fixups header, even if there aren't any fixups.
|
|
# CHECK: cmd LC_DYLD_CHAINED_FIXUPS
|
|
# CHECK-NEXT: cmdsize 16
|
|
# CHECK-NEXT: dataoff [[#]]
|
|
# CHECK-NEXT: datasize 48
|
|
|
|
## While ld64 emits the root trie node even if there are no exports,
|
|
## setting the data size and offset to zero works too in practice.
|
|
# CHECK: cmd LC_DYLD_EXPORTS_TRIE
|
|
# CHECK-NEXT: cmdsize 16
|
|
# CHECK-NEXT: dataoff 0
|
|
# CHECK-NEXT: datasize 0
|
|
|
|
## Old load commands should not be generated.
|
|
# CHECK-NOT: cmd LC_DYLD_INFO_ONLY
|
|
|
|
_not_exported:
|
|
.space 1
|