10 static
long* __EH_FRAME_LIST__
__attribute__((section(".eh_frame"), aligned(sizeof(
void*))));
14 extern
void __register_frame_info(const
void*,
void*)
__attribute__((weak));
15 extern
void* __deregister_frame_info(const
void*)
__attribute__((weak));
17 #ifndef CRT_HAS_INITFINI_ARRAY 18 typedef void (*
fp)(void);
20 static fp __CTOR_LIST__[]
__attribute__((section(
".ctors"), aligned(
sizeof(
fp)), used)) = {(
fp)-1};
26 static _Bool __initialized;
27 if(__builtin_expect(__initialized, 0))
37 if(__register_frame_info)
39 __register_frame_info(__EH_FRAME_LIST__, &__object);
42 #ifndef CRT_HAS_INITFINI_ARRAY 44 for(
size_t i = n; i >= 1; i--)
51 #ifdef CRT_HAS_INITFINI_ARRAY 52 __attribute__((section(
".init_array"), used))
static void (*__init)(void) = __do_init;
53 #else // CRT_HAS_INITFINI_ARRAY 54 #if defined(__i386__) || defined(__x86_64__) 55 __asm__(
".pushsection .init,\"ax\",@progbits\n\t" 56 "call " __USER_LABEL_PREFIX__
"__do_init\n\t" 58 #elif defined(__arm__) 59 __asm__(
".pushsection .init,\"ax\",%progbits\n\t" 60 "bl " __USER_LABEL_PREFIX__
"__do_init\n\t" 62 #endif // CRT_HAS_INITFINI_ARRAY 65 #ifndef CRT_HAS_INITFINI_ARRAY 66 static fp __DTOR_LIST__[]
__attribute__((section(
".dtors"), aligned(
sizeof(
fp)), used)) = {(
fp)-1};
72 static _Bool __finalized;
73 if(__builtin_expect(__finalized, 0))
79 #ifndef CRT_HAS_INITFINI_ARRAY 80 if(__deregister_frame_info)
82 __deregister_frame_info(__EH_FRAME_LIST__);
86 for(
size_t i = 1; i < n; i++)
93 #ifdef CRT_HAS_INITFINI_ARRAY 94 __attribute__((section(
".fini_array"), used))
static void (*__fini)(void) = __do_fini;
95 #else // CRT_HAS_INITFINI_ARRAY 96 #if defined(__i386__) || defined(__x86_64__) 97 __asm__(
".pushsection .fini,\"ax\",@progbits\n\t" 98 "call " __USER_LABEL_PREFIX__
"__do_fini\n\t" 100 #elif defined(__arm__) 101 __asm__(
".pushsection .fini,\"ax\",%progbits\n\t" 102 "bl " __USER_LABEL_PREFIX__
"__do_fini\n\t" 105 #endif // CRT_HAS_INIT_FINI_ARRAY __attribute__((visibility("hidden")))
We don't have shared libraries, so dso_handle is just NULL.