summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>2005-05-21 21:40:14 +0000
committerJoakim Tjernlund <joakim.tjernlund@transmode.se>2005-05-21 21:40:14 +0000
commitdf0e39281e8fc368208127c67f0fa2f0dcbcca20 (patch)
treee37b7384166a9a6c4bd556b9b83f50a71f107e1f
parent4ef1c28c03dd19637272d5fc40ee7fabfec92e0d (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.c10
-rw-r--r--libc/stdlib/atexit.c3
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