/* This function will be called from _init in init-first.c. */ void __libc_global_ctors (void) { /* Call constructor functions. */ run_hooks (__CTOR_LIST__); #ifdef HAVE_DWARF2_UNWIND_INFO # ifdef HAVE_DWARF2_UNWIND_INFO_STATIC { static struct object ob; # if defined CRT_GET_RFIB_TEXT || defined CRT_GET_RFIB_DATA void *tbase, *dbase; # ifdef CRT_GET_RFIB_TEXT CRT_GET_RFIB_TEXT (tbase); # else tbase = NULL; # endif # ifdef CRT_GET_RFIB_DATA CRT_GET_RFIB_DATA (dbase); # else dbase = NULL; # endif __register_frame_info_bases (__EH_FRAME_BEGIN__, &ob, tbase, dbase); # else __register_frame_info (__EH_FRAME_BEGIN__, &ob); # endif } # else __register_frame (__EH_FRAME_BEGIN__); # endif #endif }
void __libc_fini (void) #endif { /* Call destructor functions. */ run_hooks (__DTOR_LIST__); #ifdef HAVE_DWARF2_UNWIND_INFO # ifdef HAVE_DWARF2_UNWIND_INFO_STATIC # if defined CRT_GET_RFIB_TEXT || defined CRT_GET_RFIB_DATA __deregister_frame_info_bases (__EH_FRAME_BEGIN__); # else __deregister_frame_info (__EH_FRAME_BEGIN__); # endif # else __deregister_frame (__EH_FRAME_BEGIN__); # endif #endif }
/* This function becomes the DT_FINI termination function for the C library. */ void __libc_fini (void) { /* Call destructor functions. */ run_hooks (__DTOR_LIST__); }
/* This function will be called from _init in init-first.c. */ void __libc_global_ctors (void) { /* Call constructor functions. */ run_hooks (__CTOR_LIST__); }
void run_hooks_in_chroot() { ensure_we_can_find_in_chroot_hooks(); g_assert(enter_chroot()); run_hooks(&in_chroot_info); }
void run_hooks_before_chroot() { run_hooks(&before_chroot_info); setup_monitor_extract_progress(); }
void run_hooks_after_chroot() { g_assert(break_chroot()); run_hooks(&after_chroot_info); }