diff options
author | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2005-05-21 21:40:14 +0000 |
---|---|---|
committer | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2005-05-21 21:40:14 +0000 |
commit | df0e39281e8fc368208127c67f0fa2f0dcbcca20 (patch) | |
tree | e37b7384166a9a6c4bd556b9b83f50a71f107e1f | |
parent | 4ef1c28c03dd19637272d5fc40ee7fabfec92e0d (diff) |
Enable new FINI processing. ldso now passes a FINI function
ptr to crt. Only PowerPC and x86 support this currently.
-rw-r--r-- | ldso/ldso/ldso.c | 10 | ||||
-rw-r--r-- | libc/stdlib/atexit.c | 3 |
2 files changed, 0 insertions, 13 deletions
diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c index 54da613aa..c60815aff 100644 --- a/ldso/ldso/ldso.c +++ b/ldso/ldso/ldso.c @@ -806,16 +806,6 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr, (*dl_elf_func) (); } } -#ifndef _DL_DO_FINI_IN_LIBC - /* arches that have moved their ldso FINI handling should skip this part */ - { - int (*_dl_atexit) (void *) = (int (*)(void *)) (intptr_t) _dl_find_hash("atexit", - _dl_symbol_tables, NULL, ELF_RTYPE_CLASS_PLT); - - if (_dl_atexit) - (*_dl_atexit) (_dl_fini); - } -#endif /* Find the real malloc function and make ldso functions use that from now on */ _dl_malloc_function = (void* (*)(size_t)) (intptr_t) _dl_find_hash("malloc", diff --git a/libc/stdlib/atexit.c b/libc/stdlib/atexit.c index d5f83ee8e..87a49a015 100644 --- a/libc/stdlib/atexit.c +++ b/libc/stdlib/atexit.c @@ -239,11 +239,8 @@ void exit(int rv) if (__app_fini != NULL) (__app_fini)(); #endif -#ifdef _DL_DO_FINI_IN_LIBC -/* arches that has moved their ldso FINI handling should #define _DL_DO_FINI_IN_LIBC */ if (__rtld_fini != NULL) (__rtld_fini)(); -#endif /* If we are using stdio, try to shut it down. At the very least, * this will attempt to commit all buffered writes. It may also |