about summary refs log tree commit diff
path: root/stdlib/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/Makefile')
-rw-r--r--stdlib/Makefile13
1 files changed, 11 insertions, 2 deletions
diff --git a/stdlib/Makefile b/stdlib/Makefile
index 6faa1c54f7..193c42b284 100644
--- a/stdlib/Makefile
+++ b/stdlib/Makefile
@@ -29,7 +29,7 @@ routines	:=							      \
 	abort								      \
 	bsearch qsort msort						      \
 	getenv putenv setenv secure-getenv				      \
-	exit on_exit atexit cxa_atexit cxa_finalize			      \
+	exit on_exit atexit cxa_atexit cxa_finalize old_atexit		      \
 	abs labs llabs							      \
 	div ldiv lldiv							      \
 	mblen mbstowcs mbtowc wcstombs wctomb				      \
@@ -49,6 +49,11 @@ routines	:=							      \
 	strtoimax strtoumax wcstoimax wcstoumax				      \
 	getcontext setcontext makecontext swapcontext
 
+# These routines will be omitted from the libc shared object.
+# Instead the static object files will be included in a special archive
+# linked against when the shared library will be used.
+static-only-routines = atexit
+
 distribute	:= exit.h grouping.h abort-instr.h isomac.c tst-fmtmsg.sh
 test-srcs	:= tst-fmtmsg
 tests		:= tst-strtol tst-strtod testmb testrand testsort testdiv \
@@ -81,6 +86,10 @@ CFLAGS-strfmon.c = -D_IO_MTSAFE_IO
 CFLAGS-strfmon_l.c = -D_IO_MTSAFE_IO
 endif
 
+ifeq (yes,$(have-protected))
+CFLAGS-atexit.c = -DHAVE_DOT_HIDDEN
+endif
+
 include ../Rules
 
 
@@ -141,7 +150,7 @@ test-canon-ARGS = --test-dir=${common-objpfx}stdlib
 tst-strtod-ENV = LOCPATH=$(common-objpfx)localedata
 
 # Run a test on the header files we use.
-tests: $(objpfx)isomac.out 
+tests: $(objpfx)isomac.out
 
 ifeq (no,$(cross-compiling))
 tests: $(objpfx)tst-fmtmsg.out