diff options
author | Ulrich Drepper <drepper@redhat.com> | 2009-03-10 13:40:37 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-03-10 13:40:37 +0000 |
commit | eec4b45482cb8a39d6028257d6667febd9f28af0 (patch) | |
tree | 1d44a7bd745e3e9c5b6b154d0d2d480d0acdebd5 /stdlib | |
parent | d7276cee74626d11aaed30b9f1928c44a79f186d (diff) | |
download | glibc-eec4b45482cb8a39d6028257d6667febd9f28af0.tar.gz glibc-eec4b45482cb8a39d6028257d6667febd9f28af0.tar.xz glibc-eec4b45482cb8a39d6028257d6667febd9f28af0.zip |
* stdlib/quick_exit.c (quick_exit): Pass &__quick_exit_funcs
instead of __quick_exit_funcs to __run_exit_handlers. * stdlib/at_quick_exit.c (at_quick_exit): Add attribute_hidden. * stdlib/exit.h (__run_exit_handlers): Add noreturn attribute. (__cxa_at_quick_exit): Remove attribute_hidden. * stdlib/exit.c (exit): Pass &__exit_funcs instead of __exit_funcs to __run_exit_handlers. * stdlib/cxa_at_quick_exit.c (__cxa_at_quick_exit): Remove attribute_hidden.
Diffstat (limited to 'stdlib')
-rw-r--r-- | stdlib/at_quick_exit.c | 1 | ||||
-rw-r--r-- | stdlib/cxa_at_quick_exit.c | 1 | ||||
-rw-r--r-- | stdlib/exit.c | 2 | ||||
-rw-r--r-- | stdlib/exit.h | 6 | ||||
-rw-r--r-- | stdlib/quick_exit.c | 2 |
5 files changed, 6 insertions, 6 deletions
diff --git a/stdlib/at_quick_exit.c b/stdlib/at_quick_exit.c index abe2910a7b..1d37e1c2eb 100644 --- a/stdlib/at_quick_exit.c +++ b/stdlib/at_quick_exit.c @@ -43,6 +43,7 @@ extern void *__dso_handle __attribute__ ((__weak__)); /* Register FUNC to be executed by `quick_exit'. */ int +attribute_hidden at_quick_exit (void (*func) (void)) { return __cxa_at_quick_exit ((void (*) (void *)) func, diff --git a/stdlib/cxa_at_quick_exit.c b/stdlib/cxa_at_quick_exit.c index 45c5f5e84c..2c6d688462 100644 --- a/stdlib/cxa_at_quick_exit.c +++ b/stdlib/cxa_at_quick_exit.c @@ -25,7 +25,6 @@ struct exit_function_list *__quick_exit_funcs = &initial_quick; /* Register a function to be called by quick_exit. */ int -attribute_hidden __cxa_at_quick_exit (void (*func) (void *), void *d) { return __internal_atexit (func, NULL, d, &__quick_exit_funcs); diff --git a/stdlib/exit.c b/stdlib/exit.c index 539ae4bd7e..2235990285 100644 --- a/stdlib/exit.c +++ b/stdlib/exit.c @@ -97,6 +97,6 @@ __run_exit_handlers (int status, struct exit_function_list **listp, void exit (int status) { - __run_exit_handlers (status, __exit_funcs, true); + __run_exit_handlers (status, &__exit_funcs, true); } libc_hidden_def (exit) diff --git a/stdlib/exit.h b/stdlib/exit.h index 948948d19b..d5013218a6 100644 --- a/stdlib/exit.h +++ b/stdlib/exit.h @@ -66,13 +66,13 @@ extern struct exit_function *__new_exitfn (struct exit_function_list **listp); extern uint64_t __new_exitfn_called attribute_hidden; extern void __run_exit_handlers (int status, struct exit_function_list **listp, - bool run_list_atexit) attribute_hidden; + bool run_list_atexit) + attribute_hidden __attribute__ ((__noreturn__)); extern int __internal_atexit (void (*func) (void *), void *arg, void *d, struct exit_function_list **listp) attribute_hidden; -extern int __cxa_at_quick_exit (void (*func) (void *), void *d) - attribute_hidden; +extern int __cxa_at_quick_exit (void (*func) (void *), void *d); #endif /* exit.h */ diff --git a/stdlib/quick_exit.c b/stdlib/quick_exit.c index 20cb409b7d..d6306240c4 100644 --- a/stdlib/quick_exit.c +++ b/stdlib/quick_exit.c @@ -26,5 +26,5 @@ void quick_exit (int status) { - __run_exit_handlers (status, __quick_exit_funcs, false); + __run_exit_handlers (status, &__quick_exit_funcs, false); } |