diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2022-11-13 15:49:27 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2022-12-12 09:53:23 -0300 |
commit | 5dcd2d0ad02ff12c76355ef4f40947c1857ac482 (patch) | |
tree | 5e473c3d5effa474bf5a93343b9d84f1a77a2c19 | |
parent | d4facb63ff0349b3c2a83df7363f23a2dbd64a17 (diff) | |
download | glibc-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-- | Makerules | 3 | ||||
-rw-r--r-- | libio/genops.c | 2 | ||||
-rw-r--r-- | stdlib/exit.c | 6 |
3 files changed, 2 insertions, 9 deletions
@@ -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); } |