brintos

brintos / llvm-project-archived public Read only

0
0
Text · 936 B · a90c67c Raw
38 lines · plain
1// Test that basic MachO static initializers work. The main function in this2// test returns the value of 'x', which is initially 1 in the data section,3// and reset to 0 if the _static_init function is run. If the static initializer4// does not run then main will return 1, causing the test to be treated as a5// failure.6//7// RUN: %clang -c -o %t %s8// RUN: %llvm_jitlink %t9 10	.section	__TEXT,__text,regular,pure_instructions11	.build_version macos, 11, 012 13# main returns the value of 'x', which is defined as 1 in the data section..14	.globl	_main15	.p2align	4, 0x9016_main:17	movl	_x(%rip), %eax18	retq19 20# static initializer sets the value of 'x' to zero.21	.section	__TEXT,__StaticInit,regular,pure_instructions22	.p2align	4, 0x9023_static_init:24	movl	$0, _x(%rip)25	retq26 27	.section	__DATA,__data28	.globl	_x29	.p2align	230_x:31	.long	132 33	.section	__DATA,__mod_init_func,mod_init_funcs34	.p2align	335	.quad	_static_init36 37.subsections_via_symbols38