1 ; RUN: llc < %s -mtriple=arm-apple-darwin | FileCheck %s -check-prefix=DARWIN 2 ; RUN: llc < %s -mtriple=arm-linux-gnu | FileCheck %s -check-prefix=ELF 3 ; RUN: llc < %s -mtriple=arm-linux-gnueabi | FileCheck %s -check-prefix=GNUEABI 4 5 ; DARWIN: .section __DATA,__mod_init_func,mod_init_funcs 6 ; DARWIN: .section __DATA,__mod_term_func,mod_term_funcs 7 8 ; ELF: .section .ctors,"aw",%progbits 9 ; ELF: .section .dtors,"aw",%progbits 10 11 ; GNUEABI: .section .init_array,"aw",%init_array 12 ; GNUEABI: .section .fini_array,"aw",%fini_array 13 14 @llvm.global_ctors = appending global [1 x { i32, void ()* }] [ { i32, void ()* } { i32 65535, void ()* @__mf_init } ] ; <[1 x { i32, void ()* }]*> [#uses=0] 15 @llvm.global_dtors = appending global [1 x { i32, void ()* }] [ { i32, void ()* } { i32 65535, void ()* @__mf_fini } ] ; <[1 x { i32, void ()* }]*> [#uses=0] 16 17 define void @__mf_init() { 18 entry: 19 ret void 20 } 21 22 define void @__mf_fini() { 23 entry: 24 ret void 25 } 26