[3/7] stdlib: Move _IO_cleanup to call_function_static_weak

Message ID 20221115193159.173838-4-adhemerval.zanella@linaro.org
State Under Review
Delegated to: Florian Weimer
Headers
Series Fixing remaining lld issues |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent

Commit Message

Adhemerval Zanella Nov. 15, 2022, 7:31 p.m. UTC
  ---
 Makerules      | 3 ---
 libio/genops.c | 2 --
 stdlib/exit.c  | 6 ++----
 3 files changed, 2 insertions(+), 9 deletions(-)
  

Patch

diff --git a/Makerules b/Makerules
index a41491429e..3226b7a12b 100644
--- 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 = .);\
diff --git a/libio/genops.c b/libio/genops.c
index 1b629eb695..8a7fc4f7c5 100644
--- a/libio/genops.c
+++ b/libio/genops.c
@@ -1115,5 +1115,3 @@  _IO_list_resetlock (void)
 #endif
 }
 libc_hidden_def (_IO_list_resetlock)
-
-text_set_element(__libc_atexit, _IO_cleanup);
diff --git a/stdlib/exit.c b/stdlib/exit.c
index 10c44e1449..98579fbda8 100644
--- a/stdlib/exit.c
+++ b/stdlib/exit.c
@@ -20,11 +20,9 @@ 
 #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);
 }