aboutsummaryrefslogtreecommitdiff
path: root/newlib/libc/stdlib/on_exit.c
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2015-12-21 11:49:28 -0500
committerJeff Johnston <jjohnstn@redhat.com>2015-12-21 11:49:28 -0500
commitd2bb300b9bb7917d33e3bc37fca3bf6ee6e5fcc4 (patch)
tree5b55b35d828623191420773e7b0e5a42387f0107 /newlib/libc/stdlib/on_exit.c
parentddb7e770dd48a97fe80cca3ab3b26d85f3ac5139 (diff)
downloadnewlib-d2bb300b9bb7917d33e3bc37fca3bf6ee6e5fcc4.zip
newlib-d2bb300b9bb7917d33e3bc37fca3bf6ee6e5fcc4.tar.gz
newlib-d2bb300b9bb7917d33e3bc37fca3bf6ee6e5fcc4.tar.bz2
Add static instance of _on_exit_args for _REENT_SMALL platforms.
2015-12-21 Freddie Chopin <freddie.chopin@gmail.com> * libc/stdlib/on_exit_args.{c,h}: New files. * libc/stdlib/Makefile.am: Add new source file. * libc/stdlib/Makefile.in: Regenerate. * libc/stdlib/__atexit.c (__register_exitproc): Initialize _on_exit_args_ptr field of _GLOBAL_ATEXIT on first run. * libc/stdlib/on_exit.c: Force linking of static instance of _on_exit_args. * libc/stdlib/cxa_atexit.c: Likewise.
Diffstat (limited to 'newlib/libc/stdlib/on_exit.c')
-rw-r--r--newlib/libc/stdlib/on_exit.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/newlib/libc/stdlib/on_exit.c b/newlib/libc/stdlib/on_exit.c
index b7fd130..a405b1b 100644
--- a/newlib/libc/stdlib/on_exit.c
+++ b/newlib/libc/stdlib/on_exit.c
@@ -58,6 +58,15 @@ Supporting OS subroutines required: None
#include <stdlib.h>
#include "atexit.h"
+#ifdef _REENT_SMALL
+
+#include "on_exit_args.h"
+
+/* force linking of static instance of _on_exit_args */
+const void * const __on_exit_dummy = &__on_exit_args;
+
+#endif /* def _REENT_SMALL */
+
/*
* Register a function to be performed at exit.
*/