Commit Graph

268 Commits

Author SHA1 Message Date
Eric Blake b206478328 Avoid more compiler warnings.
* libc/stdlib/btowc.c: Add missing header.
* libc/stdlib/getopt.c (getopt_internal): Initialize variable.
* libc/stdlib/system.c (do_system) [__CYGWIN__]: Add declaration.
* libc/stdlib/wctob.c: Add missing header.
* libc/string/strcpy.c (strcpy): Avoid warnings.
* libc/string/strrchr.c (strrchr): Likewise.
2007-05-29 21:26:59 +00:00
Steve Ellcey d9a1ecc006 * ltmain.sh: Update from GCC.
* libtool.m4: Update from GCC.
	* ltsugar.m4: New. Update from GCC.
	* ltversion.m4: New. Update from GCC.
	* ltoptions.m4: New. Update from GCC.
	* ltconfig: Remove.
	* ltcf-c.sh: Remove.
	* ltcf-cxx.sh: Remove.
	* ltcf-gcj.sh: Remove.
	* src-release: Update with new libtool file list.
	* newlib/*/configure.in: invoke _LD_DECL_SED.
	* newlib/*/Makefile.am: Ensure toplevel is included in ACLOCAL_AMFLAGS.
	* Regenerate subdirectories
2007-05-24 17:33:42 +00:00
Eric Blake 895d76fed6 * libc/include/math.h (INFINITY, NAN, FP_ILOGB0, FP_ILOGBNAN)
(MATH_ERRNO, MATH_ERREXCEPT, math_errhandling): Add macros
	required by POSIX.
	* libc/stdlib/ldtoa.c (USE_INFINITY): Rename from INFINITY, to
	avoid clash with <math.h>.
2007-05-16 19:59:40 +00:00
Eric Blake f65607751c * libc/stdlib/wctomb_r.c (_wctomb_r): Avoid gcc warnings on cygwin.
* libc/search/hash.c (__hash_open): Likewise.
2007-05-16 19:31:08 +00:00
Jeff Johnston 714d0b7a88 2007-04-23 Ralf Wildenhues <Ralf.Wildenhues <at> gmx.de>
* confsubdir.m4 (AC_CONFIG_SUBDIRS, _AC_OUTPUT_SUBDIRS): New
        file.  Override Autoconf-2.59's version of these macros with
        fixed handling of multiple adjacent whitespace in arguments.
        * aclocal.m4: Regenerated forcefully.
        * configure: Ditto.
        * Makefile.in: Ditto.
        * libc/*Makefile.in: Ditto.
        * libc/*aclocal.m4: Ditto.
        * libc/*configure: Ditto.
        * libm/*Makefile.in: Ditto.
        * libm/*aclocal.m4: Ditto.
        * libm/*configure: Ditto.
2007-04-23 22:52:37 +00:00
Kazu Hirata 0efa93c061 * libc/stdlib/__call_atexit.c (__call_exitprocs): Handle atexit
functions registering additional atexit functions.
2007-04-05 16:47:38 +00:00
Jeff Johnston 0733ae3bca 2007-01-31 Kazunori Asayama <asayama@sm.sony.co.jp>
* configure.host: Define stdio directory as a variable.
	* libc/Makefile.am: Define stdio related names
	as macros.
	* libc/configure.in: Add detection routine of stdio directory.
	* libc/Makefile.in: Regenerated.
	* libc/configure: Ditto.
	* libc/argz/Makefile.in: Ditto.
	* libc/ctype/Makefile.in: Ditto.
	* libc/errno/Makefile.in: Ditto.
	* libc/iconv/Makefile.in: Ditto.
	* libc/iconv/ccs/Makefile.in: Ditto.
	* libc/iconv/ccs/binary/Makefile.in: Ditto.
	* libc/iconv/ces/Makefile.in: Ditto.
	* libc/iconv/lib/Makefile.in: Ditto.
	* libc/locale/Makefile.in: Ditto.
	* libc/misc/Makefile.in: Ditto.
	* libc/posix/Makefile.in: Ditto.
	* libc/reent/Makefile.in: Ditto.
	* libc/search/Makefile.in: Ditto.
	* libc/signal/Makefile.in: Ditto.
	* libc/stdio/Makefile.in: Ditto.
	* libc/stdio64/Makefile.in: Ditto.
	* libc/stdlib/Makefile.in: Ditto.
	* libc/string/Makefile.in: Ditto.
	* libc/syscalls/Makefile.in: Ditto.
	* libc/time/Makefile.in: Ditto.
	* libc/unix/Makefile.in: Ditto.
2007-01-31 19:34:38 +00:00
Jeff Johnston 78b7c6f817 2006-12-18 Jeff Johnston <jjohnstn@redhat.com>
* aclocal.m4 */aclocal.m4: Regenerated using aclocal 1.9.6.
        * Makefile.in */Makefile.in: Regenerated using automake 1.9.6.
2006-12-18 20:32:52 +00:00
Jeff Johnston f522256075 2006-12-18 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/mallocr.c (malloc_extend_top): Add patch from
        2.6.5 version of Doug Lea's malloc which is the basis of
        this code.
2006-12-18 20:21:48 +00:00
Jeff Johnston 8f9f25dad8 2006-09-12 Paul Brook <paul@codesourcery.com>
* libc/stdlib/rand.c (srand): Add _REENT_CHECK_RAND48.
2006-09-12 17:31:40 +00:00
Jeff Johnston 079b45dc00 2006-08-03 J"orn Rennecke <joern.rennecke@st.com>
* dtoa.c (dtoa_r): Handle the denormalized _DOUBLE_IS_32BITS case
        properly.
2006-08-03 16:56:05 +00:00
Jeff Johnston b0b9243869 2006-07-05 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/mprec.h [_DOUBLE_IS_32BITS]: Turn off C99 hex
        floating-point format support.  Also redefine
        dword0 and dword1 macros.
        * libc/stdlib/strtod.c: Add checks for _DOUBLE_IS_32BITS
        to prevent setting dword1 which is an rvalue only.
2006-07-05 16:18:30 +00:00
Jeff Johnston f489b5943c 2006-06-22 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/Makefile.am: Add new gdtoa routines.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/stdlib/gd_qnan.h: New file.
        * libc/stdlib/gdtoa-gethex.c: Ditto.
        * libc/stdlib/gdtoa-hexnan.c: Ditto.
        * libc/stdlib/gdtoa.h: Ditto.
        * libc/stdlib/mprec.c: Add new helper routines needed by
        the new gdtoa code.
        * libc/stdlib/mprec.h: Integrate some defines and prototypes
        used by gdtoa routines here.
        * libc/stdlib/strtod.c: Rebased on David M. Gay's gdtoa-strtod.c
        which adds C99 support such as nan, inf, and hexadecimal input
        format.
2006-06-22 17:59:52 +00:00
Jeff Johnston 8f8f1db12f 2006-05-01 Jeff Johnston <jjohnstn@redhat.com>
* libc/argz/Makefile.am: Prefix any objects specified with $(lpfx).  If source file can
        be specified instead of object, do so.
        * libc/ctype/Makefile.am: Ditto.
        * libc/iconv/ccs/Makefile.am: Ditto.
        * libc/iconv/ces/Makefile.am: Ditto.
        * libc/iconv/lib/Makefile.am: Ditto.
        * libc/locale/Makefile.am: Ditto.
        * libc/posix/Makefile.am: Ditto.
        * libc/reent/Makefile.am: Ditto.
        * libc/search/Makefile.am: Ditto.
        * libc/stdio/Makefile.am: Ditto.
        * libc/stdio64/Makefile.am: Ditto.
        * libc/stdlib/Makefile.am: Ditto.
        * libc/string/Makefile.am: Ditto.
        * libc/syscalls/Makefile.am: Ditto.
        * libc/unix/Makefile.am: Ditto.
        * libc/machine/a29k/Makefile.am: Specify lib_a_CCASFLAGS so .S files will get
        prefix added automatically.  Any specified rules must use $(lpfx) for
        object file names.
        * libc/machine/arm/Makefile.am: Ditto.
        * libc/machine/cris/Makefile.am: Ditto.
        * libc/machine/crx/Makefile.am: Ditto.
        * libc/machine/d10v/Makefile.am: Ditto.
        * libc/machine/d30v/Makefile.am: Ditto.
        * libc/machine/fr30/Makefile.am: Ditto.
        * libc/machine/frv/Makefile.am: Ditto.
        * libc/machine/h8300/Makefile.am: Ditto.
        * libc/machine/h8500/Makefile.am: Ditto.
        * libc/machine/hppa/Makefile.am: Ditto.
        * libc/machine/i386/Makefile.am: Ditto.
        * libc/machine/i960/Makefile.am: Ditto.
        * libc/machine/iq2000/Makefile.am: Ditto.
        * libc/machine/m32c/Makefile.am: Ditto.
        * libc/machine/m32r/Makefile.am: Ditto.
        * libc/machine/m68hc11/Makefile.am: Ditto.
        * libc/machine/m68k/Makefile.am: Ditto.
        * libc/machine/m88k/Makefile.am: Ditto.
        * libc/machine/mips/Makefile.am: Ditto.
        * libc/machine/mn10200/Makefile.am: Ditto.
        * libc/machine/mn10300/Makefile.am: Ditto.
        * libc/machine/mt/Makefile.am: Ditto.
        * libc/machine/necv70/Makefile.am: Ditto.
        * libc/machine/powerpc/Makefile.am: Ditto.
        * libc/machine/sh/Makefile.am: Ditto.
        * libc/machine/sh/Makefile.in: Ditto.
        * libc/machine/sparc/Makefile.am: Ditto.
        * libc/machine/tic4x/Makefile.am: Ditto.
        * libc/machine/tic80/Makefile.am: Ditto.
        * libc/machine/v850/Makefile.am: Ditto.
        * libc/machine/w65/Makefile.am: Ditto.
        * libc/machine/xscale/Makefile.am: Ditto.
        * libc/machine/xstormy16/Makefile.am: Ditto.
        * libc/machine/z8k/Makefile.am: Ditto.
        * libc/sys/a29khif/Makefile.am: Ditto.
        * libc/sys/arm/Makefile.am: Ditto.
        * libc/sys/d10v/Makefile.am: Ditto.
        * libc/sys/h8300hms/Makefile.am: Ditto.
        * libc/sys/h8500hms/Makefile.am: Ditto.
        * libc/sys/linux/Makefile.am: Ditto.
        * libc/sys/linux/linuxthreads/Makefile.am: Ditto.
        * libc/sys/linux/net/Makefile.am: Ditto.
        * libc/sys/linux/stdlib/Makefile.am: Ditto.
        * libc/sys/m88kbug/Makefile.am: Ditto.
        * libc/sys/mmixware/Makefile.am: Ditto.
        * libc/sys/rdos/Makefile.am: Ditto.
        * libc/sys/rtems/Makefile.am: Ditto.
        * libc/sys/sh/Makefile.am: Ditto.
        * libc/sys/sun4/Makefile.am: Ditto.
        * libc/sys/sysmec/Makefile.am: Ditto.
        * libc/sys/sysnec810/Makefile.am: Ditto.
        * libc/sys/sysnecv850/Makefile.am: Ditto.
        * libc/sys/sysvi386/Makefile.am: Ditto.
        * libc/sys/sysvnecv70/Makefile.am: Ditto.
        * libc/sys/tic80/Makefile.am: Ditto.
        * libc/sys/w65/Makefile.am: Ditto.
        * libc/sys/z8ksim/Makefile.am: Ditto.
        * libc/machine/necv70/fastmath.S: Renamed from .s file.
        * libc/machine/necv70/setjmp.S: Ditto.
        * libc/machine/necv70/fastmath.s: Removed.
        * libc/machine/necv70/setjmp.s: Ditto.
        * libc/machine/w65/*.S: New files renamed from .s files.
        * libc/machine/w65/*.s: Renamed and removed.
        * libc/sys/a29khif/*.S: New files renamed from .s files.
        * libc/sys/a29khif/*.s: Renamed and removed.
        * libc/sys/sysvi386/*.S: New files renamed from .s files.
        * libc/sys/sysvi386/*.s: Renamed and removed.
        * libc/sys/sysvnecv70/*.S: New files renamed from .s files.
        * libc/sys/sysvnecv70/*.s: Renamed and removed.
        * libc/*Makefile.in: Regenerated as appropriate.
2006-05-01 22:01:07 +00:00
Jeff Johnston 7ad962240c 2006-04-13 Ralf Corsepius <ralf.corsepius@rtems.org>
* acinclude.m4: New _NEWLIB_VERSION.
        * acinclude.m4(NEWLIB_CONFIGURE): AC_REQUIRE(_NEWLIB_VERSION).
        Use AC_CANONICAL_HOST instead of AC_CANONICAL_SYSTEM.
        Use new form of AC_INIT_AUTOMAKE.
        * configure.in: AC_PREREQ(2.59).
        Use autoconf-2.5.x version of AC_INIT.
        Use AC_CONFIG_FILES and autoconf-2.5x AC_OUTPUT instead of
        autoconf-2.13's AC_OUTPUT.
        * libm/configure.in: Ditto.
        * libm/machine/configure.in: Ditto.
        * libm/machine/i386/configure.in: Ditto.
        * libc/configure.in: Ditto.
        * libc/machine/a29k/configure.in: Ditto.
        * libc/machine/arm/configure.in: Ditto.
        * libc/machine/configure.in: Ditto.
        * libc/machine/mn10300/configure.in: Ditto.
        * libc/machine/powerpc/configure.in: Ditto.
        * libc/machine/z8k/configure.in: Ditto.
        * libc/machine/h8300/configure.in: Ditto.
        * libc/machine/mips/configure.in: Ditto.
        * libc/machine/crx/configure.in: Ditto.
        * libc/machine/m68hc11/configure.in: Ditto.
        * libc/machine/h8500/configure.in: Ditto.
        * libc/machine/xscale/configure.in: Ditto.
        * libc/machine/d10v/configure.in: Ditto.
        * libc/machine/fr30/configure.in: Ditto.
        * libc/machine/sh/configure.in: Ditto.
        * libc/machine/tic80/configure.in: Ditto.
        * libc/machine/m32r/configure.in: Ditto.
        * libc/machine/xstormy16/configure.in: Ditto.
        * libc/machine/i386/configure.in: Ditto.
        * libc/machine/d30v/configure.in: Ditto.
        * libc/machine/mn10200/configure.in: Ditto.
        * libc/machine/frv/configure.in: Ditto.
        * libc/machine/mt/configure.in: Ditto.
        * libc/machine/i960/configure.in: Ditto.
        * libc/machine/v850/configure.in: Ditto.
        * libc/machine/necv70/configure.in: Ditto.
        * libc/machine/tic4x/configure.in: Ditto.
        * libc/machine/cris/configure.in: Ditto.
        * libc/machine/m68k/configure.in: Ditto.
        * libc/machine/m32c/configure.in: Ditto.
        * libc/machine/hppa/configure.in: Ditto.
        * libc/machine/w65/configure.in: Ditto.
        * libc/machine/iq2000/configure.in: Ditto.
        * libc/machine/sparc/configure.in: Ditto.
        * libc/machine/m88k/configure.in: Ditto.
        * libc/sys/linux/configure.in: Ditto.
        * libc/sys/linux/machine/configure.in: Ditto.
        * libc/sys/linux/machine/i386/configure.in: Ditto.
        * libc/sys/linux/linuxthreads/configure.in: Ditto.
        * libc/sys/linux/linuxthreads/machine/configure.in: Ditto.
        * libc/sys/linux/linuxthreads/machine/i386/configure.in: Ditto.
        * libc/sys/arm/configure.in: Ditto.
        * libc/sys/configure.in: Ditto.
        * libc/sys/decstation/configure.in: Ditto.
        * libc/sys/a29khif/configure.in: Ditto.
        * libc/sys/sysnecv850/configure.in: Ditto.
        * libc/sys/d10v/configure.in: Ditto.
        * libc/sys/netware/configure.in: Ditto.
        * libc/sys/mmixware/configure.in: Ditto.
        * libc/sys/h8500hms/configure.in: Ditto.
        * libc/sys/sh/configure.in: Ditto.
        * libc/sys/tic80/configure.in: Ditto.
        * libc/sys/rdos/configure.in: Ditto.
        * libc/sys/sysmec/configure.in: Ditto.
        * libc/sys/sysvi386/configure.in: Ditto.
        * libc/sys/h8300hms/configure.in: Ditto.
        * libc/sys/sparc64/configure.in: Ditto.
        * libc/sys/arc/configure.in: Ditto.
        * libc/sys/sysnec810/configure.in: Ditto.
        * libc/sys/m88kbug/configure.in: Ditto.
        * libc/sys/sysvnecv70/configure.in: Ditto.
        * libc/sys/z8ksim/configure.in: Ditto.
        * libc/sys/rtems/configure.in: Ditto.
        * libc/sys/w65/configure.in: Ditto.
        * libc/sys/sun4/configure.in: Ditto.
        * doc/configure.in: Ditto.
        * iconvdata/configure.in: Ditto.
        * configure.in: Use AC_CONFIG_HEADER instead of AM_CONFIG_HEADER.
2006-04-13 19:56:32 +00:00
Jeff Johnston 34e666798a 2006-04-11 Jeff Johnston <jjohnstn@redhat.com>
* acinclude.m4: Properly add square brackets for
        AC_DEFUN macros.  Rewrite LIB_AC_PROG_CC to remove
        macros no longer available.  Add LIB_AM_PROG_AS to
        remove prereq of AC_PROG_CC.  Add LIB_AC_PROG_CC_GNU
        macro.  Substitute lpfx (library object prefix).
        * configure.host: Set lpfx depending on whether
        libtool is used or not.
        * configure.in: Individually specify libc and libm
        to AC_CONFIG_SUBDIRS.  Add square bracket quoting as
        necessary.
        * Makefile.am: Use $(lpfx) to get object names for
        math-library functions that should also be in libc.
        * libc/machine/configure.in: Use case statement to determine
        AC_CONFIG_SUBDIRS statement.
        * libc/sys/linux/linuxthreads/machine/configure.in: Ditto.
        * libc/sys/linux/machine/configure.in: Ditto.
        * libc/sys/configure.in: Ditto.
        * libm/machine/configure.in: Ditto.
        * libc/sys/linux/configure.in: Fix up AC_CONFIG_SUBDIRS.
        * libm/configure.in: Add AM_CONDITIONAL statement
        for HAVE_LIBM_MACHINE_DIR.
        * libc/machine/a29k/Makefile.am: Modified to work with
        latest automake.  Change includes setting AM_CCASFLAGS
        so building .S files will properly pick up flags used
        to build C files.
        * libc/machine/arm/Makefile.am: Ditto.
        * libc/machine/crx/Makefile.am: Ditto.
        * libc/machine/d10v/Makefile.am: Ditto.
        * libc/machine/d30v/Makefile.am: Ditto.
        * libc/machine/fr30/Makefile.am: Ditto.
        * libc/machine/frv/Makefile.am: Ditto.
        * libc/machine/h8300/Makefile.am: Ditto.
        * libc/machine/h8500/Makefile.am: Ditto.
        * libc/machine/hppa/Makefile.am: Ditto.
        * libc/machine/i386/Makefile.am: Ditto.
        * libc/machine/iq2000/Makefile.am: Ditto.
        * libc/machine/m32c/Makefile.am: Ditto.
        * libc/machine/m32r/Makefile.am: Ditto.
        * libc/machine/m68hc11/Makefile.am: Ditto.
        * libc/machine/m68k/Makefile.am: Ditto.
        * libc/machine/m88k/Makefile.am: Ditto.
        * libc/machine/mips/Makefile.am: Ditto.
        * libc/machine/mn10200/Makefile.am: Ditto.
        * libc/machine/mn10300/Makefile.am: Ditto.
        * libc/machine/mt/Makefile.am: Ditto.
        * libc/machine/necv70/Makefile.am: Ditto.
        * libc/machine/powerpc/Makefile.am: Ditto.
        * libc/machine/sh/Makefile.am: Ditto.
        * libc/machine/sparc/Makefile.am: Ditto.
        * libc/machine/tic4x/Makefile.am: Ditto.
        * libc/machine/tic80/Makefile.am: Ditto.
        * libc/machine/v850/Makefile.am: Ditto.
        * libc/machine/w65/Makefile.am: Ditto.
        * libc/machine/xscale/Makefile.am: Ditto.
        * libc/machine/xstormy16/Makefile.am: Ditto.
        * libc/machine/z8k/Makefile.am: Ditto.
        * libc/sys/a29khif/Makefile.am: Ditto.
        * libc/sys/arc/Makefile.am: Ditto.
        * libc/sys/arm/Makefile.am: Ditto.
        * libc/sys/d10v/Makefile.am: Ditto.
        * libc/sys/decstation/Makefile.am: Ditto.
        * libc/sys/h8300hms/Makefile.am: Ditto.
        * libc/sys/h8500hms/Makefile.am: Ditto.
        * libc/sys/linux/linuxthreads/machine/i386/Makefile.am: Ditto.
        * libc/sys/linux/machine/i386/Makefile.am: Ditto.
        * libc/sys/m88kbug/Makefile.am: Ditto.
        * libc/sys/mmixware/Makefile.am: Ditto.
        * libc/sys/netware/Makefile.am: Ditto.
        * libc/sys/rdos/Makefile.am: Ditto.
        * libc/sys/rtems/Makefile.am: Ditto.
        * libc/sys/sh/Makefile.am: Ditto.
        * libc/sys/sparc64/Makefile.am: Ditto.
        * libc/sys/sysmec/Makefile.am: Ditto.
        * libc/sys/sysnec810/Makefile.am: Ditto.
        * libc/sys/sysnecv850/Makefile.am: Ditto.
        * libc/sys/sysvi386/Makefile.am: Ditto.
        * libc/sys/sysvnecv70/Makefile.am: Ditto.
        * libc/sys/tic80/Makefile.am: Ditto.
        * libc/sys/w65/Makefile.am: Ditto.
        * libc/sys/z8ksim/Makefile.am: Ditto.
        * libm/machine/i386/Makefile.am: Ditto.
        * libc/sys/arm/Makefile.am: Ditto plus add EXTRA sources including
        trap.S so that automake will generate a .S.o suffix rule.
        * libc/argz/Makefile.am: Modified to work with
        latest automake.  Change includes adding lib_a_CFLAGS
        so automake doesn't complain about libtool and non-libtool
        libraries sharing objects.
        * libc/ctype/Makefile.am: Ditto.
        * libc/errno/Makefile.am: Ditto.
        * libc/iconv/ccs/Makefile.am: Ditto.
        * libc/iconv/ces/Makefile.am: Ditto.
        * libc/iconv/lib/Makefile.am: Ditto.
        * libc/locale/Makefile.am: Ditto.
        * libc/misc/Makefile.am: Ditto.
        * libc/posix/Makefile.am: Ditto.
        * libc/reent/Makefile.am: Ditto.
        * libc/search/Makefile.am: Ditto.
        * libc/signal/Makefile.am: Ditto.
        * libc/stdio/Makefile.am: Ditto.
        * libc/stdio64/Makefile.am: Ditto.
        * libc/stdlib/Makefile.am: Ditto.
        * libc/string/Makefile.am: Ditto.
        * libc/sys/linux/Makefile.am: Ditto.
        * libc/sys/linux/argp/Makefile.am: Ditto.
        * libc/sys/linux/cmath/Makefile.am: Ditto.
        * libc/sys/linux/dl/Makefile.am: Ditto.
        * libc/sys/linux/iconv/Makefile.am: Ditto.
        * libc/sys/linux/intl/Makefile.am: Ditto.
        * libc/sys/linux/linuxthreads/Makefile.am: Ditto.
        * libc/sys/linux/net/Makefile.am: Ditto.
        * libc/sys/linux/stdlib/Makefile.am: Ditto.
        * libc/syscalls/Makefile.am: Ditto.
        * libc/time/Makefile.am: Ditto.
        * libc/unix/Makefile.am: Ditto.
        * libm/Makefile.am: Ditto.
        * libm/common/Makefile.am: Ditto.
        * libm/math/Makefile.am: Ditto.
        * libm/mathfp/Makefile.am: Ditto.
        * Regenerate all aclocal.m4, Makefile.in, and configure files.
2006-04-11 19:02:16 +00:00
Mark Mitchell 3078fb4f36 * acconfig.h (_ATEXIT_DYNAMIC_ALLOC): Undef.
* configure.in (--disable-newlib-atexit-dynamic-alloc): New
	option.
	* configure: Regenerated.
	* newlib.hin: Regenerated.
	* libc/stdlib/__atexit.c (__register_exitproc): Don't call malloc
	if _ATEXIT_DYNAMIC_ALLOC is undefined.
	* libc/stdlib/__call_atexit.c (__call_exitprocs): Don't call free
	if _ATEXIT_DYNAMIC_ALLOC is undefined.
2006-03-21 00:57:34 +00:00
Jeff Johnston 791c9bda57 2006-01-04 Gregory Pietsch <gpietsch@comcast.net>
* libc/stdlib/getopt.c: Replaced with version
        that adds getopt_long and getopt_long_only support.
        * libc/include/getopt.h: New file.
2006-01-04 21:21:52 +00:00
Jeff Johnston 239c2bf93e 2005-10-28 Bob Wilson <bob.wilson@acm.org>
* libc/misc/unctrl.c: Replace FUNCTION description.
        * libc/signal/signal.c: Remove documentation for raise and  _raise_r.
        * libc/stdio/getdelim.c: Fix spelling errors.
        * libc/stdio/getw.c: Put RETURNS on a separate line.  Fix  punctuation.
        * libc/stdio/putw.c: Likewise.
        * libc/stdlib/a64l.c: Fix formatting, spelling and  punctuation in
        documentation.
        * libc/stdlib/assert.c: Do not capitalize FUNCTION description.
        * libc/stdlib/efgcvt.c: Add spaces to FUNCTION description.
        * libc/stdlib/envlock.c: Use em-dash in FUNCTION description.
        * libc/stdlib/mlock.c: Likewise.
        * libc/stdlib/mstats.c: Likewise.
        * libc/time/tzlock.c: Likewise.
        * libc/stdlib/rand.c: Use "multi-threaded" and "thread-safe"  in NOTES.
        * libc/stdlib/rand48.c: Remove extra space in FUNCTION  description
        and hyphenate "pseudo-random".
        * libc/string/bcmp.c: Remove extra blank lines in  documentation.
        * libc/string/strncat.c: Likewise.
        * libc/string/memchr.c: Remove extra ">" character in  documentation.
        * libc/string/strcspn.c: Use "characters" instead of "chars".
        * libc/string/strpbrk.c: Likewise.
        * libc/string/strerror_r.c: Capitalize "GNU".
        * libc/string/strnlen.c: Likewise.
        * libc/string/strtok.c: Fix formatting, spelling and  punctuation in
        documentation.  Use "multi-threaded" and "thread-safe" in  NOTES.
        * libc/string/wcscat.c: Split PORTABILITY into two paragraphs.
        * libc/string/wcschr.c: Likewise.
        * libc/string/wcscmp.c: Likewise.
        * libc/string/wcscpy.c: Likewise.
        * libc/string/wcscspn.c: Likewise.
        * libc/string/wcslen.c: Likewise.
        * libc/string/wcsncat.c: Likewise.
        * libc/string/wcsncmp.c: Likewise.
        * libc/string/wcsncpy.c: Likewise.
        * libc/string/wcsnlen.c: Likewise.
        * libc/string/wcspbrk.c: Likewise.
        * libc/string/wcsrchr.c: Likewise.
        * libc/string/wcsspn.c: Likewise.
        * libc/string/wmemchr.c: Likewise.
        * libc/string/wmemcmp.c: Likewise.
        * libc/string/wmemcpy.c: Likewise.
        * libc/string/wmemset.c: Likewise.
        * libc/string/wmemmove.c: Likewise.  Also fix FUNCTION  description.
        * libc/string/wcswidth.c: Formatting and punctuation in  documentation.
        * libc/string/wcwidth.c: Likewise.
        * libm/common/s_modf.c: Remove extra period from documentation.
        * libm/math/s_isnan.c: Fix formatting, grammar and  punctuation in
        documentation.
        * libm/mathfp/s_isnan.c: Likewise.
        * libm/math/s_ldexp.c: Fix punctuation.
        * libm/mathfp/s_ldexp.c: Likewise.
        * libm/math/w_log.c: Likewise.
        * libm/mathfp/s_logarithm.c: Likewise.
        * libm/math/w_j0.c: Add spaces to FUNCTION description.
        * libm/mathfp/w_jn.c: Likewise.
2005-10-28 21:21:08 +00:00
Jeff Johnston f011605a90 2005-10-07 Bob Wilson <bob.wilson@acm.org>
* libc/stdlib/mallocr.c (mALLOc, rEALLOCc, mEMALIGn): Set errno
        to ENOMEM on failure.
2005-10-07 18:07:26 +00:00
Jeff Johnston 68cdbb18da 2005-06-16 Christopher Faylor <cgf@timesys.com>
* libc/stdio/vfprintf.c (cvt): Don't rely on pointer aliasing to
        determine characteristics of long double.  Use a union instead.
        * ldtoa.c (_ldtoa_r): Ditto.
        (_ldcheck): Ditto.
        (_strtold): Ditto.
        (union uconv): New union.
2005-06-16 19:14:01 +00:00
Jeff Johnston 15c04fd16e 2005-06-03 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/mallocr.c (MALLOC_COPY): Switch to use memmove
        instead of memcpy.
2005-06-03 18:57:30 +00:00
Corinna Vinschen fefc73a0c7 * libc/stdlib/strtod.c (_strtod_r): Never change s00. 2005-04-01 09:54:19 +00:00
Jeff Johnston 1159e0fd94 2005-02-07 Antony King <antony.king@st.com>
* libc/stdio/clearerr.c (clearerr): Ensure CHECK_INIT() is
        called before _flockfile to prevent lock object use before
        initialisation. _REENT_SMALL_CHECK_INIT() and CHECK_INIT()
        take a struct _reent * instead of a FILE *.
        * libc/stdio/fclose.c (_fclose_r): Ditto.
        * libc/stdio/feof.c (feof): Ditto.
        * libc/stdio/ferror.c (ferror): Ditto.
        * libc/stdio/fflush.c (fflush): Ditto.
        * libc/stdio/fgetc.c (fgetc): Ditto.
        * libc/stdio/fgets.c (fgets): Ditto.
        * libc/stdio/fileno.c (fileno): Ditto.
        * libc/stdio/fputc.c (fputc): Ditto.
        * libc/stdio/fputs.c (fputs): Ditto.
        * libc/stdio/fread.c (fread): Ditto.
        * libc/stdio/freopen.c (_freopen_r): Ditto.
        * libc/stdio/fseek.c (_fseek_r): Ditto.
        * libc/stdio/ftell.c (_ftell_r): Ditto.
        * libc/stdio/fwrite.c (fwrite): Ditto.
        * libc/stdio/getc.c (getc): Ditto.
        * libc/stdio/getdelim.c (__getdelim): Ditto.
        * libc/stdio/putc.c (putc): Ditto.
        * libc/stdio/setvbuf.c (setvbuf): Ditto.
        * libc/stdio/ungetc.c (_ungetc_r): Ditto.
        * libc/stdio/vfprintf.c (_VFPRINTF_R): Ditto.
        * libc/stdio64/freopen64.c (_freopen64_r): Ditto.
        * libc/stdio64/fseeko64.c (_fseeko64_r): Ditto.
        * libc/stdio64/ftello64.c (_ftello64_r): Ditto.
        * libc/stdio/local.h (CHECK_INIT): Argument is now a struct
        _reent * instead of a FILE * and so replace incorrect use of
        _REENT with argument.
        * libc/sys/arm/syscalls.c (CHECK_INIT): Ditto.
        * libc/stdio/getchar.c (getchar): _REENT_SMALL_CHECK_INIT() and
        CHECK_INIT() take a struct _reent * instead of a FILE *.
        * libc/stdio/iprintf.c (iprintf, _iprintf_r): Ditto.
        * libc/stdio/iscanf.c (iscanf, _iscanf_r): Ditto.
        * libc/stdio/perror.c (perror): Ditto.
        * libc/stdio/printf.c (printf, _printf_r): Ditto.
        * libc/stdio/putchar.c (putchar): Ditto.
        * libc/stdio/puts.c (puts): Ditto.
        * libc/stdio/refill.c (__srefill): Ditto.
        * libc/stdio/scanf.c (scanf, _scanf_r): Ditto.
        * libc/stdio/vfscanf.c (VFSCANF, _VFSCANF_R): Ditto.
        * libc/stdio/viprintf.c (viprintf, _viprintf_r): Ditto.
        * libc/stdio/viscanf.c (viscanf, _viscanf_r): Ditto.
        * libc/stdio/vprintf.c (vprintf, _vprintf_r): Ditto.
        * libc/stdio/vscanf.c (vscanf, _vscanf_r): Ditto.
        * libc/stdio/wbuf.c (__swbuf): Ditto.
        * libc/stdio/wsetup.c (__swsetup): Ditto.
        * libc/stdlib/mallocr.c (malloc_stats): Ditto.
        * libc/stdlib/mstats.c (_mstats_r): Ditto.
        * libc/include/sys/reent.h (_REENT_SMALL_CHECK_INIT): Ditto.
        * libc/machine/powerpc/vfscanf.c (vfscanf): Ditto.
        * libc/stdio/fgetpos.c (_fgetpos_r): Removed unnecessary calls
        to _flockfile and _funlockfile; rely on locking in _ftell_r.
        * libc/stdio64/fgetpos64.c (_fgetpos64_r): Ditto (_ftello64_r).
        * libc/machine/powerpc/vfprintf.c (__sbprintf): Removed unnecessary
        initialision of _data field in FILE structure.
        * libc/machine/powerpc/vfprintf.c (VFPRINTF): Added CHECK_INIT() call.
2005-02-08 01:33:19 +00:00
Jeff Johnston 524298079c 2005-01-19 Shaun Jackman <sjackman@gmail.com>
* libc/stdlib/setenv_r.c (_setenv_r): Call tzset() if the TZ
        environment variable is set.
2005-01-20 17:31:04 +00:00
Jeff Johnston 8fa6cb9a5d 2005-01-06 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/strtod.c (_strtod_r): Add NaN support.
        * (strtof): Ditto.
        * libc/stdio/vfscanf.c (__svfscanf_r): Ditto.
        * Makefile.am (MATHOBJS_IN_LIBC): Add s_nan and sf_nan
        functions for use by strtod and strtof.
        * Makefile.in: Regenerated.
2005-01-06 23:31:56 +00:00
Jeff Johnston c41a1cb7d8 2004-11-24 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h (putenv, _putenv_r): Change to remove
        const for value string parameter.
        * libc/stdlib/putenv.c: Ditto.
        * libc/stdlib/putenv_r.c: Ditto.
2004-11-24 22:34:15 +00:00
Jeff Johnston 7a0f696676 2004-09-16 Antony King <antony.king@st.com>
* libc/stdio/fwalk.c (_fwalk): Remove check for _GLOBAL_REENT
        and only walk the reentrancy parameter.
        (_fwalk_reent): Ditto.
        * libc/stdlib/exit.c: Remove out of date _REENT_ONLY check.
2004-09-16 21:26:51 +00:00
Jeff Johnston 14613e5e74 2004-09-16 Antony King <antony.king@st.com>
* libc/ctype/ctype.tex: Added missing documentation.
        * libc/stdio/stdio.tex Ditto.
        * libc/stdlib/stdlib.tex Ditto.
        * libc/string/strings.tex Ditto.
        * libc/time/time.tex: Ditto.
        * libc/stdio/setbuffer.c: Removed setlinebuf documentation.
2004-09-16 21:15:14 +00:00
Jeff Johnston 51d4a7eae1 2004-09-15 Jeff Johnston <jjohnstn@redhat.com>
* configure.host: Reverting 2004-09-14 change as fix has occurred on
        Cygwin side.
        * configure.in: Ditto.
        * libc/configure.in: Ditto.
        * libc/sys/configure.in: Ditto.
        * configure: Ditto.
        * libc/configure: Ditto.
        * libc/sys/configure: Ditto.
        * libc/include/sys/reent.h: Ditto.
        * libc/stdlib/__atexit.c: Ditto.
        * libc/stdlib/__call_atexit.c: Ditto.
        * libc/stdlib/cxa_atexit.c: Ditto.
        * libc/stdlib/cxa_finalize.c: Ditto.
        * libc/sys/cygwin/Makefile.am: Removed again.
        * libc/sys/cygwin/Makefile.in: Ditto.
        * libc/sys/cygwin/aclocal.m4: Ditto.
        * libc/sys/cygwin/configure: Ditto.
        * libc/sys/cygwin/configure.in: Ditto.
        * libc/sys/cygwin/dummy.c: Ditto.
        * libc/sys/cygwin/sys/reent.h: Ditto.
2004-09-15 20:50:08 +00:00
Jeff Johnston 98650d2fa2 2004-09-14 Jeff Johnston <jjohnstn@redhat.com>
* configure.host: Add Cygwin sys directory.
        * configure.in: Do not set CRT0 for cygwin.
        * libc/configure.in: Ditto.
        * libc/sys/configure.in: Ditto.
        * configure: Regenerated.
        * libc/configure: Ditto.
        * libc/sys/configure: Ditto.
        * libc/include/sys/reent.h: Add __REENT_HAS_CXA_SUPPORT flag.
        * libc/stdlib/__atexit.c: Keep cxa support protected by new
        __REENT_HAS_CXA_SUPPORT flag.
        * libc/stdlib/__call_atexit.c: Ditto.
        * libc/stdlib/cxa_atexit.c: Ditto.
        * libc/stdlib/cxa_finalize.c: Ditto.
        * libc/sys/cygwin/Makefile.am: New file.
        * libc/sys/cygwin/Makefile.in: Ditto.
        * libc/sys/cygwin/aclocal.m4: Ditto.
        * libc/sys/cygwin/configure: Ditto.
        * libc/sys/cygwin/configure.in: Ditto.
        * libc/sys/cygwin/dummy.c: Ditto.
        * libc/sys/cygwin/sys/reent.h: Ditto.  This file is stabilized
        version of reent.h.
2004-09-14 18:12:53 +00:00
Jeff Johnston 0c8593cf11 2004-09-09 Paul Brook <paul@codesourcery.com>
* libc/include/sys/reent.h (struct _on_exit_args): Add _dso_handle
        and _is_cxa.
        (struct _atexit): Add _next when _REENT_SMALL.
        (struct _reent): Add _atexit0 when _REENT_SMALL.
        (_REENT_INIT_PTR): Adjust.
        * libc/stdlib/Makefile.am (GENERAL_SOURCES): Add __atexit.c and
        __call_exit.c.
        (EXTENDED_SOURCES): Add cxa_atexit.c and cxa_finalize.c.
        * libc/stdlib/Makefile.in: Regenerate.
        * libc/stdlib/__atexit.c: New file.
        * libc/stdlib/__call_atexit.c: New file.
        * libc/stdlib/atexit.h: Remove old definitions.  Add new.
        * libc/stdlib/atexit.c (atexit): Use __register_exitproc.
        * libc/stdlib/cxa_atexit.c: New file.
        * libc/stdlib/cxa_finalize.c: New file.
        * libc/stdlib/exit.c (exit): Use __call_exitprocs.
        * libc/stdlib/on_exit.c (on_exit): Use __register_exitproc.
        2004-09-09  Jeff Johnston  <jjohnstn@redhat.com>
        * libc/reent/reent.c [_REENT_SMALL]: Fix reference to
        _on_exit_args_ptr.
2004-09-09 19:46:54 +00:00
Jeff Johnston d0bd3e6f56 2004-06-11 Antony King <antony.king@st.com>
* libc/include/sys/_types.h: Include <sys/lock.h> and change
        _flock_t to be of type _LOCK_RECURSIVE_T.
        * libc/include/sys/reent.h: (_REENT_INIT): Reformat.
        (_REENT_INIT_PTR): Ditto.  Use memset where appropriate.
        (_global_impure_ptr): New declaration.
        (_GLOBAL_REENT): Change to be _global_impure_ptr.
        * libc/include/sys/stdio.h: Include <sys/lock.h> and
        <sys/reent.h>.
        (_flockfile)[!_SINGLE_THREAD]: Add code for lock call.
        (_funlockfile)[!SINGLE_THREAD]: Ditto.
        * libc/reent/impure.c: Set _global_impure_ptr to _impure_ptr.
        * libc/stdio/fclose.c: Remove casting of fp lock to
        _LOCK_RECURSIVE_T.
        * libc/stdio/findfp.c: Ditto.
        * libc/stdio/fopen.c: Ditto.
        * libc/stdio/freopen.c: Ditto.
        * libc/stdio/vfprintf.c: Ditto.
        * libc/stdio64/fopen64.c: Ditto.
        * libc/stdlib/envlock.c: Add default stubs that use generic
        locking code.
        * libc/stdlib/mlock.c: Ditto.

        Jeff Johnston  <jjohnstn@redhat.com>
        * libc/sys/linux/sys/_types.h (__flock_mutex_t): New subtype.
        (_flock_t): Change to be a struct containing a single member
        named mutex which is of type __flock_mutex_t.
2004-06-11 20:37:10 +00:00
Jeff Johnston f777e3a5ac 2004-04-23 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* configure.in: Define _MB_CAPABLE if mb supported.
        * configure: Regenerated.
        * configure.host: Remove manual setting of MB_CAPABLE compiler
        flag.
        * newlib.hin: Add _MB_CAPABLE flag.
        * libc/ctype/iswalpha.c, libc/ctype/iswblank.c: Include <newlib.h>
        and check for _MB_CAPABLE flag instead of MB_CAPABLE.
        * libc/ctype/iswcntrl.c, libc/ctype/iswprint.c: Ditto.
        * libc/ctype/iswpunct.c, libc/ctype/iswspace.c: Ditto.
        * libc/ctype/jp2uc.c: Ditto.
        * libc/ctype/towlower.c, libc/ctype/towupper.c: Ditto.
        * libc/locale/locale.c: Ditto
        * libc/machine/powerpc/vfscanf.c: Ditto
        * libc/stdio/vfprintf.c, libc/stdio/vfscanf.c: Ditto
        * libc/stdlib/mblen.c: Ditto
        * libc/stdlib/mblen_r.c, libc/stdlib/mbrlen.c: Ditto
        * libc/stdlib/mbrtowc.c, libc/stdlib/mbsrtowcs.c: Ditto
        * libc/stdlib/mbstowcs.c, libc/stdlib/mbtowc.c: Ditto
        * libc/stdlib/mbtowc_r.c, libc/stdlib/wcrtomb.c: Ditto
        * libc/stdlib/wcsrtombs.c, libc/stdlib/wcstombs.c: Ditto
        * libc/stdlib/wctomb.c, libc/sys/linux/intl/dcigettext.c: Ditto
        * libc/sys/linux/intl/explodename.c: Ditto
        * libc/sys/linux/intl/finddomain.c: Ditto
        * libc/sys/linux/intl/l10nflist.c: Ditto
        * libc/sys/linux/intl/loadmsgcat.c: Ditto
        * libc/sys/linux/intl/localealias.c: Ditto
2004-04-23 21:44:22 +00:00
Jeff Johnston 6a6e493af4 2004-02-09 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/Makefile.am: Add mallstatsr to LIBADD_OBJS.
        * libc/stdlib/Makefile.in: Regenerated.
2004-02-09 21:47:47 +00:00
Jeff Johnston d5b6c23483 2004-01-27 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/atexit.c: Protect global atexit list with a
        lock when newlib is multithreaded.
2004-01-28 01:00:37 +00:00
Jeff Johnston 01e0a77749 2004-01-27 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* configure.in: Add support to generate iconv converter flags
	for newlib.h
	* newlib.hin: Add iconv converter flags.
	* configure: Regenerated.
	* libc/Makefile.in: Ditto.
	* libc/configure.in: Moved iconv converter parsing logic to
	top level newlib configure.in.
	* libc/configure: Regenerated.
	* libc/iconv/Makefile.in: Ditto.
	* libc/iconv/README.TODO
	* libc/iconv/charset.aliases: Remove wrong BE aliases for
	UCS2/UCS4/UTF8.
	* libc/iconv/ccs/Makefile.am: Remove C flag setting now that
	newlib.h can be used.
	* libc/iconv/ces/Makefile.am: Ditto.
	* libc/iconv/lib/Makefile.am: Ditto.
	* libc/iconv/ccs/Makefile.in: Regenerated.
	* libc/iconv/ces/Makefile.in: Ditto.
	* libc/iconv/lib/Makefile.in: Ditto.
	* libc/iconv/ccs/README.CCS.SOURCES: Updated.
	* libc/iconv/ccs/iconv_mktbl: Don't write junk strings to binaries.
	* libc/iconv/ccs/big5.c: Switch to use new underscored flags
	defined in newlib.h.
	* libc/iconv/ccs/cns11643_plane1.c: Ditto.
	* libc/iconv/ccs/cns11643_plane14.c: Ditto.
	* libc/iconv/ccs/cns11643_plane2.c: Ditto.
	* libc/iconv/ccs/cp775.c: Ditto.
	* libc/iconv/ccs/cp850.c: Ditto.
	* libc/iconv/ccs/cp852.c: Ditto.
	* libc/iconv/ccs/cp855.c: Ditto.
	* libc/iconv/ccs/cp866.c: Ditto.
	* libc/iconv/ccs/gb_2312_80.c: Ditto.
	* libc/iconv/ccs/iso_8859_1.c: Ditto.
	* libc/iconv/ccs/iso_8859_15.c: Ditto.
	* libc/iconv/ccs/iso_8859_2.c: Ditto.
	* libc/iconv/ccs/iso_8859_4.c: Ditto.
	* libc/iconv/ccs/iso_8859_5.c: Ditto.
	* libc/iconv/ccs/jis_x0201.c: Ditto.
	* libc/iconv/ccs/jis_x0208_1983.c: Ditto.
	* libc/iconv/ccs/jis_x0212_1990.c: Ditto.
	* libc/iconv/ccs/koi8_r.c: Ditto.
	* libc/iconv/ccs/koi8_u.c: Ditto.
	* libc/iconv/ccs/ksx1001.c: Ditto.
	* libc/iconv/ccs/shift_jis.c: Ditto.
	* libc/iconv/ccs/us_ascii.c: Ditto.
	* libc/iconv/ccs/binary/big5.cct: Newly generated.
	* libc/iconv/ccs/binary/cns11643_plane1.cct: Ditto.
	* libc/iconv/ccs/binary/cns11643_plane14.cct: Ditto.
	* libc/iconv/ccs/binary/cns11643_plane2.cct: Ditto.
	* libc/iconv/ccs/binary/cp775.cct: Ditto.
	* libc/iconv/ccs/binary/cp850.cct: Ditto.
	* libc/iconv/ccs/binary/cp852.cct: Ditto.
	* libc/iconv/ccs/binary/cp855.cct: Ditto.
	* libc/iconv/ccs/binary/cp866.cct: Ditto.
	* libc/iconv/ccs/binary/gb_2312_80.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_1.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_15.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_2.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_4.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_5.cct: Ditto.
	* libc/iconv/ccs/binary/jis_x0201.cct: Ditto.
	* libc/iconv/ccs/binary/jis_x0208_1983.cct: Ditto.
	* libc/iconv/ccs/binary/jis_x0212_1990.cct: Ditto.
	* libc/iconv/ccs/binary/koi8_r.cct: Ditto.
	* libc/iconv/ccs/binary/koi8_u.cct: Ditto.
	* libc/iconv/ccs/binary/ksx1001.cct: Ditto.
	* libc/iconv/ccs/binary/shift_jis.cct: Ditto.
	* libc/iconv/ccs/binary/us_ascii.cct: Ditto.
	* libc/iconv/lib/bialiasesi.c: Sync with charset.aliases.
	* libc/iconv/ces/euc-jp.c: Use newlib.h macros.
	* libc/iconv/ces/euc-kr.c: Ditto.
	* libc/iconv/ces/euc-tw.c: Ditto.
	* libc/iconv/ces/gb2312.c: Ditto.
	* libc/iconv/ces/iso-10646-ucs-2.c: Ditto.
	* libc/iconv/ces/iso-10646-ucs-4.c: Ditto.
	* libc/iconv/ces/ucs-2-internal.c: Ditto.
	* libc/iconv/ces/ucs-4-internal.c: Ditto.
	* libc/iconv/ces/utf-16.c: Ditto.
	* libc/iconv/ces/utf-8.c: Ditto.
	* libc/iconv/lib/aliases.c: Ditto.
	* libc/iconv/lib/biccs.c: Ditto.
	* libc/iconv/lib/bices.c: Ditto.
	* libc/iconv/lib/ccs.c: Ditto.
	* libc/iconv/lib/ces.c: Ditto.
	* libc/iconv/lib/ces_euc.c: Ditto.
	* libc/iconv/lib/ces_iso2022.c: Ditto.
	* libc/iconv/lib/ces_table.c: Ditto.
	* libc/iconv/lib/converter.c: Ditto.
	* libc/iconv/lib/deps.h: Ditto.
	* libc/iconv/lib/endian.h: Ditto.
	* libc/iconv/lib/iconv.c: Ditto.
	* libc/iconv/lib/loaddata.c: Ditto.
	* libc/iconv/lib/local.h: Include newlib.h.
	* libc/argz/Makefile.in: Regenerated.
	* libc/ctype/Makefile.in: Ditto.
	* libc/errno/Makefile.in: Ditto.
	* libc/iconv/ccs/binary/Makefile.in: Ditto.
	* libc/locale/Makefile.in: Ditto.
	* libc/misc/Makefile.in: Ditto.
	* libc/posix/Makefile.in: Ditto.
	* libc/reent/Makefile.in: Ditto.
	* libc/search/Makefile.in: Ditto.
	* libc/signal/Makefile.in: Ditto.
	* libc/stdio/Makefile.in: Ditto.
	* libc/stdio64/Makefile.in: Ditto.
	* libc/stdlib/Makefile.in: Ditto.
	* libc/string/Makefile.in: Ditto.
	* libc/syscalls/Makefile.in: Ditto.
	* libc/time/Makefile.in: Ditto.
	* libc/unix/Makefile.in: Ditto.
	* testsuite/newlib.iconv/iconv.exp: New file.
	* testsuite/newlib.iconv/iconvjp.c: Ditto.
	* testsuite/newlib.iconv/iconvnm.c: Ditto.
	* testsuite/newlib.iconv/iconvru.c: Ditto.
2004-01-27 23:26:26 +00:00
Jeff Johnston 786ab12ce2 2004-01-23 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* acinclude.m4 (--enable-newlib-iconv): New configuration option.
	(--enable-newlib-builtin-converters): Ditto.
	* configure.in: Add code to set _ICONV_ENABLED flag.
	Set _MB_LEN_MAX to 1 if not mb enabled.
	* configure: Regenerated.
	* aclocal.m4: Ditto.
	* Makefile.in: Ditto.
	* newlib.hin: Add _ICONV_ENABLED flag.
	* libc/Makefile.am: Add support for iconv.
	* libc/configure.in: Ditto.
	* libc/Makefile.in: Regenerated.
	* libc/aclocal.m4: Ditto.
	* libc/configure: Ditto.
	* libc/libc.texinfo: Add iconv documentation.
	* libc/iconv/AUTHORS, libc/iconv/COPYING, libc/iconv/Makefile.am,
	libc/iconv/Makefile.in, libc/iconv/README.ORIGINAL,
	libc/iconv/README.TODO, libc/iconv/charset.aliases,
	libc/iconv/iconv.tex, libc/iconv/ccs/Makefile.am,
	libc/iconv/ccs/Makefile.in, libc/iconv/ccs/README.CCS.SOURCES,
	libc/iconv/ccs/big5.c, libc/iconv/ccs/cns11643_plane1.c,
	libc/iconv/ccs/cns11643_plane14.c, libc/iconv/ccs/cns11643_plane2.c,
	libc/iconv/ccs/cp775.c, libc/iconv/ccs/cp850.c,
	libc/iconv/ccs/cp852.c, libc/iconv/ccs/cp855.c,
	libc/iconv/ccs/cp866.c, libc/iconv/ccs/gb_2312_80.c,
	libc/iconv/ccs/iconv_mktbl, libc/iconv/ccs/iso_8859_1.c,
	libc/iconv/ccs/iso_8859_15.c, libc/iconv/ccs/iso_8859_2.c,
	libc/iconv/ccs/iso_8859_4.c, libc/iconv/ccs/iso_8859_5.c,
	libc/iconv/ccs/jis_x0201.c, libc/iconv/ccs/jis_x0208_1983.c,
	libc/iconv/ccs/jis_x0212_1990.c, libc/iconv/ccs/koi8_r.c,
	libc/iconv/ccs/koi8_u.c, libc/iconv/ccs/ksx1001.c,
	libc/iconv/ccs/shift_jis.c, libc/iconv/ccs/us_ascii.c,
	libc/iconv/ccs/binary/Makefile.am, libc/iconv/ccs/binary/Makefile.in,
	libc/iconv/ccs/binary/big5.cct,
	libc/iconv/ccs/binary/cns11643_plane1.cct,
	libc/iconv/ccs/binary/cns11643_plane14.cct,
	libc/iconv/ccs/binary/cns11643_plane2.cct,
	libc/iconv/ccs/binary/cp775.cct, libc/iconv/ccs/binary/cp850.cct,
	libc/iconv/ccs/binary/cp852.cct, libc/iconv/ccs/binary/cp855.cct,
	libc/iconv/ccs/binary/cp866.cct, libc/iconv/ccs/binary/gb_2312_80.cct,
	libc/iconv/ccs/binary/iso_8859_1.cct,
	libc/iconv/ccs/binary/iso_8859_15.cct,
	libc/iconv/ccs/binary/iso_8859_2.cct,
	libc/iconv/ccs/binary/iso_8859_4.cct,
	libc/iconv/ccs/binary/iso_8859_5.cct,
	libc/iconv/ccs/binary/jis_x0201.cct,
	libc/iconv/ccs/binary/jis_x0208_1983.cct,
	libc/iconv/ccs/binary/jis_x0212_1990.cct,
	libc/iconv/ccs/binary/koi8_r.cct, libc/iconv/ccs/binary/koi8_u.cct,
	libc/iconv/ccs/binary/ksx1001.cct,
	libc/iconv/ccs/binary/shift_jis.cct,
	libc/iconv/ccs/binary/us_ascii.cct,
	libc/iconv/ces/Makefile.am, libc/iconv/ces/Makefile.in,
	libc/iconv/ces/euc-jp.c, libc/iconv/ces/euc-kr.c,
	libc/iconv/ces/euc-tw.c, libc/iconv/ces/gb2312.c,
	libc/iconv/ces/iso-10646-ucs-2.c, libc/iconv/ces/iso-10646-ucs-4.c,
	libc/iconv/ces/ucs-2-internal.c, libc/iconv/ces/ucs-4-internal.c,
	libc/iconv/ces/utf-16.c, libc/iconv/ces/utf-8.c,
	libc/iconv/lib/Makefile.am, libc/iconv/lib/Makefile.in,
	libc/iconv/lib/aliases.c, libc/iconv/lib/bialiasesi.c,
	libc/iconv/lib/biccs.c, libc/iconv/lib/bices.c,
	libc/iconv/lib/ccs.c, libc/iconv/lib/ces.c,
	libc/iconv/lib/ces_euc.c, libc/iconv/lib/ces_iso2022.c,
	libc/iconv/lib/ces_table.c, libc/iconv/lib/converter.c,
	libc/iconv/lib/deps.h, libc/iconv/lib/endian.h,
	libc/iconv/lib/iconv.c, libc/iconv/lib/loaddata.c,
	libc/iconv/lib/local.h, libc/include/iconv.h: New files.
	* libc/sys/linux/include/iconv.h: Ditto.
	* libc/include/sys/_types.h (_iconv_t): Added.
	* doc/aclocal.m4: Regenerated.
	* doc/configure: Ditto.
	* doc/Makefile.in: Ditto.
	* iconvdata/Makefile.in: Ditto.
	* iconvdata/aclocal.m4: Ditto.
	* iconvdata/configure: Ditto.
	* libc/*aclocal.m4: Ditto.
	* libc/*Makefile.in: Ditto.
	* libc/*configure: Ditto.
	* libm/*aclocal.m4: Ditto.
	* libm/*Makefile.in: Ditto.
	* libm/*configure: Ditto.
2004-01-23 21:37:46 +00:00
Jeff Johnston 7d4be1efd5 2004-01-21 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/mbrtowc.c (_mbrtowc_r): Fix case where s is null
        pointer to match C99 spec.
        * libc/stdlib/mbsrtowcs.c (_mbsrtowc_r): Fix to ignore len when
        dst is NULL.  Also fix to not alter src pointer when dst is NULL
        and call _mbrtowc_r instead of _mbtowc_r.
        * libc/stdlib/wcsrtombs.c (_wcsrtombs_r): Call _wcrtomb_r instead
        of _wctomb_r.
2004-01-21 20:09:16 +00:00
Jeff Johnston c9524c0cd8 2004-01-08 Joel Sherrill <joel@oarcorp.com>
* libc/ctype/iswctype.c, include/sys/reent.h, libc/stdlib/a64l.c:
        Remove warnings.
2004-01-08 19:33:13 +00:00
Christopher Faylor 576593dd72 * libc/stdlib/mbrlen.c: Change include order to prevent compiler errors when
defining _mbrtowc.
* libc/stdlib/mbsinit.c: Ditto.
* libc/stdlib/mbsrtowcs.c: Ditto.
* libc/stdlib/wcrtomb.c: Ditto.
* libc/stdlib/wcsrtombs.c: Ditto.
* libc/stdlib/wctob.c: Ditto.
* libc/stdlib/mbrlen.c: Change include order to prevent compiler errors when
defining _mbrtowc.
* libc/stdlib/mbsinit.c: Ditto.
* libc/stdlib/mbsrtowcs.c: Ditto.
2003-12-05 06:13:44 +00:00
Christopher Faylor 4c889d629d * libc/stdlib/mbrtowc.c: Change include order to prevent compiler errors when
defining _mbrtowc.
2003-12-05 06:02:31 +00:00
Jeff Johnston cc2a11e0d0 2003-11-27 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h (_atoi_r): New prototype.
        * libc/stdlib/atoi.c (_atoi_r): New reentrant function.
2003-11-27 20:54:12 +00:00
Jeff Johnston 83bf7d2f89 2003-11-27 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h (_atoll_r, _atol_r): New prototypes.
        * libc/stdlib/atol.c (_atol_r): New reentrant function.
        * libc/stdlib/atoll.c (_atoll_r): Ditto.
2003-11-27 20:15:47 +00:00
Jeff Johnston 6bbb700c34 2003-11-27 Artem B. Bityuckiy <mail_lists@mail.ru>
Jeff Johnston  <jjohnstn@redhat.com>

        * libc/include/stdlib.h (lldiv_t): New type.
        (atoll, llabs, lldiv): New prototypes.
        * libc/stdlib/Makefile.am: Add support for atoll, llabs, and lldiv.
        * libc/stdlib/stdlib.tex: Ditto.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/stdlib/atoll.c: New file.
        * libc/stdlib/llabs.c: Ditto.
        * libc/stdlib/lldiv.c: Ditto.
2003-11-27 19:47:19 +00:00
Jeff Johnston da2d12279b 2003-11-05 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/wcsrtombs.c (_wcsrtombs_r): Numerous fixes
        to make code work as specified in standard.
2003-11-06 00:46:59 +00:00
Richard Sandiford 63a823f8f4 * libc/stdlib/exit.c (exit): Handle null _GLOBAL_REENT->_atexits. 2003-10-22 08:45:01 +00:00
Jeff Johnston 76a7df5256 2003-10-20 Bob Wilson <bob.wilson@acm.org>
* libc/locale/locale.c: Use double quotes in code.
	* libc/locale/locale.tex: Likewise.
	* libc/libc.texinfo: Hyphenate "floating-point".
	* libc/machine/necv70/necv70.tex: Likewise.
	* libc/stdio/sprintf.c: Likewise.
	* libc/stdio/sscanf.c: Likewise.
	* libc/stdlib/atof.c: Likewise.
	* libc/stdlib/ldtoa.c: Fix comment typo.
	* libc/stdlib/div.c: Use @ifnottex instead of @ifinfo.
	* libc/stdlib/ldiv.c: Likewise.
	* libm/common/s_expm1.c: Likewise.
	* libm/common/s_ilogb.c: Hyphenate "floating-point".  Use "nonzero".
	* libm/common/s_infinity: Hyphenate "double- and single-precision".
	* libm/common/s_nan.c: Likewise.  Also correct the FUNCTION summary.
	* libm/common/s_nextafter.c: Fix typo.  Hyphenate "double-precision"
	and "floating-point".
	* libm/common/s_scalbn.c: Correct the FUNCTION summary.
	* libm/math/e_pow.c: Fix comment typo.
	* libm/math/math.tex: Hyphenate "single-precision" and "floating-point".
	* libm/math/s_asinh.c: Use @ifnottex instead of @ifinfo.
	* libm/math/s_atan.c: Likewise.
	* libm/math/s_frexp.c: Likewise.  Also use "nonzero".
	* libm/math/s_isnan.c: Hyphenate "single-precision" and
	"floating-point".  Use "nonzero".
	* libm/math/s_ldexp.c: Use @ifnottex instead of @ifinfo.
	* libm/math/w_acos.c: Likewise.
	* libm/math/w_acosh.c: Likewise.
	* libm/math/w_asin.c: Likewise.
	* libm/math/w_atan2.c: Likewise.
	* libm/math/w_atanh.c: Likewise.
	* libm/math/w_cosh.c: Likewise.
	* libm/math/w_exp.c: Likewise.
	* libm/math/w_exp2.c: Likewise.  Add missing @end and missing @tex
	version of 2^x in the description.
	* libm/math/w_fmod.c: Use @ifnottex instead of @ifinfo.
	* libm/math/w_gamma.c: Likewise.
	* libm/math/w_hypot.c: Likewise.
	* libm/math/w_j0.c: Likewise.
	* libm/math/w_sinh.c: Likewise.
	* libm/math/w_pow.c: Replace "exp1.0nt" with "exponent".
	* libm/mathfp/mathfp.tex: Hyphenate "single-precision" and
	"floating-point".
	* libm/mathfp/e_acosh.c: Use @ifnottex instead of @ifinfo.
	* libm/mathfp/e_atanh.c: Likewise.
	* libm/mathfp/e_hypot.c: Likewise.
	* libm/mathfp/er_lgamma.c: Likewise.
	* libm/mathfp/s_acos.c: Likewise.
	* libm/mathfp/s_asine.c: Likewise.
	* libm/mathfp/s_asinh.c: Likewise.
	* libm/mathfp/s_atan.c: Likewise.
	* libm/mathfp/s_atan2.c: Likewise.
	* libm/mathfp/s_atangent.c: Likewise.
	* libm/mathfp/s_cosh.c: Likewise.
	* libm/mathfp/s_exp.c: Likewise.
	* libm/mathfp/s_fmod.c: Likewise.
	* libm/mathfp/s_frexp.c: Likewise.  Also use "nonzero".
	* libm/mathfp/s_isnan.c: Hyphenate "single-precision" and
	"floating-point".  Use "nonzero".
	* libm/math/s_pow.c: Replace "exp1.0nt" with "exponent".
	* libm/mathfp/s_ldexp.c: Use @ifnottex instead of @ifinfo.
	* libm/mathfp/s_sineh.c: Likewise.
	* libm/mathfp/w_jn.c: Likewise.
2003-10-20 18:46:38 +00:00
Jeff Johnston f1b1505827 2003-09-05 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/exit.c (exit): Setting of struct _atexit ptr p
        is different for _REENT_SMALL than when using regular reent
        struct.
2003-09-05 18:22:00 +00:00
Ben Elliston 10a32423f8 * libc/stdlib/mstats.c[_ELIX_LEVEL]: Fix guards. #ifndef FOO ||
FOO >= 2 is invalid; use #if !defined (FOO) || FOO >= 2 instead.
2003-09-05 00:13:15 +00:00
Jeff Johnston ed027a5355 2003-09-02 Thomas Pfaff <tpfaff@gmx.net>
* libc/stdlib/atexit.c: Rename _REENT to _GLOBAL_REENT throughout.
        * libc/stdlib/exit.c : Ditto.
        * libc/stdlib/on_exit.c: Ditto.
2003-09-02 22:42:05 +00:00
Jeff Johnston 8f0211142c 2003-08-19 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/mallocr.c (mALLOc, rEALLOc, mEMEALIGn): Enhance
        overflow detection.
2003-08-19 18:09:54 +00:00
Nick Clifton 75d7d17700 New structure containing fields used by the on_exit() function.
(struct _atexit): Include struct _on_exit_args.  For _REENT_SMALL do his via a
pointer that is initialised when needed.
2003-06-06 15:36:31 +00:00
Jeff Johnston 12ee7037a3 2003-02-19 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/mallocr.c (unlink): Revert 02/18 fix.
2003-02-19 19:00:11 +00:00
Jeff Johnston b1ca765e84 2003-02-18 Earnie Boyd <earnie@users.sf.net>
* libc/stdlib/mallocr.c (unlink): Don't assign a value to a pointer
        with a NULL value.
2003-02-18 22:34:02 +00:00
Jeff Johnston ad36f7d19a 2003-02-03 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/ldtoa.c (_ldtoa_r): Fix code to allocate the format
        buffer based on the precision, after we have processed the input value
        in a local buffer and know its relative magnitude.
2003-02-03 21:29:45 +00:00
Jeff Johnston d4c3a750e7 2003-01-07 Jeff Johnston <jjohnstn@redhat.com>
* configure.host: Support long double I/O for x86-linux.
        * libc/stdlib/ldtoa.c (_ldtoa_r): Fix code to allocate a buffer
        large enough to hold formatted result.
        * libc/machine/powerpc/simdldtoa.c (_simdldtoa_r): Ditto.
2003-01-07 19:52:27 +00:00
Jeff Johnston 9b3f0d160a 2002-12-20 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/environ.c: Update license to Red Hat.
        * libc/machine/hppa/setjmp.S: Ditto.
        * libm/test/Makefile.in: Ditto.
2002-12-20 21:07:56 +00:00
Jeff Johnston c049dd5a78 2002-12-06 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h (strtof): New prototype (from C99).
        (strtodf): Changed from prototype to macro which redefines
        to strtof.
        * libc/stdlib/atof.c: Change documentation to refer to strtof
        instead of strtodf.
        * libc/stdlib/atoff.c (atoff): Change to call strtof instead of
        strtodf.
        * libc/stdlib/strtod.c (strtodf): Renamed to strtof.
        (strtof): New function.
        * libm/test/convert.c (test_strtodf): Renamed to test_strtof which
        calls strtof.
2002-12-06 18:58:51 +00:00
Christopher Faylor e91ec2e3e6 * libc/stdlib/malign.c: Don't compile if MALLOC_PROVIDED.
* libc/stdlib/mlock.c: Ditto.
* libc/stdlib/msize.c: Ditto.
* libc/stdlib/msize.c: Ditto.
* libc/stdlib/mtrim.c: Ditto.
* libc/stdlib/valloc.c: Ditto.
2002-11-13 01:20:31 +00:00
Jeff Johnston 944772c70a 2002-11-12 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/ldtoa.c (e64toe): When checking the exponent
        for inf/nan, make sure that the check ignores the sign bit.
2002-11-12 21:47:53 +00:00
Richard Sandiford f770cf44c3 * libc/include/sys/config.h (SIZE_T_SMALLER_THAN_LONG): Undefine.
* libc/stdlib/mallocr.c (long_sub_size_t): Define in a way that
	doesn't require the SIZE_T_SMALLER_THAN_LONG macro.
2002-10-11 10:28:30 +00:00
Jeff Johnston 1525d127da 2002-09-20 Jeff Johnston <jjohnstn@redhat.com>
* libc/ctype/Makefile.am: Add new files.
        * libc/ctype/Makefile.in: Regenerated.
        * libc/ctype/ctype.tex: Add new iswxxxx, towxxxx, wctype,
        and wctrans functions to documentation index.
        * libc/ctype/iswalnum.c: New file.
        * libc/ctype/iswalpha.c: Ditto.
        * libc/ctype/iswblank.c: Ditto.
        * libc/ctype/iswcntrl.c: Ditto.
        * libc/ctype/iswctype.c: Ditto.
        * libc/ctype/iswdigit.c: Ditto.
        * libc/ctype/iswgraph.c: Ditto.
        * libc/ctype/iswlower.c: Ditto.
        * libc/ctype/iswprint.c: Ditto.
        * libc/ctype/iswpunct.c: Ditto.
        * libc/ctype/iswspace.c: Ditto.
        * libc/ctype/iswupper.c: Ditto.
        * libc/ctype/iswxdigit.c: Ditto.
        * libc/ctype/jp2uc.c: Ditto.
        * libc/ctype/jp2uc.h: Ditto.
        * libc/ctype/local.h: Ditto.
        * libc/ctype/towctrans.c: Ditto.
        * libc/ctype/towlower.c: Ditto.
        * libc/ctype/towupper.c: Ditto.
        * libc/ctype/utf8alpha.h: Ditto.
        * libc/ctype/utf8print.h: Ditto.
        * libc/ctype/utf8punct.h: Ditto.
        * libc/ctype/wctrans.c: Ditto.
        * libc/ctype/wctype.c: Ditto.
        * libc/locale/locale.c (__lc_ctype): New external array to
        replace static lc_ctype array.
        * libc/stdlib/mbtowc_r.c: Use __lc_ctype to check current lc_ctype
        rather than reentrancy structure's _current_locale field.
        * libc/stdlib/wctomb_r.c: Ditto.
2002-09-20 20:13:11 +00:00
Jeff Johnston 9c64d2a7ba 2002-09-09 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/_types.h (_mbstate_t): Changed to use
        unsigned char internally.
        * libc/sys/linux/sys/_types.h: Ditto.
        * libc/include/sys/reent.h
        * libc/stdlib/mblen.c (mblen): Use function-specific state
        value from default reentrancy structure.
        * libc/stdlib/mblen_r.c (_mblen_r):  If return code from
        _mbtowc_r is less than 0, reset state __count value and
        return -1.
        * libc/stdlib/mbrlen.c (mbrlen): If the input state pointer
        is NULL, use the function-specific pointer provided in the
        default reentrancy structure.
        * libc/stdlib/mbrtowc.c: Add reentrant form of function.
        If input state pointer is NULL, use function-specific area
        provided in reentrancy structure.
        * libc/stdlib/mbsrtowcs.c: Ditto.
        * libc/stdlib/wcrtomb.c: Ditto.
        * libc/stdlib/wcsrtombs.c: Ditto.
        * libc/stdlib/mbstowcs.c: Reformat.
        * libc/stdlib/wcstombs.c: Ditto.
        * libc/stdlib/mbstowcs_r.c (_mbstowcs_r): If an error occurs,
        reset the state's __count value and return -1.
        * libc/stdlib/mbtowc.c: Ditto.
        * libc/stdlib/mbtowc_r.c (_mbtowc_r): Add restartable functionality.
        If number of bytes is used up before completing a valid multibyte
        character, return -2 and save the state.
        * libc/stdlib/wctomb_r.c (_wctomb_r): Define __state as __count
        and change some __count references to __state for clarity.
2002-09-09 21:42:14 +00:00
Jeff Johnston 890e7a1d1a 2002-08-29 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
* libc/include/wchar.h: Define NULL. Define WEOF more general
        way. Declare functions in newlib manner.
        * libc/stdlib/Makefile.am: Delete wmem*.c
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/stdlib/wmemchr.c: Delete.
        * libc/stdlib/wmemcmp.c: Ditto.
        * libc/stdlib/wmemcpy.c: Ditto.
        * libc/stdlib/wmemmove.c: Ditto.
        * libc/stdlib/wmemset.c: Ditto.
        * libc/string/Makefile.am: Add wmem*.c and wcs*.c.
        * libc/string/Makefile.in: Regenerated.
        * libc/string/wcscat.c: New file derived from the NetBSD C Library.
        * libc/string/wcschr.c: Ditto.
        * libc/string/wcscmp.c: Ditto.
        * libc/string/wcscpy.c: Ditto.
        * libc/string/wcscspn.c: Ditto.
        * libc/string/wcslcat.c: Ditto.
        * libc/string/wcslcpy.c: Ditto.
        * libc/string/wcslen.c: Ditto.
        * libc/string/wcsncat.c: Ditto.
        * libc/string/wcsncmp.c: Ditto.
        * libc/string/wcsncpy.c: Ditto.
        * libc/string/wcspbrk.c: Ditto.
        * libc/string/wcsrchr.c: Ditto.
        * libc/string/wcsspn.c: Ditto.
        * libc/string/wcsstr.c: Ditto.
        * libc/string/wmemchr.c: Ditto.
        * libc/string/wmemcmp.c: Ditto.
        * libc/string/wmemcpy.c: Ditto.
        * libc/string/wmemmove.c: Ditto.
        * libc/string/wmemset.c: Ditto.
2002-08-29 19:38:25 +00:00
Jeff Johnston d82a94ace4 2002-08-28 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/wmemchr.c: Explicitly include <_ansi.h>.
        * libc/stdlib/wmemcmp.c: Ditto.
        * libc/stdlib/wmemcpy.c: Ditto.
        * libc/stdlib/wmemmove.c: Ditto.
        * libc/stdlib/wmemset.c: Ditto.
2002-08-28 17:58:44 +00:00
Jeff Johnston 7d08241b68 2002-08-27 Egor Duda <deo@logos-m.ru>
* libc/stdlib/wmemchr.c: New file.
        * libc/stdlib/wmemcmp.c: Ditto.
        * libc/stdlib/wmemcpy.c: Ditto.
        * libc/stdlib/wmemmove.c: Ditto.
        * libc/stdlib/wmemset.c: Ditto.
        * libc/stdlib/Makefile.am (GENERAL_SOURCES): Add new files.
        * configure.host: Default -DMB_CAPABLE for cygwin.
        * libc/include/wchar.h: Declare wmemchr(), wmemcmp(), wmemcpy(),
        wmemmove() and wmemset().  Add include of <_ansi.h>.
        * libc/stdlib/Makefile.in: Regenerate.
2002-08-27 21:20:10 +00:00
Jeff Johnston 90b65e2d06 2002-08-26 Jeff Johnston <jjohnstn@redhat.com>
* Makefile.am(LIBC_OBJECTLISTS): Add STDIO64_OBJECTLIST.
        * Makefile.in: Regenerated.
        * acinclude.m4: Add support for --enable-newlib-elix-level option.
        * aclocal.m4: Regenerated.
        * configure: Ditto.
        * configure.host: Add code to define _ELIX_LEVEL if
        --enable-newlib-elix-level option is used.
        * configure.in:
        * libc/aclocal.m4: Regenerated.
        * libc/configure: Ditto.
        * libc/argz/Makefile.am: Add EL/IX level checking.
        * libc/argz/Makefile.in: Regenerated.
        * libc/argz/dummy.c: New file.
        * libc/ctype/Makefile.am: Add EL/IX level checking.
        * libc/ctype/Makefile.in: Regenerated.
        * libc/locale/Makefile.am: Add EL/IX level checking.
        * libc/locale/Makefile.in: Regenerated.
        * libc/posix/Makefile.am: Add EL/IX level checking.
        * libc/posix/Makefile.in: Regenerated.
        * libc/posix/telldir.c: Add EL/IX level checking.
        * libc/reent/Makefile.am: Ditto.
        * libc/reent/fstat64r.c: Ditto.
        * libc/reent/lseek64r.c: Ditto.
        * libc/reent/open64r.c: Ditto.
        * libc/reent/Makefile.in: Regenerated.
        * libc/search/Makefile.am: Add EL/IX level checking.
        * libc/search/Makefile.in: Regenerated.
        * libc/stdio/Makefile.am: Add EL/IX level checking.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio64/Makefile.am: Add EL/IX level checking.
        * libc/stdio64/Makefile.in: Regenerated.
        * libc/stdio64/dummy.c: New file.
        * libc/stdio64/fgetpos64.c: Fix so _LARGEFILE_64 macro is checked
        after first include.
        * libc/stdio64/fopen64.c: Ditto.
        * libc/stdio64/freopen64.c: Ditto.
        * libc/stdio64/fseeko64.c: Ditto.
        * libc/stdio64/fsetpos64.c: Ditto.
        * libc/stdio64/ftello64.c: Ditto.
        * libc/stdio64/tmpfile64.c: Ditto.
        * libc/stdlib/Makefile.am: Add EL/IX level checking.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/stdlib/mstats.c: Add EL/IX level checking.
        * libc/string/Makefile.am: Ditto.
        * libc/string/Makefile.in: Regenerated.
        * libc/sys/linux/Makefile.am: Add EL/IX level checking.
        * libc/sys/linux/Makefile.in: Regenerated.
        * libc/sys/linux/aclocal.m4: Ditto.
        * libc/sys/linux/configure: Ditto.
        * libc/sys/linux/aio.c: Add EL/IX level checking.
        * libc/sys/linux/ftok.c: Ditto.
        * libc/sys/linux/getdate.c: Ditto.
        * libc/sys/linux/ids.c: Ditto.
        * libc/sys/linux/inode.c: Ditto.
        * libc/sys/linux/io.c: Ditto.
        * libc/sys/linux/process.c: Ditto.
        * libc/sys/linux/resource.c: Ditto.
        * libc/sys/linux/sched.c: Ditto.
        * libc/sys/linux/sig.c: Ditto.
        * libc/sys/linux/termios.c: Ditto.
        * libc/sys/linux/wait.c: Ditto plus add __waitpid and
        __libc___waitpid weak aliases.
        * libc/sys/linux/machine/i386/syscall.h: Add new _base macros
        that generate the code for a syscall, but do not create a
        weak alias.
        * libc/syscalls/Makefile.am: Add EL/IX level checking.
        * libc/syscalls/Makefile.in: Regenerated.
        * libc/time/tzset_r.c: Change to replace strdup with equivalent
        functionality.
        * libc/unix/Makefile.am: Add EL/IX level checking.
        * libc/unix/Makefile.in: Regenerated.
2002-08-26 18:56:09 +00:00
Thomas Fitzsimmons 8d9112f2f3 * libc/include/langinfo.h: New file.
* libc/include/wchar.h: Likewise.
	* libc/include/sys/syslimits.h: Likewise.
	* libc/locale/fix_grouping.c: Likewise.
	* libc/locale/ldpart.c: Likewise.
	* libc/locale/ldpart.h: Likewise.
	* libc/locale/lmessages.c: Likewise.
	* libc/locale/lmessages.h: Likewise.
	* libc/locale/lmonetary.c: Likewise.
	* libc/locale/lmonetary.h: Likewise.
	* libc/locale/lnumeric.c: Likewise.
	* libc/locale/lnumeric.h: Likewise.
	* libc/locale/nl_langinfo.3: Likewise.
	* libc/locale/nl_langinfo.c: Likewise.
	* libc/locale/timelocal.c: Likewise.
	* libc/locale/timelocal.h: Likewise.
	* libc/stdlib/btowc.c: Likewise.
	* libc/stdlib/mbrlen.c: Likewise.
	* libc/stdlib/mbrtowc.c: Likewise.
	* libc/stdlib/mbsinit.c: Likewise.
	* libc/stdlib/mbsrtowcs.c: Likewise.
	* libc/stdlib/wcrtomb.c: Likewise.
	* libc/stdlib/wcsrtombs.c: Likewise.
	* libc/stdlib/wctob.c: Likewise.
	* libc/sys/linux/prof-freq.c: Likewise.
	* libc/sys/linux/profile.c: Likewise.
	* libc/sys/linux/machine/i386/dl-procinfo.c: Likewise.
	* libc/sys/linux/machine/i386/dl-procinfo.h: Likewise.
	* libc/include/stdlib.h: Change re-entrant functions to take
	mbstate_t pointers.
	* libc/include/sys/_types.h: Define _mbstate_t.
	* libc/include/sys/config.h (MB_LEN_MAX): New macro.
	* libc/include/sys/errno.h (EILSEQ): New error code.
	* libc/include/sys/reent.h: Include wchar.h.  Change reentrant
	structure to use mbstate_t.
	* libc/locale/Makefile.am (LIB_SOURCES): Add new files.
	* libc/machine/powerpc/vfprintf.c: Use mbstate_t.
	* libc/machine/powerpc/vfscanf.c: Likewise.
	* libc/stdio/getdelim.c: Reallocate buffer only when necessary.
	* libc/stdio/vfprintf.c: Likewise.
	* libc/stdio/vfscanf.c: Likewise.
	* libc/stdlib/Makefile.am (LIB_SOURCES): Add new files.
	* libc/stdlib/mblen.c: Use mbstate_t.
	* libc/stdlib/mblen_r.c: Likewise.
	* libc/stdlib/mbstowcs.c: Likewise.
	* libc/stdlib/mbstowcs_r.c: Likewise.
	* libc/stdlib/mbtowc.c: Likewise.
	* libc/stdlib/mbtowc_r.c: Likewise.
	* libc/stdlib/wcstombs.c: Likewise.
	* libc/stdlib/wcstombs_r.c: Likewise.
	* libc/stdlib/wctomb_r.c: Likewise.
	* libc/sys/linux/Makefile.am (LIB_SOURCES): Add prof-freq.c and
	profile.c.
	* libc/sys/linux/machine/i386/Makefile.am (LIB_SOURCES): Add
	dl-procinfo.c.
	* libc/sys/linux/sys/errno.h (EILSEQ): New error code.
	* libc/sys/linux/sys/types.h (off_t): Define type.
	* testsuite/newlib.locale/UTF-8.c: Change locale name from UTF-8
	to C-UTF-8.
	* testsuite/newlib.locale/UTF-8.exp: Likewise.
2002-08-23 01:56:05 +00:00
Jeff Johnston fe47ea33a9 2002-08-20 Casper S. Hornstrup <chorns@users.sourceforge.net>
* libc/stdlib/mallocr.c: #include windows.h on Win32.
          (AlignPage): Continue macro on next line.
2002-08-20 15:29:30 +00:00
Jeff Johnston 659e70628e 2002-08-09 Jason Tishler <jason@tishler.net>
* libc/stdlib/mallocr.c: Include <limits.h>.
        (request2size): Change macro to do
        unsigned long comparisons and avoid signed overflow.
        (mALLOc): Add overflow check for the number of bytes to allocate.
        (rEALLOc): Ditto.
2002-08-09 21:33:29 +00:00
Jeff Johnston d254189b38 2002-07-23 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/string.h: Add mempcpy, strndup, and _strndup_r
        prototypes.
        * libc/stdlib/Makefile.am: Remove strdup.c and strdup_r.c.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/stdlib/strdup.c: Removed.
        * libc/stdlib/strdup_r.c: Removed.
        * libc/string/Makefile.am: Add strdup.c, strdup_r.c, memccpy.c,
        mempcpy.c, strndup.c, and strndup_r.c.
        * libc/string/Makefile.in: Regenerated.
        * libc/string/memccpy.c: New file.
        * libc/string/mempcpy.c: Ditto.
        * libc/string/strndup.c: Ditto.
        * libc/string/strndup_r.c: Ditto.
        * libc/string/strdup.c: New file moved from stdlib.
        * libc/string/strdup_r.c: Ditto.
        * libc/string/strings.tex: Add memccpy and mempcpy documentation.
2002-07-23 21:38:00 +00:00
Thomas Fitzsimmons 9b022d6db8 * libc/argz/argz_replace.c: Include buf_findstr.h.
* libc/argz/buf_findstr.c: Likewise.
	* libc/argz/envz_entry.c: Include buf_findstr.h.  Cast return
	value to (char *).
	* libc/argz/envz_get.c: Likewise.
	* libc/include/sys/unistd.h: Add getopt and getsubopt declarations.
	* libc/stdlib/Makefile.am (LIB_SOURCES): Add getsubopt.c.
	* libc/stdlib/getsubopt.3: New file.
	* libc/stdlib/getsubopt.c: New file.
	* libc/sys/linux/machine/i386/socketcall.h (__sockcall_base):
	Change esp to ebp.
2002-07-19 20:36:09 +00:00
Thomas Fitzsimmons 3e35e424d7 * Remove files (should have been done on 2002-06-20). 2002-07-04 20:22:35 +00:00
Jeff Johnston a70486d790 2002-06-24 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/math.h: Remove <sys/types.h>.
        (__dmath): Use __ULong instead of _uint32_t.
        * libc/include/sys/reent.h: If long or int is not 32-bits,
        include <sys/types.h> to get definitions for _int32_t and _uint32_t.
        * libc/stdlib/mprec.h: Include <sys/types.h> to get integer defs.
        * libm/common/fdlibm.h: Ditto.
2002-06-24 20:03:38 +00:00
Thomas Fitzsimmons a7b23a8f11 * Makefile.am (LIB_OBJECTLISTS): Add
libc/search/objectlist.awk.in.
	* libc/Makefile.am (SUBDIRS): Add search.
	(SUBLIBS): Add search/libsearch.la.
	* libc/configure.in (AC_OUTPUT): Add search/Makefile.
	* libc/search: New directory.
	* libc/search/Makefile.am: New file.
	* libc/search/extern.h: New file.
	* libc/search/hash.c: New file.
	* libc/search/hash.h: New file.
	* libc/search/hash_bigkey.c: New file.
	* libc/search/hash_buf.c: New file.
	* libc/search/hash_func.c: New file.
	* libc/search/hash_log2.c: New file.
	* libc/search/hash_page.c: New file.
	* libc/search/hcreate.3: New file.
	* libc/search/hcreate.c: New file.
	* libc/search/hcreate.c~: New file.
	* libc/search/hcreate_r.c: New file.
	* libc/search/ndbm.c: New file.
	* libc/search/page.h: New file.
	* libc/search/tdelete.c: New file.
	* libc/search/tdestroy.c: New file.
	* libc/search/tfind.c: New file.
	* libc/search/tsearch.3: New file.
	* libc/search/tsearch.c: New file.
	* libc/search/twalk.c: New file.
	* libc/include/db.h: New file.
	* libc/include/ndbm.h: New file.
	* libc/include/search.h: New file.
	* libc/include/sys/queue.h: New file.
	* libc/include/sys/cdefs.h: New file.
	* libc/include/sys/param.h
	[__IEEE_LITTLE_ENDIAN,__IEEE_BIG_ENDIAN]: Set BYTE_ORDER to
	LITTLE_ENDIAN or BIG_ENDIAN.
	* libc/include/sys/errno.h (EFTYPE): New macro.
	* libc/search/bsearch.c: Move from libc/stdlib.
	* libc/search/qsort.c: Likewise.
	* libc/stdlib/Makefile.am (LIB_SOURCES): Remove bsearch.c and
	qsort.c.
	(CHEWOUT_FILES): Remove bsearch.def and qsort.def.
	* libc/stdlib/stdlib.tex: Remove references to bsearch and qsort.
2002-06-20 19:51:40 +00:00
Jeff Johnston d062d3ddec 2002-06-13 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h: Add _Exit prototype.
        * libc/stdlib/Makefile.am: Add _Exit.c support.
        * libc/stdlib/Makefile.in: Ditto.
        * libc/stdlib/_Exit.c: New file.
2002-06-13 23:24:03 +00:00
Thomas Fitzsimmons 0953fe640f * libm/common/s_fdim.c: New file.
* libm/common/s_fma.c: Likewise.
	* libm/common/s_fmax.c: Likewise.
	* libm/common/s_fmin.c: Likewise.
	* libm/common/s_fpclassify.c: Likewise.
	* libm/common/s_lrint.c: Likewise.
	* libm/common/s_lround.c: Likewise.
	* libm/common/s_nearbyint.c: Likewise.
	* libm/common/s_remquo.c: Likewise.
	* libm/common/s_round.c: Likewise.
	* libm/common/s_scalbln.c: Likewise.
	* libm/common/s_signbit.c: Likewise.
	* libm/common/s_trunc.c: Likewise.
	* libm/common/sf_fdim.c: Likewise.
	* libm/common/sf_fma.c: Likewise.
	* libm/common/sf_fmax.c: Likewise.
	* libm/common/sf_fmin.c: Likewise.
	* libm/common/sf_lrint.c: Likewise.
	* libm/common/sf_lround.c: Likewise.
	* libm/common/sf_nearbyint.c: Likewise.
	* libm/common/sf_remquo.c: Likewise.
	* libm/common/sf_round.c: Likewise.
	* libm/common/sf_scalbln.c: Likewise.
	* libm/common/sf_trunc.c: Likewise.
	* libm/math/w_exp2.c: Likewise.
	* libm/math/w_tgamma.c: Likewise.
	* libm/math/wf_exp2.c: Likewise.
	* libm/math/wf_tgamma.c: Likewise.
	* libm/mathfp/s_exp2.c: Likewise.
	* libm/mathfp/s_tgamma.c: Likewise.
	* libm/mathfp/sf_exp2.c: Likewise.
	* libm/mathfp/sf_tgamma.c: Likewise.
	* libm/math/er_gamma.c: Fix return value.
	* libm/math/erf_gamma.c: Likewise.
	* libm/mathfp/er_gamma.c: Likewise.
	* libm/mathfp/erf_gamma.c: Likewise.
	* libc/include/math.h (!__STRICT_ANSI__): Include ISOC99-specific
	declarations and macros.
	Regenerated all Makefile.in, aclocal.m4 and configure files to
	use new libtool macros in top-level libtool.m4
2002-06-07 21:59:57 +00:00
Jeff Johnston dc824ef736 2002-05-15 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h: Add on_exit prototype.
        * libc/include/sys/reent.h (struct _atexit): Add argument array
        and bits to track type of exit routine to support both on_exit
        and atexit.
        (_REENT_INIT_PTR): Add missing fields that won't be zeroed out
        by default and change the setting of the atexit structure.
        (_REENT_INIT)[!_REENT_SMALL]: Remove extraneous end brace.
        * libc/stdlib/on_exit.c: New file.
        * libc/stdlib/Makefile.am: Add support for on_exit.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/stdlib/atexit.c: Change to initialize types field.
        * libc/stdlib/exit.c: Change to look at types field for each
        exit routine and either call an atexit-style or an on_exit-style
        routine accordingly.
2002-05-15 22:58:10 +00:00
Jeff Johnston c33c3635f7 2002-05-06 Jeff Johnston <jjohnstn@redhat.com>
*  libc/include/sys/reent.h (_l64a_buf): New reentrant area.
        (_REENT_L64A_BUF): New macro for accessing area.
        *  libc/stdlib/Makefile.am: Add a64l.c and l64a.c.
        *  libc/stdlib/Makefile.in: Regenerated.
        *  libc/stdlib/a64l.c: New file.
        *  libc/stdlib/l64a.c: New file.
2002-05-06 20:44:54 +00:00
Thomas Fitzsimmons 098414456c * libc/Makefile.am (SUBLIBS): Add LIBC_EXTRA_LIB.
(SUBDEFS): Add LIBC_EXTRA_DEF.
	* libc/configure.in (LIBC_EXTRA_LIB): New variable.
	(LIBC_EXTRA_DEF): Likewise.
	(extra_dir): Likewise.
	* libc/machine/xscale/machine: New directory.
	* libc/machine/xscale/machine/profile.h: New file.

	* Makefile.am (site.exp): Remove newlib_cflags.  Add
	multibuildtop.
	* testsuite/newlib.locale/UTF-8.c: Change fprintf's to printf's.
	* testsuite/lib/flags.exp: New file.
	* testsuite/lib/newlib.exp: Load flags.exp.
	(newlib_target_compile): Remove libgloss directory references.
	(newlib_init): Remove newlib_cflags references.
2002-05-01 18:44:13 +00:00
Thomas Fitzsimmons bfc27bae1a * Various formatting and whitespace changes. 2002-04-30 18:23:40 +00:00
Jonathan Larmour 822afa537a * libc/sys/arm/syscalls.c (_rename): New function. Just a stub.
(_system): New function. Ditto.
	* libc/stdlib/system.c (_system_r): Call _system if HAVE_SYSTEM.
	* configure.host: define HAVE_SYSTEM and HAVE_RENAME for xscale
	targets.
2002-04-29 21:49:56 +00:00
Thomas Fitzsimmons eaa75b70e3 * Makefile.am (check-DEJAGNU): New target.
(site.exp): Likewise.
	* acinclude.m4 (NEWLIB_CONFIGURE): Replace AC_CANONICAL_HOST
	with AC_CANONICAL_SYSTEM.  Remove AC_CANONICAL_BUILD.
	* libc/locale/locale.c (_setlocale_r): Add UTF-8 support.
	* libc/stdlib/mbtowc_r.c (_mbtowc_r): Likewise.
	* libc/stdlib/wctomb_r.c (_wctomb_r): Likewise.
	* testsuite: New directory.
	* testsuite/config: Likewise.
	* testsuite/lib: Likewise.
	* testsuite/newlib.locale: Likewise.
	* testsuite/newlib.string: Likewise.
	* testsuite/config/default.exp: New file.
	* testsuite/lib/checkoutput.exp: New file.
	* testsuite/lib/newlib.exp: New file.
	* testsuite/lib/passfail.exp: New file.
	* testsuite/newlib.locale/UTF-8.c: New file.
	* testsuite/newlib.locale/UTF-8.exp: New file.
	* testsuite/newlib.locale/locale.exp: New file.
	* testsuite/newlib.string/string.exp: New file.
	* testsuite/newlib.string/tstring.c: New file.
2002-04-24 20:53:30 +00:00
Jeff Johnston 10d0021609 2002-04-17 Jeff Johnston <jjohnstn@redhat.com>
*  libc/include/time.h (tzset, _tzset_r): Added prototypes.
        (strptime): Moved prototype to be within !__STRICT_ANSI__.
        (_tzname, _daylight, _timezone): No long __CYGWIN__ only.
        (tzname): Defined for all platforms.
        (daylight, timezone): Defined only for CYGWIN.
        *  libc/sys/linux/machine/i386/crt0.c: Add call to tzset() after
        environment set up.
        * libc/stdlib/setenv_r.c (_setenv_r): Call tzset() if the TZ
        environment variable is set.
        *  libc/time/Makefile.am: Add support for tzset.c, tzlock.c, and
        tzset_r.c.
        *  libc/time/Makefile.in: Regenerated.
        *  libc/time/gmtime.c (gmtime): Changed to call gmtime_r.
        *  libc/time/gmtime_r.c (gmtime_r): Changed to call _mktm_r.
        *  libc/time/lcltime_r.c (lcltime_r): Ditto.
        *  libc/time/local.h: New local header file.
        *  libc/time/mktime.c (mktime): Add timezone support.
        *  libc/time/mktm_r.c: New file which is the common engine
        for gmtime_r and lcltime_r.  This code has timezone support.
        *  libc/time/strftime.c (strftime): Add %Z timezone support.
        *  libc/time/tzlock.c: New file containing timezone lock stubs.
        *  libc/time/tzset.c: New file containing tzset() routine.
        *  libc/time/tzset_r.c: New file containing _tzset_r and
        internal routine for calculating timezone changes for specified year.
2002-04-17 21:23:31 +00:00
Alexandre Oliva 2f3009bd13 * libc/stdlib/mallocr.c (malloc_extend_top): If correction sbrk
fails, don't bail out, and try to correct next time.
2002-04-13 10:27:02 +00:00
Jeff Johnston d4dca0e42e 2002-04-01 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/reent.h (_REENT_INIT_PTR): New macro for
        initializing a struct _reent that has been dynamically allocated.
        (_REENT_CHECK_MISC): New macro that checks _misc struct for
        _REENT_SMALL and does nothing otherwise.
        (_REENT_STRTOK_LAST): New macro for reentrant strtok.
        (_REENT_MBLEN_STATE): New macro for reentrant mblen.
        (_REENT_MBTOWC_STATE): New macro for reentrant mbtowc.
        (_REENT_WCTOMB_STATE): New macro for reentrant wctomb.
        [_REENT_SMALL](struct _misc_reent): New structure containing
        miscellaneous reentrant areas needed by newlib.
        [_REENT_SMALL](struct _reent): Add _misc pointer.
        [_REENT_SMALL](_REENT_INIT_MISC): New macro.
        * libc/string/strtok (strtok): Change to use _REENT_CHECK_MISC
        and _REENT_STRTOK_LAST macros.
        * libc/stdlib/mblen (mblen): Change to use _REENT_CHECK_MISC
        and _REENT_MBLEN_STATE macros.
        * libc/stdlib/mbtowc (mbtowc): Change to use _REENT_CHECK_MISC
        and _REENT_MBTOWC_STATE macros.
        * libc/stdlib/wctomb (wctomb): Change to use _REENT_CHECK_MISC
        and _REENT_WCTOMB_STATE macros.
2002-04-01 23:06:21 +00:00
Jeff Johnston 54a7c6d2be 2002-04-01 Till Straumann <strauman@SLAC.Stanford.EDU>
* libc/stdlib/getenv_r.c (_findenv_r): Add missing ENV_UNLOCK.
2002-04-01 22:29:40 +00:00
Jeff Johnston 27478365a2 2002-02-05 Manik Raina <manik@cisco.com>
* libc/misc/dprintf (parse_number): #if 0 unused function.
        * libc/stdlib/ldtoa.c (_ldcheck): Remove unused local variables
        s, p, k, and outstr.
        * libc/stdlib/dtoa.c (_dtoa_r): Initialize mlo.
2002-02-05 17:14:35 +00:00
Matthew Green 8195aff714 * implement a new `struct _reent' that is significantly smaller. use this
if _REENT_SMALL is defined in config.h.  define this for xstormy16.
2002-02-03 09:24:18 +00:00
Thomas Fitzsimmons fc50413595 * libc/stdlib/Makefile.am (LIB_COMPILE): Change to equal
$(COMPILE) rather than $(CC).
	* libc/stdio/Makefile.am (LIB_COMPILE): Likewise.
	(vfprintf.$(oext)): Remove $(INCLUDES), made redundant by
	$(LIB_COMPILE) change.
	(vfiprintf.$(oext)): Likewise.
2001-12-18 02:22:55 +00:00
Thomas Fitzsimmons 2e1a71756e * Makefile.shared: New file.
* libc/sys/linux/shared.ld: New file.
	* libm/machine/*: New files.
	* libm/machine/i386/*: New files.
	* Makefile.am: Add libtool support.  Change math and mathfp
	references to variables.
	* configure.host: Add variables for libtool support.  Add
	libm_machine_dir variable.
	* configure.in: Add objectlist variables, for libtool
	support.  Add CC_FOR_BUILD tests.
	* libc/Makefile.am: Add libtool support.  Change crt0.o
	reference to be a variable reference.
	* libc/configure.in: Add libtool support.  Change sublib
	names to be lib${subdir}.la when using libtool.
	* libc/ctype/Makefile.am: Add libtool support.
	* libc/errno/Makefile.am: Likewise.
	* libc/locale/Makefile.am: Likewise.
	* libc/machine/Makefile.am: Likewise.
	* libc/machine/configure.in: Likewise.
	* libc/machine/i386/Makefile.am: Likewise.
	* libc/machine/i386/configure.in: Likewise.
	* libc/misc/Makefile.am: Likewise.
	* libc/posix/Makefile.am: Likewise.
	* libc/reent/Makefile.am: Likewise.
	* libc/signal/Makefile.am: Likewise.
	* libc/stdio/Makefile.am: Likewise.
	* libc/stdlib/Makefile.am: Likewise.
	* libc/string/Makefile.am: Likewise.
	* libc/sys/Makefile.am: Likewise.
	* libc/sys/configure.in: Likewise.
	* libc/sys/linux/Makefile.am: Add libtool support.  Change
	awk reference to a variable reference.  Change signal.h
	reference to a variable reference.
	* libc/sys/linux/configure.in: Add libtool support.
	* libc/syscalls/Makefile.am: Likewise.
	* libc/time/Makefile.am: Likewise.
	* libc/unix/Makefile.am: Likewise.
	* libm/Makefile.am: Add libtool support.  Change math and
	mathfp references to variables.
	* libm/configure.in: Add libtool support.  Add
	LIBM_MACHINE_LIB variable.
	* libm/common/Makefile.am: Add libtool support.
	* libm/math/Makefile.am: Likewise.
	* libm/mathfp/Makefile.am: Likewise.
	Regenerate all Makefile.in, aclocal.m4, and configure.
2001-12-13 23:50:11 +00:00
Christopher Faylor 333d609843 * libc/posix/execvp.c: Remove obsolete CYGWIN32 considerations throughout.
* signal.h: Change comment to reflect __CYGWIN__ rather than __CYGWIN32__.
* popen.c (popen): Use __CYGWIN_ rather than __CYGWIN32__.
* system.c (_system_r): Ditto.
2001-10-22 16:40:26 +00:00
Jeff Johnston 5665b0e1d0 2001-10-01 Charles Wilson <cwilson@ece.gatech.edu>
* libc/include/stdlib.h: add declarations for
        _strtoull_r, _strtoll_r, strtoull, and strtoll.
        * libc/stdio/local.h: remove declarations of
        __strtoull_r and __strtoll_r.
        * libc/stdio/vfscanf.c(__svfscanf_r): call
        _strtoull_r instead of __strtoull_r. Ditto
        _strtoll_r vs. __strtoll_r.
        * libc/stdlib/Makefile.am: add new files to
        .c list and .def list
        * libc/stdlib/Makefile.in: regenerate
        * libc/stdlib/strtoll_r.c: rename __strtoll_r
        as _strtoll_r
        * libc/stdlib/strtoull_r.c: rename __strtoull_r
        as _strtoull_r
        * libc/stdlib/strtoull.c: new file
        * libc/stdlib/strtoll.c: new file
2001-10-01 18:05:11 +00:00
Jeff Johnston 7a2afbbb85 2001-09-13 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/Makefile.am: Add support to build strtoll_r.c
        and strtoull_r.c.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/stdlib/strtoll_r.c: New file.
        * libc/stdlib/strtoull_r.c: New file.
        * libc/stdio/local.h: Add prototypes for long long string
        conversion routines.
        * libc/stdio/vfscanf.c (__svfscanf_r): Add optional long long support
        tied to %L integer conversion specifier.
2001-09-13 21:12:33 +00:00
Jeff Johnston e826766445 2001-08-21 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/mallocr.c [!defined(MALLOC_ALIGNMENT)]: Add conditional
        for SIZE_SZ so that alignment ends up a minimum of 8.
2001-08-21 20:23:16 +00:00
Nick Clifton 2b6b730c98 Handle ARMs with big endian IEEE words but little endian IEEE bytes 2001-06-28 10:40:09 +00:00
Jonathan Larmour 43b44bc5ad * libc/stdlib/mbtowc_r.c (_mbtowc_r): Avoid dereferencing
NULL pointer.
2001-06-11 17:21:18 +00:00
Jeff Johnston 52cb9e6934 2001-04-20 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdio.h[!_REENT_ONLY]: Moved various functions together
        into one list.
        [!__STRICT_ANSI__]: Moved non-ANSI I/O functions in this list.
        (vfscanf, vscanf, vsscanf, _vfscanf_r, _vscanf_r, _vsscanf_r): New
        function prototypes.
        (_fscanf_r, _sscanf_r): Ditto.
        * libc/include/stdlib.h: Added _strtod_r prototype.
        * libc/stdio/Makefile.am: Add new v*scanf functions.
        * libc/stdio/Makefile.in: Regenerate.
        * libc/stdio/fscanf.c: Reorganized so HAVE_STDC only affects prototype
        and code is shared.  Added reentrant _fscanf_r which calls __svfscanf_r.        * libc/stdio/scanf.c: Changed to call __svfscanf_r.
        * libc/stdio/sscanf.c: Changed documentation to add reentrant routines.
        (sscanf): Changed to call __svfscanf_r with _REENT argument.
        (_sscanf_r): New routine.
        * libc/stdio/local.h: Removed __svfscanf prototype and replaced it
        with __svfscanf_r prototype.
        * libc/stdio/vfscanf.c (vfscanf, _vfscanf_r: New
        routines.
        (__svfscanf_r): Reentrant version of __svfscanf which takes reetrancy
        structure as argument as calls reentrant versions of helper functions
        (e.g. _strtol_r, _strtoul_r). Also replaced calls to atol and atof
        to _strtol_r and _strtod_r respectively.
        * libc/stdio/vfscanf.c: Also changed __svfscanf to call __svfscanf_r.
        * libc/stdlib/strtod.c (strtod): Changed to call _strtod_r with
        _REENT argument.
        * libc/stdio/vscanf.c: New file.
        * libc/stdio/vsscanf.c: Ditto.
2001-04-20 22:50:51 +00:00
Jeff Johnston ee37ede1d3 2001-02-22 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/machine/setjmp-dj.h: With DJ Delorie's permission,
        changed the copyright information to allow free modification of the
        file with no reference to "copying.dj".
        * libc/include/sys/stat-dj.h: Ditto.
        * libc/machine/i386/setjmp.S: Ditto.
        * libc/sys/h8300hms/sys/file.h: Ditto.
        * libc/sys/sysmec/access.c: Ditto.
        * libc/sys/sysnecv850/access.c: Ditto.
        * libc/stdio/mktemp.c: Fixed typo for the word copyright.
        * libc/stdlib/getenv_r.c: Ditto.
        * libc/stdlib/putenv_r.c: Ditto.
        * libc/stdlib/setenv_r.c: Ditto.
        * libc/stdlib/getenv.c: Removed DJ reference since any possible
        modifications will now be in the _r version of this file.
        * libc/stdlib/putenv.c: Ditto.
        * libc/stdlib/setenv.c: Ditto.
        * libc/sys/go32/copying.dj: Removed DJ's address which is no longer
        valid.  Added a reference to DJ's web page that contains his address.
        * libc/sys/go32/*.s: Removed references to DJ's old address.
        * libc/sys/go32/*.c: Ditto.
        * libc/sys/go32/*.h: Ditto.
        * libc/sys/go32/*.S: Ditto.
        * libc/sys/go32/sys/*.h: Ditto.
2001-02-22 22:12:43 +00:00
Jeff Johnston ab4745dcb2 2001-02-14 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
* libc/include/stdlib.h: Add declarations of rand48 functions and
        their reentrant versions.
        * libc/include/sys/reent.h: Move macros from rand48.h. Add
        struct _rand48 for shared parameters of rand48 functions.
        (struct _reent): Add a variable _r48 of struct _rand48.
        (_REENT_INIT): Add _r48 initialization.
        * libc/stdlib/Makefile.am (lib_a_SOURCES): Add rand48 functions.
        (CHEWOUT_FILES): Add rand48.def.
        * libc/stdlib/Makefile.am: Add dependencies for rand48 functions.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/stdlib/drand48.c (drand48, _drand48_r): Derived from the
        NetBSD C library.
        * libc/stdlib/erand48.c (erand48, _erand48_r): Ditto.
        * libc/stdlib/jrand48.c (jrand48, _jrand48_r): Ditto.
        * libc/stdlib/lcong48.c (lcong48, _lcong48_r): Ditto.
        * libc/stdlib/lrand48.c (lrand48, _lrand48_r): Ditto.
        * libc/stdlib/mrand48.c (mrand48, _mrand48_r): Ditto.
        * libc/stdlib/nrand48.c (nrand48, _nrand48_r): Ditto.
        * libc/stdlib/seed48.c (seed48, _seed48_r): Ditto.
        * libc/stdlib/srand48.c (srand48, _srand48_r): Ditto.
        * libc/stdlib/rand48.c (__dorand48): Ditto.
        * libc/stdlib/rand48.h: Ditto, and modify declarations of global
        parameters into macros referring them in the reentrant structure.
2001-02-15 02:04:55 +00:00
Christopher Faylor 82ea92f3ea * libc/stdlib/mallocr.c: Undefine windows preprocessor variables when compiling
under Cygwin.
2001-01-30 04:04:59 +00:00
Jeff Johnston b6182a09dd 2000-12-13 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/ldtoa.c (_ldcheck): New routine
        that categorizes a long double as NaN, Infinity, or other.
        * libc/stdio/vfprintf.c [WANT_IO_LONG_DBL](_VFPRINTF_R): Removed
        isinfl and isnanl static routines which were i386-specific.  Changed
        calls to the two removed routines to a single _ldcheck call.
        * libc/stdio/vfieeefp.h (ldieee): Fixed missing semi-colons.
2000-12-14 00:25:06 +00:00
Jeff Johnston 2005ab6be7 2000-12-07 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/ldtoa.c: Removed include of alloca.h.
        Also removed \r's.
        (asctoeg): Replaced alloca call with stack array and malloc
        when storage exceeds reasonable limit.
        (e53toe): Fixed einfin calls missing ldp parameter.
        (eiisinf): Hide behind check for LDBL_MANT_DIG == 64.
2000-12-07 23:38:05 +00:00
Jeff Johnston 6bdac416e9 2000-12-06 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/Makefile.am: Added ldtoa.c to list of sources.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/stdio/floatio.h: Added suitable MAXEXP for long double.
        * libc/stdio/vfieeefp.h: Added long double bit structures.
        * libc/stdio/vfprintf.c[WANT_IO_LONG_DBL]: Added long double support.
        [WANT_IO_LONG_DBL](isinfl, isnanl): New static long double routines.
        (exponent): Changed expbuf to reasonable maximum instead of MAXEXP.
        * libc/stdio/vfscanf.c[WANT_IO_LONG_DBL]: Added long double support.
        * libc/stdlib/ldtoa.c: New file containing _ldtoa_r and
        _strtold routines used for conversions between character
        and long double.
2000-12-06 23:50:11 +00:00
Jeff Johnston f5e7c1244b 2000-12-04 Joel Sherrill <joel@OARcorp.com>
* libc/stdlib/system.c: Avoid compiling do_system() for RTEMS.
2000-12-04 18:29:29 +00:00
Michael Meissner 73dea7905c Only reference environ indirectly through a pointer 2000-11-22 18:26:10 +00:00
Christopher Faylor a385ae7508 * Makefile.am: Fix space vs. tab problem in install-data-local.
* Makefile.in: Regenerate.
* libc/include/_ansi.h (_EXFUN): Define specially for __CYGWIN__.
(_EXPARM): New macro for defining a function parameter.
* libc/include/stdlib.h: Use _EXPARM.
* libc/stdlib/mallocr.c: Don't build cfree for Cygwin.
2000-09-06 20:46:27 +00:00
Christopher Faylor c9ca4412d7 * libc/stdlib/system.c (do_system): Eliminate explicit declaration of environ
when compiling under cygwin since it is already declared in unistd.h.
2000-08-25 17:39:06 +00:00
Jeff Johnston 2d5862dee6 2000-08-23 Werner Almesberger <Werner.Almesberger@epfl.ch>
* libc/stdlib/mprec.c (ulp, b2d, d2b): changed a few expressions
        like  x << y-z  to the equivalent  x << (y-z).
        (d2b): changed if statements with assignment to perform the
        assignment prior to the if check.
        * libc/reent/reent.c: included stdlib.h for "_free_r" prototype.
        * libc/unix/getpass.c (getpass): moved "echo" assignment out of if.
        * libc/unix/ttyname.c: included string.h for "strcpy" prototype.
        * libc/unix/getcwd.c (ISDOT): added parentheses to clarify && and ||
        precedence.
        * libc/include/sys/unistd.h: added "vfork" prototype (for popen.c).
        Added "_execve" prototype (for execl.c, execle.c, execv.c, and
        execve.c).
        * libc/posix/popen.c (popen): added parentheses to clarify && and ||
        precedence.
        * libm/math/e_cosh.c (__ieee754_cosh): changed parentheses to
        clarify && and || precendence (and to remove pascalism).
        * libm/math/e_sinh.c (__ieee754_sinh): Ditto.
        * libm/math/s_infconst.c: added another pair of braces to all
        initializers for __infinity (need three: for __infinity[1] array,
        for union __dmath, and for i[2]).
2000-08-24 22:32:38 +00:00
Jeff Johnston 199359f062 2000-08-23 Werner Almesberger <Werner.Almesberger@epfl.ch>
* libc/stdlib/abort.c: changed description: uses "raise" instead of
        "getpid" and "kill"; added: uses "write" and "_exit".
        Also included unistd.h for "_exit" prototype.
        * libc/stdlib/system.c: included unistd.h for "execve" prototype,
        reent.h for "_fork_r" and "_wait_r" prototypes.
        (do_system): changed  extern char *environ[] to POSIX-friendly
        extern char **environ.
        * libc/stdlib/wctomb_r.c: included string.h for "strlen" and "strcmp"
        prototypes.
        * libc/stdlib/remove.c: included reent.h for "_unlink_r" prototype.
        * libc/reent/execr.c: included sys/wait.h for "wait" prototype.
        * libc/reent/fstatr.c: included sys/stat.h for "fstat" prototype.
        * libc/reent/openr.c: included fcntl.h for "open" prototype.
        * libc/reent/signalr.c: included signal.h for "kill" prototype,
        unistd.h for "getpid" prototype.
        * libc/reent/statr.c: included sys/stat.h for "stat" prototype.
        * libc/reent/timer.c: included sys/time.h for "gettimeofday" prototype.
        * libc/unix/getut.c (utmpname): removed local, incorrect "strdup"
        prototype.  Also included stdlib.h for "abort", string.h for
        "strdup" and "strncmp" prototypes.
        * libc/unix/getlogin.c: included string.h for "strncmp", "memset", and
        "strncpy", unistd.h for "read" and "close" prototypes.
        * libc/posix/execvp.c: included string.h for "strchr", "strlen", and
        "strcat" prototypes.
2000-08-24 18:51:09 +00:00
Jeff Johnston a334e5ef72 2000-08-23 Werner Almesberger <Werner.Almesberger@epfl.ch>
* libc/stdlib/envlock.c: changed documented "__env_lock" and
        "__env_unlock" prototype from "void *" or "char *" to
        "struct _reent *" to match real function.  Also added include
        of envlock.h.
        * libc/stdlib/mlock.c: changed documented "__malloc_lock" and
        "__malloc_unlock" prototype from "void *" or "char *" to
        "struct _reent *" to match real function.
        * libc/stdlib/envlock.h: added "__env_lock" and "__env_unlock"
        prototypes (for getenv_r.c and setenv_r.c).
2000-08-24 16:11:59 +00:00
Jeff Johnston a704d94a86 Tue Jun 20 14:30:00 2000 Jeff Johnston <jjohnstn@cygnus.com>
* libc/include/sys/reent.h (_rand_next): Added __extension__
        qualifier as long long type is not strict ANSI.
        * libc/stdlib/rand.c (rand): Added __extension__ qualifier
        to long long constant.
2000-06-20 18:34:57 +00:00
Jeff Johnston 46a43a99c6 Fri Jun 9 14:28:00 2000 Jeff Johnston <jjohnstn@cygnus.com>
* libc/include/sys/reent.h (_rand_next): Changed to
        unsigned long long and moved to end of _reent struct in _new union.
        (_REENT_INIT): Changed to move _rand_next initialization.
        * libc/stdlib/rand.c (rand): Changed to use unsigned long long
        linear congruential algorithm that is used by DJGPP.
2000-06-09 18:50:05 +00:00
Jeff Johnston 518882f3a2 Thu Jun 8 17:54:00 2000 Jeff Johnston <jjohnstn@cygnus.com>
* libc/stdlib/rand_r.c: New algorithm that meets minimal
        standard.
2000-06-08 21:56:18 +00:00
Jeff Johnston c87be3e4d6 Mon Apr 17 12:46:00 2000 Marek Michalkiewicz <marekm@linux.org.pl>
* libc/signal/signal.c (_signal_r) : Removed unused local variable temp.        * libc/stdio/findfp.c (std): Added declaration of flags and file.
        * libc/stdio/mktemp.c (_gettemp, _mkstemp_r, mkstemp): Added int
        return type.
        * libc/stdio/putchar.c (putchar): Added return statement.
        * libc/stdio/refill.c (lflush): Added correct parentheses.
        * libc/stdio/vfprintf.c (_VFPRINTF_R): Ditto.
        * libc/stdio/vfscanf.c (__svfscanf): Changed sprintf call which
        prints long value to use l qualifier.
        * libc/stdlib/dtoa.c (_dtoa_r): Added parentheses to remove warning
        messages and initialized local values: ilim, ilim1, and spec_case.
        * libc/stdlib/ecvtbuf.c (print_e): Removed unused variable dp.
        * libc/stdlib/mbctype.h (_issjis1, _issjis2): Added parentheses.
        * libc/stdlib/mprec.c: Ditto.
        * libc/stdlib/setenv_r.c: Ditto.
        * libc/stdlib/strtod.c: Ditto.
        * libc/stdlib/strtol.c: Ditto.
        * libc/stdlib/strtoul.c: Ditto.
        * libm/common/sf_expm1.c: Added curly braces to if else clauses.
        * libm/common/sf_log1p.c: Ditto.
        * libm/common/sf_scalbn.c: Ditto.
        * libm/math/ef_log.c: Ditto.
2000-04-17 17:10:18 +00:00
Jeff Johnston b8ec20c809 Tue Mar 21 19:08:00 2000 Jeff Johnston <jjohnstn@cygnus.com>
* libc/stdlib/envlock.c: Fixed comment typo.
2000-03-22 00:09:49 +00:00
Christopher Faylor 8a0efa53e4 import newlib-2000-02-17 snapshot 2000-02-17 19:39:52 +00:00