diff options
Diffstat (limited to 'malloc/mtrace.c')
-rw-r--r-- | malloc/mtrace.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/malloc/mtrace.c b/malloc/mtrace.c index 9ebbaebf4d..fddf137fa6 100644 --- a/malloc/mtrace.c +++ b/malloc/mtrace.c @@ -291,8 +291,10 @@ mtrace () #ifdef _LIBC if (!added_atexit_handler) { + extern void *__dso_handle __attribute__ ((__weak__)); added_atexit_handler = 1; - atexit (release_libc_mem); + __cxa_atexit ((void (*) (void *)) release_libc_mem, NULL, + &__dso_handle ? __dso_handle : NULL); } #endif } |