MachO_weak_references.s
787 Bytes
# RUN: rm -rf %t && mkdir -p %t
# RUN: llvm-mc -triple=x86_64-apple-macosx10.9 -filetype=obj -o %t/macho_weak_refs.o %s
# RUN: llvm-jitlink -noexec -check-name=jitlink-check-bar-present -define-abs bar=0x1 -check=%s %t/macho_weak_refs.o
# RUN: llvm-jitlink -noexec -check-name=jitlink-check-bar-absent -check=%s %t/macho_weak_refs.o
# Test weak reference handling by linking with and without a definition of 'bar' available.
.section __TEXT,__text,regular,pure_instructions
.build_version macos, 10, 14 sdk_version 10, 14
.globl _main
.p2align 4, 0x90
_main:
# jitlink-check-bar-present: *{8}(got_addr(macho_weak_refs.o, bar)) = bar
# jitlink-check-bar-absent: *{8}(got_addr(macho_weak_refs.o, bar)) = 0
cmpq $0, bar@GOTPCREL(%rip)
.weak_reference bar
.subsections_via_symbols