]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
stdlib: Move _IO_cleanup to call_function_static_weak
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Sun, 13 Nov 2022 18:49:27 +0000 (15:49 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 12 Dec 2022 12:53:23 +0000 (09:53 -0300)
Reviewed-by: Florian Weimer <fweimer@redhat.com>
Makerules
libio/genops.c
stdlib/exit.c

index a41491429eed0e4c58eff631b88d1f9df8cc5105..3226b7a12bcfd332b9eb0aa87a28b661b317cd87 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -568,9 +568,6 @@ $(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
                 PROVIDE(__start___libc_subfreeres = .);\
                 __libc_subfreeres : { *(__libc_subfreeres) }\
                 PROVIDE(__stop___libc_subfreeres = .);\
-                PROVIDE(__start___libc_atexit = .);\
-                __libc_atexit : { *(__libc_atexit) }\
-                PROVIDE(__stop___libc_atexit = .);\
                 PROVIDE(__start___libc_IO_vtables = .);\
                 __libc_IO_vtables : { *(__libc_IO_vtables) }\
                 PROVIDE(__stop___libc_IO_vtables = .);\
index 1b629eb6954743829a1a77fb676ec3c53888c92e..8a7fc4f7c57cf5759cd6b237955253a371a2a49d 100644 (file)
@@ -1115,5 +1115,3 @@ _IO_list_resetlock (void)
 #endif
 }
 libc_hidden_def (_IO_list_resetlock)
-
-text_set_element(__libc_atexit, _IO_cleanup);
index 10c44e1449e5fa7aa57dc8c290d6a8e13efff5bb..98579fbda88c7d21036c91c81b834b77b672d80d 100644 (file)
 #include <unistd.h>
 #include <pointer_guard.h>
 #include <libc-lock.h>
+#include <libio/libioP.h>
 #include "exit.h"
 
-#include "set-hooks.h"
-DEFINE_HOOK (__libc_atexit, (void))
-
 /* Initialize the flag that indicates exit function processing
    is complete. See concurrency notes in stdlib/exit.h where
    __exit_funcs_lock is declared.  */
@@ -128,7 +126,7 @@ __run_exit_handlers (int status, struct exit_function_list **listp,
   __libc_lock_unlock (__exit_funcs_lock);
 
   if (run_list_atexit)
-    RUN_HOOK (__libc_atexit, ());
+    call_function_static_weak (_IO_cleanup);
 
   _exit (status);
 }