brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 9afff51 Raw
64 lines · plain
1// RUN: %clang -c -o %t %s2// RUN: %llvm_jitlink %t3//4// Test that basic MachO TLVs work by adding together TLVs with values5// 0, 1, and -1, and returning the result (0 for success). This setup6// tests both zero-initialized (__thread_bss) and non-zero-initialized7// (__thread_data) secitons.8 9	.section	__TEXT,__text,regular,pure_instructions10	.build_version macos, 11, 011 12        .globl  _main13        .p2align        4, 0x9014_main:15	pushq	%rax16	movq	_x@TLVP(%rip), %rdi17	callq	*(%rdi)18	movq	%rax, %rcx19	movq	_y@TLVP(%rip), %rdi20	callq	*(%rdi)21	movl	(%rax), %edx22	addl	(%rcx), %edx23	movq	_z@TLVP(%rip), %rdi24	callq	*(%rdi)25	addl	(%rax), %edx26	movl	%edx, %eax27	popq	%rcx28	retq29 30.tbss _x$tlv$init, 4, 231 32	.section	__DATA,__thread_vars,thread_local_variables33	.globl	_x34_x:35	.quad	__tlv_bootstrap36	.quad	037	.quad	_x$tlv$init38 39	.section	__DATA,__thread_data,thread_local_regular40	.p2align	241_y$tlv$init:42	.long	429496729543 44	.section	__DATA,__thread_vars,thread_local_variables45	.globl	_y46_y:47	.quad	__tlv_bootstrap48	.quad	049	.quad	_y$tlv$init50 51	.section	__DATA,__thread_data,thread_local_regular52	.p2align	253_z$tlv$init:54	.long	155 56	.section	__DATA,__thread_vars,thread_local_variables57	.globl	_z58_z:59	.quad	__tlv_bootstrap60	.quad	061	.quad	_z$tlv$init62 63.subsections_via_symbols64