1*ab39ceb1SAugustin Cavalier /* ===-- crtend.c - Provide .eh_frame --------------------------------------=== 2*ab39ceb1SAugustin Cavalier * 3*ab39ceb1SAugustin Cavalier * The LLVM Compiler Infrastructure 4*ab39ceb1SAugustin Cavalier * 5*ab39ceb1SAugustin Cavalier * This file is dual licensed under the MIT and the University of Illinois Open 6*ab39ceb1SAugustin Cavalier * Source Licenses. See LICENSE.TXT for details. 7*ab39ceb1SAugustin Cavalier * 8*ab39ceb1SAugustin Cavalier * ===----------------------------------------------------------------------=== 9*ab39ceb1SAugustin Cavalier */ 10*ab39ceb1SAugustin Cavalier 11*ab39ceb1SAugustin Cavalier #include <inttypes.h> 12*ab39ceb1SAugustin Cavalier 13*ab39ceb1SAugustin Cavalier const int32_t __EH_FRAME_END__[] 14*ab39ceb1SAugustin Cavalier __attribute__((section(".eh_frame"), used)) = { 0 }; 15*ab39ceb1SAugustin Cavalier 16*ab39ceb1SAugustin Cavalier #ifndef CRT_HAS_INITFINI_ARRAY 17*ab39ceb1SAugustin Cavalier typedef void (*fp)(void); 18*ab39ceb1SAugustin Cavalier const fp __CTOR_END__[] 19*ab39ceb1SAugustin Cavalier __attribute__((section(".ctors"), visibility("hidden"), used)) = { 0 }; 20*ab39ceb1SAugustin Cavalier const fp __DTOR_END__[] 21*ab39ceb1SAugustin Cavalier __attribute__((section(".dtors"), visibility("hidden"), used)) = { 0 }; 22*ab39ceb1SAugustin Cavalier #endif 23