3 .type __bionic_call_ctors, @function
6 * The CTORS_LIST is marked by -1 (start) and 0 (end).
7 * We mark the end of the .ctors section with the __CTOR_END__ section so
8 * that we can just iterate backwards from it until we hit -1 and execute
9 * all the function pointers. This seems to be the way to do it for SVR4
14 mov $__CTOR_END__, %esi
17 /* now grab the next function pointer and check if its -1. If not,
18 * call it, otherwise we're done. We use %esi since it's callee saved.
34 call __bionic_call_ctors
37 .section .ctors, "aw", @progbits
39 .type __CTOR_END__, @object
43 .section .init_array, "aw"
46 .section .fini_array, "aw"