typedef void (*FUNC)(void); extern FUNC _DTOR_LIST_START[]; extern FUNC _DTOR_LIST_END[]; void __ctordtorTerm (void) { static int done; if (!done) { int i; done = 1; for (i = 0; i < _DTOR_LIST_END - _DTOR_LIST_START; i++) _DTOR_LIST_START[i](); } }