aboutsummaryrefslogtreecommitdiff
path: root/stdlib
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/Depend1
-rw-r--r--stdlib/Makefile44
-rw-r--r--stdlib/abort.c140
-rw-r--r--stdlib/add_n.c62
-rw-r--r--stdlib/addmul_1.c65
-rw-r--r--stdlib/bits/monetary-ldbl.h28
-rw-r--r--stdlib/bits/stdlib-ldbl.h44
-rw-r--r--stdlib/bits/stdlib.h115
-rw-r--r--stdlib/bug-strtod2.c46
-rw-r--r--stdlib/canonicalize.c9
-rw-r--r--stdlib/cmp.c56
-rw-r--r--stdlib/cxa_atexit.c73
-rw-r--r--stdlib/cxa_finalize.c33
-rw-r--r--stdlib/dbl2mpn.c32
-rw-r--r--stdlib/div.c86
-rw-r--r--stdlib/divmod_1.c208
-rw-r--r--stdlib/divrem.c245
-rw-r--r--stdlib/exit.c34
-rw-r--r--stdlib/exit.h5
-rw-r--r--stdlib/fmtmsg.c78
-rw-r--r--stdlib/fpioconst.c2
-rw-r--r--stdlib/gen-mpn-copy35
-rw-r--r--stdlib/getcontext.c32
-rw-r--r--stdlib/getenv.c98
-rw-r--r--stdlib/inlines.c3
-rw-r--r--stdlib/jrand48_r.c4
-rw-r--r--stdlib/labs.c29
-rw-r--r--stdlib/ldbl2mpn.c1
-rw-r--r--stdlib/ldiv.c54
-rw-r--r--stdlib/llabs.c31
-rw-r--r--stdlib/lldiv.c57
-rw-r--r--stdlib/longlong.h153
-rw-r--r--stdlib/lshift.c87
-rw-r--r--stdlib/makecontext.c30
-rw-r--r--stdlib/mod_1.c197
-rw-r--r--stdlib/monetary.h7
-rw-r--r--stdlib/mp_clz_tab.c37
-rw-r--r--stdlib/mpn2dbl.c30
-rw-r--r--stdlib/mpn2flt.c30
-rw-r--r--stdlib/mpn2ldbl.c1
-rw-r--r--stdlib/mul.c152
-rw-r--r--stdlib/mul_1.c59
-rw-r--r--stdlib/mul_n.c401
-rw-r--r--stdlib/on_exit.c10
-rw-r--r--stdlib/putenv.c72
-rw-r--r--stdlib/random_r.c28
-rw-r--r--stdlib/rshift.c88
-rw-r--r--stdlib/setcontext.c32
-rw-r--r--stdlib/setenv.c353
-rw-r--r--stdlib/stdlib.h162
-rw-r--r--stdlib/strfmon.c8
-rw-r--r--stdlib/strfmon_l.c84
-rw-r--r--stdlib/strtod.c15
-rw-r--r--stdlib/strtod_l.c101
-rw-r--r--stdlib/strtoimax.c1
-rw-r--r--stdlib/strtol.c111
-rw-r--r--stdlib/strtol_l.c564
-rw-r--r--stdlib/strtold.c36
-rw-r--r--stdlib/strtold_l.c58
-rw-r--r--stdlib/strtoll.c34
-rw-r--r--stdlib/strtoll_l.c28
-rw-r--r--stdlib/strtoul.c21
-rw-r--r--stdlib/strtoul_l.c28
-rw-r--r--stdlib/strtoull.c34
-rw-r--r--stdlib/strtoull_l.c29
-rw-r--r--stdlib/strtoumax.c1
-rw-r--r--stdlib/sub_n.c62
-rw-r--r--stdlib/submul_1.c65
-rw-r--r--stdlib/swapcontext.c33
-rw-r--r--stdlib/system.c38
-rw-r--r--stdlib/test-canon.c22
-rw-r--r--stdlib/test-canon2.c2
-rw-r--r--stdlib/tst-atof1.c19
-rw-r--r--stdlib/tst-atof2.c55
-rw-r--r--stdlib/tst-fmtmsg.c32
-rw-r--r--stdlib/tst-makecontext.c67
-rw-r--r--stdlib/tst-putenv.c18
-rw-r--r--stdlib/tst-putenvmod.c17
-rw-r--r--stdlib/tst-rand48-2.c113
-rw-r--r--stdlib/tst-rand48.c28
-rw-r--r--stdlib/tst-random2.c59
-rw-r--r--stdlib/tst-setcontext.c6
-rw-r--r--stdlib/tst-strtod2.c44
-rw-r--r--stdlib/tst-strtod3.c55
-rw-r--r--stdlib/tst-strtod4.c56
-rw-r--r--stdlib/udiv_qrnnd.c10
-rw-r--r--stdlib/wcstoimax.c1
-rw-r--r--stdlib/wcstoumax.c1
88 files changed, 5211 insertions, 424 deletions
diff --git a/stdlib/Depend b/stdlib/Depend
new file mode 100644
index 0000000000..f3e1156a4e
--- /dev/null
+++ b/stdlib/Depend
@@ -0,0 +1 @@
+localedata
diff --git a/stdlib/Makefile b/stdlib/Makefile
index 5f4675033e..ecda85b0dd 100644
--- a/stdlib/Makefile
+++ b/stdlib/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2002, 2003, 2004 Free Software Foundation, Inc.
+# Copyright (C) 1991-2006, 2007 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -21,9 +21,12 @@
#
subdir := stdlib
-headers := stdlib.h alloca.h monetary.h fmtmsg.h ucontext.h sys/ucontext.h \
- inttypes.h stdint.h bits/wordsize.h bits/wchar.h \
- errno.h sys/errno.h bits/errno.h
+headers := stdlib.h bits/stdlib.h bits/stdlib-ldbl.h \
+ monetary.h bits/monetary-ldbl.h \
+ inttypes.h stdint.h bits/wordsize.h \
+ errno.h sys/errno.h bits/errno.h \
+ ucontext.h sys/ucontext.h \
+ alloca.h fmtmsg.h
routines := \
atof atoi atol atoll \
@@ -61,10 +64,17 @@ 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 \
test-canon test-canon2 tst-strtoll tst-environ \
- tst-xpg-basename tst-random tst-bsearch tst-limits \
- tst-rand48 bug-strtod tst-setcontext test-a64l tst-qsort \
- tst-system testmb2
+ tst-xpg-basename tst-random tst-random2 tst-bsearch \
+ tst-limits tst-rand48 bug-strtod tst-setcontext \
+ test-a64l tst-qsort tst-system testmb2 bug-strtod2 \
+ tst-atof1 tst-atof2 tst-strtod2 tst-strtod3 tst-rand48-2 \
+ tst-makecontext tst-strtod4
+include ../Makeconfig
+
+ifeq ($(build-shared),yes)
+tests += tst-putenv
+endif
# Several mpn functions from GNU MP are used by the strtod function.
mpn-routines := inlines add_n addmul_1 cmp divmod_1 divrem udiv_qrnnd \
@@ -75,18 +85,20 @@ routines := $(strip $(routines) $(mpn-routines)) \
dbl2mpn ldbl2mpn \
mpn2flt mpn2dbl mpn2ldbl
aux += fpioconst mp_clz_tab
-distribute := $(distribute) $(mpn-headers) gen-mpn-copy fpioconst.h
+distribute := $(distribute) $(mpn-headers) fpioconst.h tst-putenvmod.c
+
+tests-extras += tst-putenvmod
+extra-test-objs += tst-putenvmod.os
-generated += isomac isomac.out
+generated += isomac isomac.out tst-putenvmod.so
CFLAGS-bsearch.c = $(uses-callbacks)
CFLAGS-msort.c = $(uses-callbacks)
CFLAGS-qsort.c = $(uses-callbacks)
CFLAGS-system.c = -fexceptions
+CFLAGS-system.os = -fomit-frame-pointer
CFLAGS-fmtmsg.c = -fexceptions
-include ../Makeconfig
-
ifneq (,$(filter %REENTRANT, $(defines)))
CFLAGS-strfmon.c = -D_IO_MTSAFE_IO
CFLAGS-strfmon_l.c = -D_IO_MTSAFE_IO
@@ -105,6 +117,8 @@ include ../Rules
test-canon-ARGS = --test-dir=${common-objpfx}stdlib
tst-strtod-ENV = LOCPATH=$(common-objpfx)localedata
+tst-strtod3-ENV = LOCPATH=$(common-objpfx)localedata
+tst-strtod4-ENV = LOCPATH=$(common-objpfx)localedata
testmb2-ENV = LOCPATH=$(common-objpfx)localedata
# Run a test on the header files we use.
@@ -116,7 +130,7 @@ endif
$(objpfx)isomac.out: $(objpfx)isomac
$(dir $<)$(notdir $<) '$(CC)' \
- '-I../include -I.. $(+sysdep-includes) $(sysincludes)' > $<.out
+ '-I../include $(+sysdep-includes) $(sysincludes) -I..' > $<.out
isomac-CFLAGS = -O
$(objpfx)isomac: isomac.c
@@ -124,3 +138,9 @@ $(objpfx)isomac: isomac.c
$(objpfx)tst-fmtmsg.out: tst-fmtmsg.sh $(objpfx)tst-fmtmsg
$(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)stdlib/
+
+$(objpfx)tst-putenv: $(objpfx)tst-putenvmod.so
+
+$(objpfx)tst-putenvmod.so: $(objpfx)tst-putenvmod