MachO_weak_definitions.s 1.02 KB
# RUN: rm -rf %t && mkdir -p %t
# RUN: llvm-mc -triple x86_64-apple-macosx10.9 -filetype=obj \
# RUN:   -o %t/MachO_weak_defs_extra.o %S/Inputs/MachO_weak_defs_extra.s
# RUN: llvm-mc -triple x86_64-apple-macosx10.9 -filetype=obj \
# RUN:   -o %t/MachO_weak_definitions.o %s
# RUN: llvm-jitlink -noexec -check=%s %t/MachO_weak_definitions.o \
# RUN:   %t/MachO_weak_defs_extra.o
#
# Check that objects linked separately agree on the address of weak symbols.
#
# jitlink-check: *{8}WeakDefAddrInThisFile = *{8}WeakDefAddrInExtraFile

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 10, 14	sdk_version 10, 14
	.globl	_main
	.p2align	4, 0x90
_main:
	retq

	.section	__DATA,__data
	.globl	WeakDef
	.weak_definition	WeakDef
	.p2align	2
WeakDef:
	.long	1

	.globl	WeakDefAddrInThisFile
	.p2align	3
WeakDefAddrInThisFile:
	.quad	WeakDef

# Take the address of WeakDefAddrInExtraFile to force its materialization
	.globl	extra_file_anchor
	.p2align	3
extra_file_anchor:
	.quad	WeakDefAddrInExtraFile


.subsections_via_symbols