aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-11-13 15:49:27 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-12-12 09:53:23 -0300
commit5dcd2d0ad02ff12c76355ef4f40947c1857ac482 (patch)
tree5e473c3d5effa474bf5a93343b9d84f1a77a2c19
parentd4facb63ff0349b3c2a83df7363f23a2dbd64a17 (diff)
downloadglibc-5dcd2d0ad02ff12c76355ef4f40947c1857ac482.zip
glibc-5dcd2d0ad02ff12c76355ef4f40947c1857ac482.tar.gz
glibc-5dcd2d0ad02ff12c76355ef4f40947c1857ac482.tar.bz2
stdlib: Move _IO_cleanup to call_function_static_weak
Reviewed-by: Florian Weimer <fweimer@redhat.com>
-rw-r--r--Makerules3
-rw-r--r--libio/genops.c2
-rw-r--r--stdlib/exit.c6
3 files changed, 2 insertions, 9 deletions
diff --git a/Makerules b/Makerules
index a414914..3226b7a 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 1b629eb..8a7fc4f 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 10c44e1..98579fb 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);
}