From ad1cd43a86645ba2d4f7c8747240452a349d6bc1 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Wed, 11 Nov 2015 22:08:23 -0500 Subject: unify static and dynamic libc init/fini code paths use weak definitions that the dynamic linker can override instead of preprocessor conditionals on SHARED so that the same libc start and exit code can be used for both static and dynamic linking. --- src/ldso/dynlink.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/ldso/dynlink.c') diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index 5fbe2bb5..ac755d94 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -1175,7 +1175,7 @@ static void kernel_mapped_dso(struct dso *p) p->kernel_mapped = 1; } -static void do_fini() +void __libc_exit_fini() { struct dso *p; size_t dyn[DYN_CNT]; @@ -1659,8 +1659,6 @@ _Noreturn void __dls3(size_t *sp) debug.state = 0; _dl_debug_state(); - __init_libc(envp, argv[0]); - atexit(do_fini); errno = 0; CRTJMP((void *)aux[AT_ENTRY], argv-1); -- cgit v1.2.1