__cxa_atexit
int __cxa_atexit(void (*func)(void *), void *arg, void *dso);
int __cxa_atexit(void (*)(void *), void *, void *);
return (__cxa_atexit(func, arg, dso));
ASSERT(0 == __cxa_atexit(cxa_handler_4, &arg_1, &dso_handle_1));
ASSERT(0 == __cxa_atexit(cxa_handler_5, &arg_1, &dso_handle_1));
ASSERT(0 == __cxa_atexit(cxa_handler_3, &arg_2, &dso_handle_2));
ASSERT(0 == __cxa_atexit(cxa_handler_2, &arg_3, &dso_handle_3));
extern int __cxa_atexit(void (*func)(void *), void *, void *);
ASSERT(0 == __cxa_atexit(cxa_handler_4, &arg_1, &dso_handle_1));
ASSERT(0 == __cxa_atexit(cxa_handler_5, &arg_1, &dso_handle_1));
ASSERT(0 == __cxa_atexit(cxa_handler_3, &arg_2, &dso_handle_2));
ASSERT(0 == __cxa_atexit(cxa_handler_2, &arg_3, &dso_handle_3));
extern int __cxa_atexit(void (*func)(void *), void *, void *);