Commit Graph

1211 Commits

Author SHA1 Message Date
Jeff Johnston cece11c511 2008-01-21 Neal H. Walfield <neal@gnu.org>
* Makefile.am (crt1.o): Use correct source.
        * Makefile.in: Regenerated.
2008-01-21 18:29:17 +00:00
Eric Blake dc26a86fbb * libc/string/Makefile.am (ELIX_2_SOURCES): Fix definition.
* libc/string/Makefile: Regenerate.
2008-01-15 13:35:33 +00:00
Corinna Vinschen 12df8a5b53 * libc/include/machine/setjmp.h (__SIGMASK_FUNC): Define as
pthread_sigmask or sigprocmask depending on _POSIX_THREADS.
	(sigsetjmp): Use __SIGMASK_FUNC.
	(siglongjmp): Ditto.
	(_setjmp): Define as macro.
	(_longjmp): Ditto.
2008-01-15 09:41:06 +00:00
Eric Blake 40617efc8b Make strstr and strcasestr O(n), not O(n^2); add memmem.
* libc/string/str-two-way.h: New file.
* libc/string/memmem.c (memmem): New file.
* libc/include/string.h (memmem): Declare for all platforms.
* libc/string/strstr.c (strstr): Provide O(n) implementation when
not optimizing for space.
* libc/string/strcasestr.c (strcasestr): Likewise.
* libc/string/Makefile.am (ELIX_SOURCES): Rename to...
(ELIX_2_SOURCES): ...this.
(ELIX_4_SOURCES): New category, for memmem.
(lib_a_SOURCES, libstring_la_SOURCES): Build new file.
(CHEWOUT_FILES): Build documentation for memmem.
* libc/string/strings.tex: Include new docs.
2008-01-12 04:25:55 +00:00
Jeff Johnston ceb32a183c 2008-01-08 Jeff Johnston <jjohnstn@redhat.com>
* libc/machine/m68k/memcpy.S: Remove % from register references
        as this is already handled by m68kasm.h.
        * libc/machine/m68k/memset.S: Ditto.
2008-01-08 21:48:06 +00:00
Jeff Johnston a32113705f 2008-01-07 Jeff Johnston <jjohnstn@redhat.com>
* libc/machine/m68k/m68kasm.h: New file.
        * libc/machine/m68k/setjmp.S: Remove common definitions and
        place in m68kasm.h.  Include "m68kasm.h".
        * libc/machine/m68k/memcpy.S: Include "m68kasm.h" and use
        SYM() macro when referencing function name.
        * libc/machine/m68k/memset.S: Ditto.
2008-01-07 18:59:45 +00:00
Jeff Johnston a639937a9a 2008-01-03 Jeff Johnston <jjohnstn@redhat.com>
Make isatty syscall handling consistent with other newlib syscalls.

        * libc/include/_syslist.h: Add _isatty.
        * libc/include/reent.h: Add _isatty_r.
        * libc/include/sys/unistd.h: Add _isatty.
        * libc/posix/Makefile.am: Add new _isatty.c file.
        * libc/posix/Makefile.in: Regenerated.
        * libc/posix/_isatty.c: New file.
        * libc/posix/isatty.c: Changed to call _isatty().
        * libc/reent/Makefile.am: Add new isattyr.c file.
        * libc/reent/Makefile.in: Regenerated.
        * libc/reent/isattyr.c: New file.
        * libc/stdio/freopen.c: Changed to call _isatty_r().
        * libc/stdio/makebuf.c: Ditto.
        * libc/sys/a29khif/_isatty.S: Change isatty to _isatty.
        * libc/sys/arc/isatty.c: Ditto.
        * libc/sys/arm/syscalls.c: Ditto.
        * libc/sys/d10v/syscalls.c: Ditto.
        * libc/sys/h8300hms/syscalls.c: Ditto.
        * libc/sys/h8500hms/syscalls.c: Ditto.
        * libc/sys/linux/Makefile.am: Add new isatty.c file.
        * libc/sys/linux/Makefile.in: Regenerated.
        * libc/sys/linux/isatty.c: New file.
        * libc/syscalls/Makefile.am: Add new sysisatty.c file.
        * libc/syscalls/Makefile.in: Regenerated.
        * libc/syscalls/sysisatty.c: New file.
2008-01-03 22:33:37 +00:00
Jeff Johnston 7c8bd7a075 2008-01-02 Jeff Johnston <jjohnstn@redhat.com>
* libc/syscalls/sysclose.c: Always call reentrant version of the
        underlying syscall since one is guaranteed to exist in libc/reent.
        * libc/syscalls/sysexecve.c: Ditto.
        * libc/syscalls/sysfcntl.c: Ditto.
        * libc/syscalls/sysfork.c: Ditto.
        * libc/syscalls/sysfstat.c: Ditto.
        * libc/syscalls/sysgetpid.c: Ditto.
        * libc/syscalls/sysgettod.c: Ditto.
        * libc/syscalls/syskill.c: Ditto.
        * libc/syscalls/syslink.c: Ditto.
        * libc/syscalls/syslseek.c: Ditto.
        * libc/syscalls/sysopen.c: Ditto.
        * libc/syscalls/sysread.c: Ditto.
        * libc/syscalls/syssbrk.c: Ditto.
        * libc/syscalls/sysstat.c: Ditto.
        * libc/syscalls/systimes.c: Ditto.
        * libc/syscalls/sysunlink.c: Ditto.
        * libc/syscalls/syswait.c: Ditto.
        * libc/syscalls/syswrite.c: Ditto.
2008-01-03 00:16:49 +00:00
Jeff Johnston 26b8429317 2007-12-19 Jeff Johnston <jjohnstn@redhat.com>
* NEWS: Update with 1.16.0 info.
        * README: Ditto.
        * acinclude.m4: Change version number to 1.16.0.
        * aclocal.m4: Regenerated.
        * configure: Ditto.
        * doc/aclocal.m4: Ditto.
        * doc/configure: Ditto.
        * libc/*/aclocal.m4: Ditto.
        * libc/*/configure: Ditto.
        * libc/libc.texinfo: Ditto.
        * libm/*/aclocal.m4: Ditto.
        * libm/*/configure: Ditto.
        * libm/libm.texinfo: Ditto.
        * libc/sys/linux/shared.ld: Add VERS_1.16.
2007-12-19 22:36:48 +00:00
Jeff Johnston 6af69de3d3 2007-12-19 Jeff Johnston <jjohnstn@redhat.com>
* libc/string/strcasestr.c: Remove id macro.
        * libc/sys/linux/linuxthreads/attr.c: Fix up sched_priority
        field reference to be __sched_priority.
        * libc/sys/linux/linuxthreads/joinrace.c: Ditto.
        * libc/sys/linux/linuxthreads/manager.c: Ditto.
        * libc/sys/linux/stdlib/collate.c: Remove id macro.
        * libc/sys/linux/stdlib/collcmp.c: Ditto.
        * libc/sys/linux/stdlib/engine.c: Ditto.
        * libc/sys/linux/stdlib/fnmatch.c: Ditto.
        * libc/sys/linux/stdlib/glob.c: Ditto.
        * libc/sys/linux/stdlib/reallocf.c: Ditto.
        * libc/sys/linux/stdlib/regcomp.c: Ditto.
        * libc/sys/linux/stdlib/regerror.c: Ditto.
        * libc/sys/linux/stdlib/regexec.c: Ditto.
        * libc/sys/linux/stdlib/regfree.c: Ditto.
        * libc/sys/linux/sys/cdefs.h: Replace with latest version.
        * libc/sys/linux/include/argp.h: Ditto.
        * libc/sys/linux/sys/libc-lock.h: New file.
        * libc/sys/linux/sys/stdint.h: Ditto.
        * libc/sys/linux/include/sched.h: New file.
2007-12-19 22:27:00 +00:00
Jeff Johnston 3cc8a378d1 2007-12-19 Dave Korn <dave.korn@artimi.com>
Jeff Johnston  <jjohnstn@redhhat.com>

        * libc/include/_ansi.h: Add _LONG_LONG definition.
        * libc/include/math.h (llrint, llrintf, rintl, lrintl, llrintl): Add
        prototypes.
        * libc/machine/i386/machine/fastmath.h: Add support for new i386
        fast math versions of rint, lrint, and llrint family functions.
        * libm/machine/i386/Makefile.am: Add new files.
        * libm/machine/i386/Makefile.in: Regenerated.
        * libm/machine/i386/f_llrint.c, libm/machine/i386/f_lrint.c,
        libm/machine/i386/f_rint.c, libm/machine/i386/f_llrintf.c,
        libm/machine/i386/f_lrintf.c, libm/machine/i386/f_rintf.c,
        libm/machine/i386/f_llrintl.c, libm/machine/i386/f_lrintl.c,
        libm/machine/i386/f_rintl.c:  New files with fast math implementations.
2007-12-19 22:20:25 +00:00
Jeff Johnston 41e94f2488 2007-12-19 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/features.h: Add checks for C90 compilers using
        -ansi.
2007-12-19 18:51:19 +00:00
Jeff Johnston 7f9b49e427 2007-11-15 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/_default_fcntl.h: New header file that
        is the default version of sys/fcntl.h.
        * libc/include/sys/fcntl.h: Changed to simply include
        sys/_default_fcntl.h.
        * libc/sys/arm/sys/fcntl.h: New file that includes
        sys/_default_fcntl.h and defines O_BINARY.
2007-12-19 18:49:17 +00:00
Corinna Vinschen ac26b72723 * libc/include/wchar.h: Add prototypes for wcpcpy and wcpncpy.
* libc/string/Makefile.am (ELIX_SOURCES): Add wcpcpy.c and
	wcpncpy.c.
	(CHEWOUT_FILES): Add wcpcpy.def and wcpncpy.def.
	* libc/string/Makefile.in: Regenerate.
	* libc/string/wcpcpy.c: New file.
	* libc/string/wcpncpy.c: New file.
	* libc/string/wcstrings.tex: Add wcpcpy and wcpncpy.
2007-12-19 17:33:12 +00:00
Corinna Vinschen 478df8bb91 * libc/stdio/vfprintf.c (_VFPRINTF_R): Use correct pointer in call to
_wcsrtombs_r.
2007-12-19 17:06:19 +00:00
Jeff Johnston 60bef55d30 2007-11-19 Nick Clifton <nickc@redhat.com>
* libc/machine/mn10300/Makefile.am (CCASFLAGS): Add -Wa,--gdwarf-2.
        * libc/machine/mn10300/Makefile.in: Regenerate.
        * libc/machine/mn10300/memchar.S: Remove redundant labels.  Add
        .debug_frame section.
        * libc/machine/mn10300/memcmp.S: Likewise.
        * libc/machine/mn10300/memcpy.S: Likewise.
        * libc/machine/mn10300/memset.S: Likewise.
        * libc/machine/mn10300/strchr.S: Likewise.
        * libc/machine/mn10300/strcmp.S: Likewise.
        * libc/machine/mn10300/strcpy.S: Likewise.
        * libc/machine/mn10300/strlen.S: Likewise.
2007-11-19 20:03:25 +00:00
Corinna Vinschen 815774e87f * libc/include/sys/unistd.h: Remove Cygwin definition of MAXPATHLEN. 2007-11-08 16:20:12 +00:00
Dave Brolley 7b4cad4ae6 2007-11-07 Dave Brolley <brolley@redhat.com>
* libc/machine/configure: Regenerated to pick up mep-elf changes.

        * Contribute mep-elf from Red Hat
        2006-10-27  DJ Delorie  <dj@redhat.com>

        * libc/include/machine/setjmp.h: Add MeP support.

        2003-04-17  DJ Delorie  <dj@redhat.com>

        * configure.host (mep-*-*): Support "long long" type.

        2001-06-06  DJ Delorie  <dj@redhat.com>

        * libc/include/machine/ieeefp.h (mep): Support little endian too.

        2001-05-14  DJ Delorie  <dj@redhat.com>

        * configure.host: Add mep's machine_dir.
        * libc/include/setjmp.h: Add mep support.
        * libc/machine/mep: New.
        * libc/machine/mep/setjmp.S: New, support mep's setjmp/longjmp.

        2001-05-04  DJ Delorie  <dj@redhat.com>

        * configure.host: Add mep.
        * libc/include/machine/ieeefp.h: Ditto.
2007-11-07 21:42:24 +00:00
DJ Delorie 69bfb481a8 * libc/signal/signal.c (_raise_r): Don't attempt to initialize the
signal table, just use a default, in case initialization cause
recursion.
2007-10-31 22:22:31 +00:00
Jeff Johnston 2a3a02a687 2007-10-23 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/wcstombs_r.c: Add SUSV2 support for calculating
        size if output buffer is NULL.
2007-10-23 19:50:29 +00:00
Jeff Johnston 70317d8506 2007-10-17 Jeff Johnston <jjohnstn@redhat.com>
* libm/mathfp/s_logarithm.c: Fix error introduced by previous
        fix when handling negative input values.  Make function
        consistent with math directory and glibc version such that
        inf and nan values return inf and nan respectively with no
        errno setting.
        * libm/mathfp/sf_logarithm.c: Ditto.
        * libm/math/w_log.c: Set errno to ERANGE when input is 0.0.
        * libm/math/wf_log.c: Ditto.
        * libm/math/w_log10.c: Ditto.
        * libm/math/wf_log10.c: Ditto.
2007-10-18 00:03:32 +00:00
Jeff Johnston 923f9573a3 2007-10-17 Jeff Johnston <jjohnstn@redhat.com>
* libm/mathfp/s_logarithm.c: Fix case where input is 0 to
        return -inf.
        * libm/mathfp/sf_logarithm.c: Ditto.
2007-10-17 20:14:49 +00:00
Jeff Johnston ec828b8bf1 Fix typo. 2007-10-17 19:36:43 +00:00
Jeff Johnston 8b6308401d 2007-10-17 Jeff Johnston <jjohnstn@redhat.com>
* libc/machine/i386/machine/fastmath.h: New file.
2007-10-17 19:21:32 +00:00
Eric Blake c99e78b85c * libc/stdio/vfprintf.c (_VFPRINTF_R) [__OPTIMIZE_SIZE__]:
Correctly nest else within conditionals.
Reported by Artur Lipowski.
2007-10-13 15:26:20 +00:00
Nick Clifton 97f0a0ecf6 * libc/sys/linux/dl/do-lookup.h (FCT): Support symbols with the STT_COMMON type. 2007-10-09 16:01:43 +00:00
Ben Elliston b7bc4cccd6 * libm/machine/spu/headers/acosd2.h: Include spu_intrinsics.h
before simdmath.h to get a definition for `vector'.
	* libm/machine/spu/headers/asind2.h: Likewise.
2007-10-09 04:24:11 +00:00
Jeff Johnston 1671fbe1ca 2007-09-28 Patrick Mansfield <patmans@us.ibm.com>
* libm/machine/spu/headers/dom_chkd_less_than.h: New file.
	* libm/machine/spu/headers/dom_chkd_negone_one.h: Ditto.
	* libm/machine/spu/headers/dom_chkf_less_than.h: Ditto.
	* libm/machine/spu/headers/dom_chkf_negone_one.h: Ditto.
	* libm/machine/spu/headers/acos.h: Add domain check.
	* libm/machine/spu/headers/acosf.h: Ditto.
	* libm/machine/spu/headers/acosh.h: Ditto.
	* libm/machine/spu/headers/acoshf.h: Ditto.
	* libm/machine/spu/headers/asin.h: Ditto.
	* libm/machine/spu/headers/asinf.h: Ditto.
	* libm/machine/spu/headers/atanh.h: Ditto.
	* libm/machine/spu/headers/atanhf.h: Ditto.
	* libm/machine/spu/headers/fmod.h: Ditto.
	* libm/machine/spu/headers/fmodf.h: Ditto.
	* libm/machine/spu/headers/log.h: Ditto.
	* libm/machine/spu/headers/log10.h: Ditto.
	* libm/machine/spu/headers/log1p.h: Ditto.
	* libm/machine/spu/headers/log1pf.h: Ditto.
	* libm/machine/spu/headers/log2.h: Ditto.
	* libm/machine/spu/headers/log2f.h: Ditto.
	* libm/machine/spu/headers/sqrt.h: Ditto.
	* libm/machine/spu/headers/sqrtf.h: Ditto.
	* libm/machine/spu/headers/tgamma.h: Ditto.
	* libm/machine/spu/headers/tgammaf.h: Ditto.
2007-09-28 18:58:10 +00:00
Jeff Johnston e30a7b84aa 2007-09-28 Patrick Mansfield <patmans@us.ibm.com>
* libm/machine/spu/Makefile.am: Add new C files.
	* libm/machine/spu/Makefile.in: Regenerate.
	* libm/machine/spu/headers/acos.h: New file.
	* libm/machine/spu/headers/acosd2.h: Ditto.
	* libm/machine/spu/headers/acosf.h: Ditto.
	* libm/machine/spu/headers/acosf4.h: Ditto.
	* libm/machine/spu/headers/acosh.h: Ditto.
	* libm/machine/spu/headers/acoshd2.h: Ditto.
	* libm/machine/spu/headers/acoshf.h: Ditto.
	* libm/machine/spu/headers/acoshf4.h: Ditto.
	* libm/machine/spu/headers/asin.h: Ditto.
	* libm/machine/spu/headers/asind2.h: Ditto.
	* libm/machine/spu/headers/asinf.h: Ditto.
	* libm/machine/spu/headers/asinf4.h: Ditto.
	* libm/machine/spu/headers/asinh.h: Ditto.
	* libm/machine/spu/headers/asinhd2.h: Ditto.
	* libm/machine/spu/headers/asinhf.h: Ditto.
	* libm/machine/spu/headers/asinhf4.h: Ditto.
	* libm/machine/spu/headers/atan.h: Ditto.
	* libm/machine/spu/headers/atan2.h: Ditto.
	* libm/machine/spu/headers/atan2d2.h: Ditto.
	* libm/machine/spu/headers/atan2f.h: Ditto.
	* libm/machine/spu/headers/atan2f4.h: Ditto.
	* libm/machine/spu/headers/atand2.h: Ditto.
	* libm/machine/spu/headers/atanf4.h: Ditto.
	* libm/machine/spu/headers/atanh.h: Ditto.
	* libm/machine/spu/headers/atanhd2.h: Ditto.
	* libm/machine/spu/headers/atanhf.h: Ditto.
	* libm/machine/spu/headers/atanhf4.h: Ditto.
	* libm/machine/spu/headers/cos.h: Ditto.
	* libm/machine/spu/headers/cos_sin.h: Ditto.
	* libm/machine/spu/headers/cosd2.h: Ditto.
	* libm/machine/spu/headers/cosf.h: Ditto.
	* libm/machine/spu/headers/cosf4.h: Ditto.
	* libm/machine/spu/headers/cosh.h: Ditto.
	* libm/machine/spu/headers/coshd2.h: Ditto.
	* libm/machine/spu/headers/coshf.h: Ditto.
	* libm/machine/spu/headers/coshf4.h: Ditto.
	* libm/machine/spu/headers/divd2.h: Ditto.
	* libm/machine/spu/headers/divf4.h: Ditto.
	* libm/machine/spu/headers/erf.h: Ditto.
	* libm/machine/spu/headers/erf_utils.h: Ditto.
	* libm/machine/spu/headers/erfc.h: Ditto.
	* libm/machine/spu/headers/erfcd2.h: Ditto.
	* libm/machine/spu/headers/erfcf.h: Ditto.
	* libm/machine/spu/headers/erfcf4.h: Ditto.
	* libm/machine/spu/headers/erfd2.h: Ditto.
	* libm/machine/spu/headers/erff.h: Ditto.
	* libm/machine/spu/headers/erff4.h: Ditto.
	* libm/machine/spu/headers/exp.h: Ditto.
	* libm/machine/spu/headers/exp2.h: Ditto.
	* libm/machine/spu/headers/exp2d2.h: Ditto.
	* libm/machine/spu/headers/exp2f4.h: Ditto.
	* libm/machine/spu/headers/expd2.h: Ditto.
	* libm/machine/spu/headers/expf4.h: Ditto.
	* libm/machine/spu/headers/expm1.h: Ditto.
	* libm/machine/spu/headers/expm1d2.h: Ditto.
	* libm/machine/spu/headers/expm1f.h: Ditto.
	* libm/machine/spu/headers/expm1f4.h: Ditto.
	* libm/machine/spu/headers/floord2.h: Ditto.
	* libm/machine/spu/headers/floorf4.h: Ditto.
	* libm/machine/spu/headers/hypot.h: Ditto.
	* libm/machine/spu/headers/hypotd2.h: Ditto.
	* libm/machine/spu/headers/hypotf.h: Ditto.
	* libm/machine/spu/headers/hypotf4.h: Ditto.
	* libm/machine/spu/headers/isnan.h: Ditto.
	* libm/machine/spu/headers/isnand2.h: Ditto.
	* libm/machine/spu/headers/isnanf.h: Ditto.
	* libm/machine/spu/headers/isnanf4.h: Ditto.
	* libm/machine/spu/headers/ldexpd2.h: Ditto.
	* libm/machine/spu/headers/ldexpf4.h: Ditto.
	* libm/machine/spu/headers/lgamma.h: Ditto.
	* libm/machine/spu/headers/lgammad2.h: Ditto.
	* libm/machine/spu/headers/lgammaf.h: Ditto.
	* libm/machine/spu/headers/lgammaf4.h: Ditto.
	* libm/machine/spu/headers/log.h: Ditto.
	* libm/machine/spu/headers/log10.h: Ditto.
	* libm/machine/spu/headers/log10d2.h: Ditto.
	* libm/machine/spu/headers/log1p.h: Ditto.
	* libm/machine/spu/headers/log1pd2.h: Ditto.
	* libm/machine/spu/headers/log1pf.h: Ditto.
	* libm/machine/spu/headers/log1pf4.h: Ditto.
	* libm/machine/spu/headers/log2.h: Ditto.
	* libm/machine/spu/headers/log2d2.h: Ditto.
	* libm/machine/spu/headers/log2f4.h: Ditto.
	* libm/machine/spu/headers/logbf.h: Ditto.
	* libm/machine/spu/headers/logbf4.h: Ditto.
	* libm/machine/spu/headers/logd2.h: Ditto.
	* libm/machine/spu/headers/logf4.h: Ditto.
	* libm/machine/spu/headers/nearbyintf.h: Ditto.
	* libm/machine/spu/headers/nearbyintf4.h: Ditto.
	* libm/machine/spu/headers/nextafter.h: Ditto.
	* libm/machine/spu/headers/nextafterd2.h: Ditto.
	* libm/machine/spu/headers/nextafterf.h: Ditto.
	* libm/machine/spu/headers/nextafterf4.h: Ditto.
	* libm/machine/spu/headers/pow.h: Ditto.
	* libm/machine/spu/headers/powd2.h: Ditto.
	* libm/machine/spu/headers/powf.h: Ditto.
	* libm/machine/spu/headers/powf4.h: Ditto.
	* libm/machine/spu/headers/recipd2.h: Ditto.
	* libm/machine/spu/headers/recipf4.h: Ditto.
	* libm/machine/spu/headers/rintf.h: Ditto.
	* libm/machine/spu/headers/rintf4.h: Ditto.
	* libm/machine/spu/headers/scalbnf4.h: Ditto.
	* libm/machine/spu/headers/signbit.h: Ditto.
	* libm/machine/spu/headers/signbitd2.h: Ditto.
	* libm/machine/spu/headers/simdmath.h: Ditto.
	* libm/machine/spu/headers/sin.h: Ditto.
	* libm/machine/spu/headers/sincos.h: Ditto.
	* libm/machine/spu/headers/sincosd2.h: Ditto.
	* libm/machine/spu/headers/sincosf.h: Ditto.
	* libm/machine/spu/headers/sincosf4.h: Ditto.
	* libm/machine/spu/headers/sind2.h: Ditto.
	* libm/machine/spu/headers/sinf.h: Ditto.
	* libm/machine/spu/headers/sinf4.h: Ditto.
	* libm/machine/spu/headers/sinh.h: Ditto.
	* libm/machine/spu/headers/sinhd2.h: Ditto.
	* libm/machine/spu/headers/sinhf.h: Ditto.
	* libm/machine/spu/headers/sinhf4.h: Ditto.
	* libm/machine/spu/headers/sqrtd2.h: Ditto.
	* libm/machine/spu/headers/sqrtf.h: Ditto.
	* libm/machine/spu/headers/sqrtf4.h: Ditto.
	* libm/machine/spu/headers/tan.h: Ditto.
	* libm/machine/spu/headers/tand2.h: Ditto.
	* libm/machine/spu/headers/tanf.h: Ditto.
	* libm/machine/spu/headers/tanf4.h: Ditto.
	* libm/machine/spu/headers/tanh.h: Ditto.
	* libm/machine/spu/headers/tanhd2.h: Ditto.
	* libm/machine/spu/headers/tanhf.h: Ditto.
	* libm/machine/spu/headers/tanhf4.h: Ditto.
	* libm/machine/spu/headers/tgamma.h: Ditto.
	* libm/machine/spu/headers/tgammad2.h: Ditto.
	* libm/machine/spu/headers/tgammaf.h: Ditto.
	* libm/machine/spu/headers/tgammaf4.h: Ditto.
	* libm/machine/spu/headers/truncd2.h: Ditto.
	* libm/machine/spu/headers/truncf4.h: Ditto.
	* libm/machine/spu/log2.c: Ditto.
	* libm/machine/spu/s_asinh.c: Ditto.
	* libm/machine/spu/s_atan.c: Ditto.
	* libm/machine/spu/s_cos.c: Ditto.
	* libm/machine/spu/s_erf.c: Ditto.
	* libm/machine/spu/s_expm1.c: Ditto.
	* libm/machine/spu/s_isnan.c: Ditto.
	* libm/machine/spu/s_log1p.c: Ditto.
	* libm/machine/spu/s_nextafter.c: Ditto.
	* libm/machine/spu/s_sin.c: Ditto.
	* libm/machine/spu/s_tan.c: Ditto.
	* libm/machine/spu/s_tanh.c: Ditto.
	* libm/machine/spu/sf_asinh.c: Ditto.
	* libm/machine/spu/sf_cos.c: Ditto.
	* libm/machine/spu/sf_erf.c: Ditto.
	* libm/machine/spu/sf_expm1.c: Ditto.
	* libm/machine/spu/sf_log1p.c: Ditto.
	* libm/machine/spu/sf_logb.c: Ditto.
	* libm/machine/spu/sf_nearbyint.c: Ditto.
	* libm/machine/spu/sf_nextafter.c: Ditto.
	* libm/machine/spu/sf_rint.c: Ditto.
	* libm/machine/spu/sf_sin.c: Ditto.
	* libm/machine/spu/sf_tan.c: Ditto.
	* libm/machine/spu/sf_tanh.c: Ditto.
	* libm/machine/spu/w_acos.c: Ditto.
	* libm/machine/spu/w_acosh.c: Ditto.
	* libm/machine/spu/w_asin.c: Ditto.
	* libm/machine/spu/w_atan2.c: Ditto.
	* libm/machine/spu/w_atanh.c: Ditto.
	* libm/machine/spu/w_cosh.c: Ditto.
	* libm/machine/spu/w_exp.c: Ditto.
	* libm/machine/spu/w_exp2.c: Ditto.
	* libm/machine/spu/w_hypot.c: Ditto.
	* libm/machine/spu/w_lgamma.c: Ditto.
	* libm/machine/spu/w_log.c: Ditto.
	* libm/machine/spu/w_log10.c: Ditto.
	* libm/machine/spu/w_pow.c: Ditto.
	* libm/machine/spu/w_sincos.c: Ditto.
	* libm/machine/spu/w_sinh.c: Ditto.
	* libm/machine/spu/w_tgamma.c: Ditto.
	* libm/machine/spu/wf_acos.c: Ditto.
	* libm/machine/spu/wf_acosh.c: Ditto.
	* libm/machine/spu/wf_asin.c: Ditto.
	* libm/machine/spu/wf_atan2.c: Ditto.
	* libm/machine/spu/wf_atanh.c: Ditto.
	* libm/machine/spu/wf_cosh.c: Ditto.
	* libm/machine/spu/wf_hypot.c: Ditto.
	* libm/machine/spu/wf_lgamma.c: Ditto.
	* libm/machine/spu/wf_pow.c: Ditto.
	* libm/machine/spu/wf_sincos.c: Ditto.
	* libm/machine/spu/wf_sinh.c: Ditto.
	* libm/machine/spu/wf_sqrt.c: Ditto.
	* libm/machine/spu/wf_tgamma.c: Ditto.
2007-09-28 18:44:24 +00:00
Jeff Johnston 505ea71432 2007-09-28 Patrick Mansfield <patmans@us.ibm.com>
* configure.host: Define _POSIX_MODE to match the existing vector
	math code, as we don't support the matherr callout.
	* libm/machine/spu/Makefile.am: New file.
	* libm/machine/spu/Makefile.in: Auto-generated.
	* libm/machine/spu/headers/atanf.h: New file.
	* libm/machine/spu/headers/cbrt.h: Ditto.
	* libm/machine/spu/headers/cbrtf.h: Ditto.
	* libm/machine/spu/headers/ceil.h: Ditto.
	* libm/machine/spu/headers/ceilf.h: Ditto.
	* libm/machine/spu/headers/copysign.h: Ditto.
	* libm/machine/spu/headers/copysignf.h: Ditto.
	* libm/machine/spu/headers/exp2f.h: Ditto.
	* libm/machine/spu/headers/expf.h: Ditto.
	* libm/machine/spu/headers/fabs.h: Ditto.
	* libm/machine/spu/headers/fabsf.h: Ditto.
	* libm/machine/spu/headers/fdim.h: Ditto.
	* libm/machine/spu/headers/fdimf.h: Ditto.
	* libm/machine/spu/headers/floor.h: Ditto.
	* libm/machine/spu/headers/floorf.h: Ditto.
	* libm/machine/spu/headers/fma.h: Ditto.
	* libm/machine/spu/headers/fmaf.h: Ditto.
	* libm/machine/spu/headers/fmax.h: Ditto.
	* libm/machine/spu/headers/fmaxf.h: Ditto.
	* libm/machine/spu/headers/fmin.h: Ditto.
	* libm/machine/spu/headers/fminf.h: Ditto.
	* libm/machine/spu/headers/fmod.h: Ditto.
	* libm/machine/spu/headers/fmodf.h: Ditto.
	* libm/machine/spu/headers/frexp.h: Ditto.
	* libm/machine/spu/headers/frexpf.h: Ditto.
	* libm/machine/spu/headers/ilogb.h: Ditto.
	* libm/machine/spu/headers/ilogbf.h: Ditto.
	* libm/machine/spu/headers/ldexp.h: Ditto.
	* libm/machine/spu/headers/ldexpf.h: Ditto.
	* libm/machine/spu/headers/llrint.h: Ditto.
	* libm/machine/spu/headers/llrintf.h: Ditto.
	* libm/machine/spu/headers/llround.h: Ditto.
	* libm/machine/spu/headers/llroundf.h: Ditto.
	* libm/machine/spu/headers/log10f.h: Ditto.
	* libm/machine/spu/headers/log2f.h: Ditto.
	* libm/machine/spu/headers/logf.h: Ditto.
	* libm/machine/spu/headers/lrint.h: Ditto.
	* libm/machine/spu/headers/lrintf.h: Ditto.
	* libm/machine/spu/headers/lround.h: Ditto.
	* libm/machine/spu/headers/lroundf.h: Ditto.
	* libm/machine/spu/headers/nearbyint.h: Ditto.
	* libm/machine/spu/headers/remainder.h: Ditto.
	* libm/machine/spu/headers/remainderf.h: Ditto.
	* libm/machine/spu/headers/remquo.h: Ditto.
	* libm/machine/spu/headers/remquof.h: Ditto.
	* libm/machine/spu/headers/rint.h: Ditto.
	* libm/machine/spu/headers/round.h: Ditto.
	* libm/machine/spu/headers/roundf.h: Ditto.
	* libm/machine/spu/headers/scalbn.h: Ditto.
	* libm/machine/spu/headers/scalbnf.h: Ditto.
	* libm/machine/spu/headers/sqrt.h: Ditto.
	* libm/machine/spu/headers/trunc.h: Ditto.
	* libm/machine/spu/headers/truncf.h: Ditto.
	* libm/machine/spu/headers/vec_literal.h: Ditto.
	* libm/machine/spu/llrint.c: Ditto.
	* libm/machine/spu/llrintf.c: Ditto.
	* libm/machine/spu/llround.c: Ditto.
	* libm/machine/spu/llroundf.c: Ditto.
	* libm/machine/spu/log2f.c: Ditto.
	* libm/machine/spu/s_cbrt.c: Ditto.
	* libm/machine/spu/s_ceil.c: Ditto.
	* libm/machine/spu/s_copysign.c: Ditto.
	* libm/machine/spu/s_fabs.c: Ditto.
	* libm/machine/spu/s_fdim.c: Ditto.
	* libm/machine/spu/s_floor.c: Ditto.
	* libm/machine/spu/s_fma.c: Ditto.
	* libm/machine/spu/s_fmax.c: Ditto.
	* libm/machine/spu/s_fmin.c: Ditto.
	* libm/machine/spu/s_frexp.c: Ditto.
	* libm/machine/spu/s_ilogb.c: Ditto.
	* libm/machine/spu/s_ldexp.c: Ditto.
	* libm/machine/spu/s_lrint.c: Ditto.
	* libm/machine/spu/s_lround.c: Ditto.
	* libm/machine/spu/s_nearbyint.c: Ditto.
	* libm/machine/spu/s_remquo.c: Ditto.
	* libm/machine/spu/s_rint.c: Ditto.
	* libm/machine/spu/s_round.c: Ditto.
	* libm/machine/spu/s_scalbn.c: Ditto.
	* libm/machine/spu/s_trunc.c: Ditto.
	* libm/machine/spu/sf_atan.c: Ditto.
	* libm/machine/spu/sf_cbrt.c: Ditto.
	* libm/machine/spu/sf_ceil.c: Ditto.
	* libm/machine/spu/sf_copysign.c: Ditto.
	* libm/machine/spu/sf_fabs.c: Ditto.
	* libm/machine/spu/sf_fdim.c: Ditto.
	* libm/machine/spu/sf_floor.c: Ditto.
	* libm/machine/spu/sf_fma.c: Ditto.
	* libm/machine/spu/sf_fmax.c: Ditto.
	* libm/machine/spu/sf_fmin.c: Ditto.
	* libm/machine/spu/sf_frexp.c: Ditto.
	* libm/machine/spu/sf_ilogb.c: Ditto.
	* libm/machine/spu/sf_ldexp.c: Ditto.
	* libm/machine/spu/sf_lrint.c: Ditto.
	* libm/machine/spu/sf_lround.c: Ditto.
	* libm/machine/spu/sf_remquo.c: Ditto.
	* libm/machine/spu/sf_round.c: Ditto.
	* libm/machine/spu/sf_scalbn.c: Ditto.
	* libm/machine/spu/sf_trunc.c: Ditto.
	* libm/machine/spu/w_fmod.c: Ditto.
	* libm/machine/spu/w_remainder.c: Ditto.
	* libm/machine/spu/w_sqrt.c: Ditto.
	* libm/machine/spu/wf_exp.c: Ditto.
	* libm/machine/spu/wf_exp2.c: Ditto.
	* libm/machine/spu/wf_fmod.c: Ditto.
	* libm/machine/spu/wf_log.c: Ditto.
	* libm/machine/spu/wf_log10.c: Ditto.
	* libm/machine/spu/wf_remainder.c: Ditto.
2007-09-28 18:32:57 +00:00
Jeff Johnston 364faf910a 2007-09-21 Patrick Mansfield <patmans@us.ibm.com>
* libc/machine/spu/sys/uio.h: New file for readv and writev use.
2007-09-21 21:11:14 +00:00
Jeff Johnston 2f3d28fca2 2007-09-21 Patrick Mansfield <patmans@us.ibm.com>
* libc/include/sched.h: New file, just include sys/sched.h.
        * libc/machine/spu/sys/sched.h: New file, has just sched_yield
        prototype.
        * libc/machine/spu/sys/utime.h: New file, has utime prototype and
        struct utimbuf definition.
2007-09-21 21:02:15 +00:00
Jeff Johnston 63fbe1fd64 2007-09-21 Patrick Mansfield <patmans@us.ibm.com>
* libc/machine/spu/sys/dirent.h: New file, add prototypes and SPU
        specific struct and typedef.
2007-09-21 20:36:02 +00:00
Jeff Johnston cebf33e402 2007-09-18 Patrick Mansfield <patmans@us.ibm.com>
* libc/include/sys/types.h: Use __dev_t, __uid_t, and __gid_t to
        typedef dev_t, gid_t, and uid_t.
        * libc/include/sys/_types.h: Move previous dev_t, uid_t and gid_t
        types.h code to here, but typedef __dev_t, __uid_t, and __gid_t instead.
        Change to lower case for all __foo_t_defined names.
        * libc/machine/spu/machine/_types.h: Add SPU specific __dev_t,
        __uid_t, and __gid_t making them all four bytes. Change to lower case
        for all __foo_t_defined names.
2007-09-18 20:05:17 +00:00
Jeff Johnston 3908c98592 2007-09-18 Jeff Johnston <jjohnstn@redhat.com>
* libc/reent/renamer.c: New file.
        * libc/reent/Makefile.am: Add new file.
        * libc/reent/Makefile.in: Regenerated.
        * libc/stdio/rename.c: Break out _rename_r code into reent/renamer.c
        and add check for rename syscall.
2007-09-18 19:32:43 +00:00
Eric Blake ba21046d03 Obey POSIX on printf("%.s", (char*)NULL).
* libc/stdio/vfprintf.c (_VFPRINTF_R): Take precision into account
for %s on NULL.  Skip NULL check when optimizing for size.
2007-09-17 20:14:29 +00:00
Jeff Johnston e5ae72300f 2007-09-07 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/_types.h: Protect all types with flag
        checks to allow definition in machine/_types.h.
2007-09-07 21:24:55 +00:00
Jeff Johnston 36fe6da675 2007-09-07 Jeff Johnston <jjohnstn@redhat.com>
* libc/sys/linux/sys/_types.h: Add _fpos_t and _fpos64_t
        definitions in light of the previous change.
2007-09-07 21:18:03 +00:00
Jeff Johnston dde223343c 2007-09-07 Patrick Mansfield <patmans@us.ibm.com>
* libc/include/machine/_default_types.h: New file, contains what
	was previously in libc/include/machine/_types.h.
	* libc/include/machine/_types.h: Now only includes
	machine/_default_types.h.
	* libc/include/sys/reent.h: Remove _fpos_t and _fpos64_t.
	* libc/include/sys/_types.h: Move _fpos_t and _fpos64_t to here,
	with conditional declarations.
	* libc/machine/spu/machine/_types.h: New file, add SPU specific
	typedefs for _fpos_t and _fpos64_t.
2007-09-07 21:16:25 +00:00
Jeff Johnston 78e66fb978 2007-09-07 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/math.h (_M_LOG2E): Replace with..
        (_M_LOG2_E): New macro.
        (log2, log2f, M_LOG2_E): Use _M_LOG2_E.
2007-09-07 15:30:59 +00:00
Brian Dessent 345c159562 * libc/reent/getreent.c: Allow for case where __getreent is
defined as a macro.
2007-09-07 00:45:55 +00:00
Jeff Johnston e65aa07ac6 Fix typo in ChangeLog and math.h. 2007-09-06 19:55:34 +00:00
Jeff Johnston 6494ee837c 2007-09-06 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/math.h (_M_LOG2E): New log2 of e macro.
        (log2): Use _M_LOG2E instead of M_LOG2E.
        (log2f): Ditto.
        (M_LOG2E): Define to be _M_LOG2E.
2007-09-06 19:51:46 +00:00
Jeff Johnston 86a934d225 2007-09-04 Kazunori Asayama <asayama@sm.sony.co.jp>
* libm/math/wf_tgamma.c: Add missing include.
2007-09-04 17:33:10 +00:00
Jeff Johnston 6ddf8bef40 2007-08-31 Antony King <antony.king@st.com>
* libc/stdlib/mprec.h [_DOUBLE_IS_32BITS}: Define IEEE_Arith
        bits and redefine associated dword0 macro (rvalue issue).
        * libc/stdio/vfieeefp.h: Ditto.
        * libc/stdlib/strtod.c: Add checks for _DOUBLE_IS_32BITS
        to prevent setting dword1 which is an rvalue only.
2007-08-31 21:21:27 +00:00
Jeff Johnston d4a2788652 2007-08-28 Hans Kester <hans.kester@ellips.nl>
* configure.host: Added support for x86_64.
        * libc/include/machine/ieeefp.h: Define __IEEE_LITTLE_ENDIAN for x86_64.
        * libc/include/machine/setjmp.h: Define _JBTYPE and _JBLEN for x86_64.
        * libc/machine/x86_64/aclocal.m4: Generated.
        * libc/machine/x86_64/configure.in: New.
        * libc/machine/x86_64/configure: Generated.
        * libc/machine/x86_64/Makefile.am: New.
        * libc/machine/x86_64/Makefile.in: Generated.
        * libc/machine/x86_64/setjmp.S: New.
        * libc/machine/x86_64/memcpy.S: New.
        * libc/machine/x86_64/memset.S: New.
        * libc/machine/configure.in: Added support for x86_64.
        * libc/machine/configure: Regenerated.
2007-08-28 21:56:50 +00:00
Jeff Johnston 309faeb5ca 2007-08-24 Jeff Johnston <jjohnstn@redhat.com>
* libm/common/sf_lround.c (lroundf): Cast sizeof calculation
        to int before comparing it to a signed int value.
2007-08-24 20:49:59 +00:00
Hans-Peter Nilsson 8d44415e4f * libc/machine/cris/sys/errno.h (ECANCELED, ENOKEY, EKEYEXPIRED)
(EKEYREVOKED, EKEYREJECTED, EOWNERDEAD, ENOTRECOVERABLE, ENOTSUP):
	Define.
2007-08-23 23:40:28 +00:00
Jeff Johnston e6e56f7c72 2007-08-23 Hidetaka Takano <hidetaka.takano@glb.toshiba.co.jp>
Reduce the memory consumption of variable argument functions
        for SPU (cell):
        * libc/machine/spu/Makefile.am: Replace printf/scanf family C sources
          to assembler sources.
        * libc/machine/spu/Makefile.in: Regenerated.
        * libc/machine/spu/stdio.c: Add __check_init function wrapping
          CHECK_INIT macro to use from assembler routines.
        * libc/machine/spu/c99ppe.h: Add definitions for assembler code.
        * libc/machine/spu/fiprintf.S: New file.
        * libc/machine/spu/fiscanf.S: Ditto.
        * libc/machine/spu/fprintf.S: Ditto.
        * libc/machine/spu/fscanf.S: Ditto.
        * libc/machine/spu/iprintf.S: Ditto.
        * libc/machine/spu/iscanf.S: Ditto.
        * libc/machine/spu/printf.S: Ditto.
        * libc/machine/spu/scanf.S: Ditto.
        * libc/machine/spu/siprintf.S: Ditto.
        * libc/machine/spu/siscanf.S: Ditto.
        * libc/machine/spu/sniprintf.S: Ditto.
        * libc/machine/spu/snprintf.S: Ditto.
        * libc/machine/spu/sprintf.S: Ditto.
        * libc/machine/spu/sscanf.S: Ditto.
        * libc/machine/spu/stack_reg_va.S: Ditto.
        * libc/machine/spu/syscall.def: Ditto. (for maintenance)
        * libc/machine/spu/mk_syscalls: Ditto. (for maintenance)
        * libc/machine/spu/fiprintf.c: Removed. (Replaced by .S)
        * libc/machine/spu/fiscanf.c: Ditto.
        * libc/machine/spu/fprintf.c: Ditto.
        * libc/machine/spu/fscanf.c: Ditto.
        * libc/machine/spu/iprintf.c: Ditto.
        * libc/machine/spu/iscanf.c: Ditto.
        * libc/machine/spu/printf.c: Ditto.
        * libc/machine/spu/scanf.c: Ditto.
        * libc/machine/spu/siprintf.c: Ditto.
        * libc/machine/spu/siscanf.c: Ditto.
        * libc/machine/spu/sniprintf.c: Ditto.
        * libc/machine/spu/snprintf.c: Ditto.
        * libc/machine/spu/sprintf.c: Ditto.
        * libc/machine/spu/sscanf.c: Ditto.
2007-08-23 18:45:22 +00:00
Jeff Johnston 90c6084b56 2007-08-03 Ralf Corsepius <ralf.corsepius@rtems.org>
* libc/include/tar.h: New.
2007-08-03 21:03:40 +00:00
Jeff Johnston 8fb8816259 2007-08-03 Jeff Johnston <jjohnstn@redhat.com>
* libc/sys/linux/intl/Makefile.am: Change stpcpy reference to
        lcl_stpcpy to avoid conflict with new stpcpy.c in libc/string.
        * libc/sys/linux/intl/Makefile.in: Regenerated.
        * libc/sys/linux/intl/stpcpy.c: Renamed to...
        * libc/sys/linux/intl/lcl_stpcpy.c: ..this.
2007-08-03 21:01:11 +00:00
Eric Blake 6ddcdb9da5 Implement fmemopen and open_memstream.
* libc/stdio/fmemopen.c (_fmemopen_r, fmemopen): New file.
* libc/stdio/open_memstream.c (_open_memstream_r, open_memstream):
New file.
* libc/stdio/fopencookie.c (fcwriter): Minor optimization.
* libc/include/stdio.h (dprintf, vdprintf): Group all POSIX 200x
functions together.
(fmemopen, open_memstream): Declare new functions.
* libc/stdio/stdio.tex: Document them.
* libc/stdio/Makefile.am (ELIX_4_SOURCES, CHEWOUT_FILES): Add
fmemopen and open_memstream.
* libc/stdio/Makefile.in: Regenerate.
2007-08-02 20:23:06 +00:00
Eric Blake f7c978d50f More POSIX stream corner cases.
* libc/stdio/findfp.c (__sinit): Open stderr read/write.
* libc/stdio/fdopen.c (_fdopen_r): Set O_APPEND on fd when
requested.
* libc/stdio64/fdopen64.c (_fdopen64_r): Likewise.
2007-07-31 20:49:40 +00:00
Eric Blake 391b530a05 Fix 'make info'.
* libc/stdio/stdio.tex: Add missing include.
* libc/stdio/vfprintf.c: Use expected node name.
* libc/stdio/vfscanf.c: Likewise.
* libc/stdio/sscanf.c: Likewise.
* libc/stdio/sprintf.c: Likewise.
* libc/stdio/siscanf.c: Likewise.
* libc/stdio/siprintf.c: Likewise.
* libc/stdio/fopencookie.c: Quote raw {}.
Reported by DJ Delorie.
2007-07-19 03:42:21 +00:00
Jeff Johnston 5fdec53f8c Fix date type for 1.15 release. 2007-07-18 18:27:04 +00:00
Eric Blake 08146e5adb Fix fflush issues.
* libc/stdio/fflush.c (_fflush_r): New function.
(fflush): Fix reentrancy and large offset behavior.
* libc/include/stdio.h (_fflush_r): Add prototype.
* libc/stdio/fclose.c (_fclose_r): All fflush callers changed.
* libc/stdio/freopen.c (_freopen_r): Likewise.
* libc/stdio/fseek.c (_fseek_r): Likewise.
* libc/stdio/ftell.c (_ftell_r): Likewise.
* libc/stdio/fvwrite.c (__sfvwrite_r): Likewise.
* libc/stdio/refill.c (__srefill_r): Likewise.
* libc/stdio/setvbuf.c (setvbuf): Likewise.
* libc/stdio/ungetc.c (_ungetc_r): Likewise.
* libc/stdio/vfprintf.c (__sbprintf): Likewise.
* libc/stdio/wbuf.c (__swbuf_r): Likewise.
* libc/stdio64/freopen64.c (_freopen64_r): Likewise.
* libc/stdio64/fseeko64.c (_fseeko64_r): Likewise.  Defer to
32-bit version if not large file.
* libc/stdio64/ftello64.c (_ftello64_r): Likewise.
* libc/stdio64/tmpfile64.c (_tmpfile64_r): Avoid compile warning.
2007-07-13 20:37:53 +00:00
Eric Blake 88c8888127 Documentation updates.
* libc/stdio/ungetc.c: Document ungetc.
* libc/stdio/Makefile.am (CHEWOUT_FILES): Sort, match current list
of files with documentation.
* libc/stdio/Makefile.in: Regenerate.
* libc/stdio/stdio.tex: Sort and update stdio documentation index.
2007-07-13 17:07:28 +00:00
Jeff Johnston c4ccbcce6c 2007-07-11 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/math.h: Fix so C99 functions/macros are accessible
        when -std=c99 is used when compiling and not when using C89.
2007-07-11 18:09:08 +00:00
Corinna Vinschen dec27025b2 * libc/include/wchar.h: Declare wcstol, wcstoll, wcstoul,
wcstoull, _wcstol_r, _wcstoll_r, _wcstoul_r and _wcstoull_r.
	* libc/stdlib/Makefile.am (GENERAL_SOURCES): Add wcstol.c and wcstoul.c.
	(EXTENDED_SOURCES): Add wcstoll.c, wcstoll_r.c, wcstoull.c and
	wcstoull_r.c.
	(CHEWOUT_FILES): Add .def files accordingly.
	* libc/stdlib/Makefile.in: Regenerate.
	* libc/stdlib/stdlib.tex: Add documentation links for above functions.
	* libc/stdlib/strtoll.c: Fix portability note.
	* libc/stdlib/strtoull.c: Ditto.
	* libc/stdlib/wcstol.c: New file.
	* libc/stdlib/wcstoll.c: New file.
	* libc/stdlib/wcstoll_r.c: New file.
	* libc/stdlib/wcstoul.c: New file.
	* libc/stdlib/wcstoull.c: New file.
	* libc/stdlib/wcstoull_r.c: New file.
2007-07-06 20:03:28 +00:00
Jeff Johnston 0be2bc94e7 2007-07-06 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/time.h (gettimeofday): Change to proper
        prototype where second parameter is void *.
        * libc/reent/gettimeofdayr.c (_gettimeofday_r): Change prototype
        accordingly.
        * libc/include/reent.h: Fix prototype for _gettimeofday_r.
        * libc/sys/arm/syscalls.c: Fix gettimeofday function signature.
        * libc/sys/rdos/gettod.c: Ditto.
        * libc/sys/sh/syscalls.c: Ditto.
        * libc/time/time.c (time): Change call to _gettimeofday_r
        to pass NULL as 2nd argument.
2007-07-06 16:56:30 +00:00
Jeff Johnston ba9af2d7ec 2007-07-06 Jeff Johnston <jjohnstn@redhat.com>
* libc/sys/linux/intl/dcigettext.c: Define HAVE_STPCPY.
        * libc/sys/linux/intl/l10nflist.c: Ditto.
2007-07-06 16:42:48 +00:00
Corinna Vinschen a37215120b * libc/include/wchar.h: Add prototype for wcsxfrm.
* libc/string/Makefile.am (GENERAL_SOURCES): Add wcsxfrm.c.
	(CHEWOUT_FILES): Add wcsxfrm.def.
	* libc/string/Makefile.in: Regenerate.
	* libc/string/wcsxfrm.c: New file.
	* libc/string/wcstrings.tex: Add wcsxfrm.
2007-07-04 16:18:34 +00:00
Corinna Vinschen 5d8b97a694 * libc/include/string.h: Add prototypes for stpcpy and stpncpy.
* libc/string/Makefile.am (ELIX_SOURCES): Add stpcpy.c and
	stpncpy.c.
	(CHEWOUT_FILES): Add stpcpy.def and stpncpy.def.
	* libc/string/Makefile.in: Regenerate.
	* libc/string/stpcpy.c: New file.
	* libc/string/stpncpy.c: New file.
	* libc/string/strings.tex: Add stpcpy and stpncpy.
2007-06-28 17:07:23 +00:00
Eric Blake 3473e6bd7b Support __func__ in assert, as required by C99.
* libc/stdlib/assert.c (__assert_func): New function.
	(__assert): Use __assert_func.
	* libc/include/assert.h (assert) [!NDEBUG]: Use __assert_func when
	possible.
2007-06-27 12:44:41 +00:00
Jeff Johnston be97722968 2007-06-20 Patrick Mansfield <patmans@us.ibm.com>
* libc/machine/spu/perror.c: Pass errno as the second argument to
        the assist call.
2007-06-20 21:54:47 +00:00
Jeff Johnston d360ef1865 2007-06-20 Patrick Mansfield <patmans@us.ibm.com>
* libc/include/sys/unistd.h[__SPU__]: Add lockf prototype and related
        defines; expose ftruncate, truncate and sync prototypes.
2007-06-20 21:49:06 +00:00
Jeff Johnston f75c75183f 2007-06-20 Patrick Mansfield <patmans@us.ibm.com>
* libc/include/sys/unistd.h[__SPU__]: Make fchdir prototype visible.
        * libc/include/sys/stat.h[__SPU__]: Make mknod and lstat prototypes
        visible.
2007-06-20 17:30:58 +00:00
Jeff Johnston 438b07b09f 2007-06-15 Patrick Mansfield <patmans@us.ibm.com>
* libc/machine/spu/Makefile.am: Remove mktemp.c, it was left in
        from a dropped patch.
        * libc/machine/spu/Makefile.in: Regenerate.
2007-06-15 16:00:46 +00:00
Jeff Johnston c33ff7855e 2007-06-13 Patrick Mansfield <patmans@us.ibm.com>
* libc/machine/spu/creat.c: New file copied from libc/posix/creat.c,
        it just calls open with appropriate arguments.
        * libc/machine/spu/Makefile.am: Add creat.c.
        * libc/machine/spu/Makefile.in: Regenerate.
2007-06-13 17:55:28 +00:00
Jeff Johnston ae473bdc48 2007-06-13 Jeff Johnston <jjohnstn@redhat.com>
* libc/machine/spu/Makefile.am: Re-add back setjmp.S which
        I accidentally dropped.
        * libc/machine/spu/Makefile.in: Regenerated.
2007-06-13 17:50:13 +00:00
Jeff Johnston a8b08518c1 2007-06-13 Patrick Mansfield <patmans@us.ibm.com>
* libc/include/sys/features.h: Define _POSIX_TIMERS for spu.
        * libc/include/sys/unistd.h: Change usleep prototype to Posix
        form and move outside of OS flag checks.
        * libc/machine/spu/Makefile.am: Add sleep and usleep.
        * libc/machine/spu/Makefile.in: Regenerate.
        * libc/machine/spu/sleep.c: Copy libc/posix/sleep.c.
        * libc/machine/spu/usleep.c: Copy libc/posix/usleep.c.
2007-06-13 17:44:24 +00:00
Corinna Vinschen f4cd2a1d71 * libc/include/sys/unistd.h: Declare confstr for Cygwin.
Define confstr constants for Cygwin.  Add comment.
2007-06-11 17:33:43 +00:00
Hans-Peter Nilsson 32f67ec6ff * libc/sys/mmixware/access.c (access): Do not try to use a magic
file-handle and a direct syscall, just use _open.
	* libc/sys/mmixware/sys/syscall.h (TMPFNO): Remove this magic
	file-handle.

	* libc/sys/mmixware/_exit.c (_exit): Update comment about
	passing on the exit value.
2007-06-10 12:54:35 +00:00
Jeff Johnston 6fb374754d 2007-06-08 Jeff Johnston <jjohnstn@redhat.com>
* libc/string/strcasestr.c: New file.
        * libc/include/string.h: Add strcasestr.
        * libc/string/strings.tex: Add strcasestr.
        * libc/string/Makefile.am: Ditto.
        * libc/string/Makefile.in: Regenerated.
2007-06-08 18:38:51 +00:00
Jeff Johnston 1eeaeab855 2007-06-06 Christian Groessler <chris@groessler.org>
* libc/stdlib/ldtoa (_ldcheck): Make sure the setting of
        rnd is done after the last local variable declaration.

2007-06-06  Jeff Johnston  <jjohnstn@redhat.com>

        * libc/stdlib/mprec.h[Just_16]: Make sure that Pack_16 is defined.
2007-06-06 19:24:28 +00:00
Jeff Johnston a874abaf37 Fix entry to refer to function instead of variable. 2007-06-05 21:42:17 +00:00
Jeff Johnston a5da131d8d 2007-06-05 Christian Groessler <chris@groessler.org>
* libc/argz/argz_insert.c (delta): Move variable declaration
        to top of function in keeping with C89 standard.
2007-06-05 21:40:48 +00:00
Eric Blake 17c61d6a2c Implement funopen, fopencookie.
* libc/include/sys/reent.h (struct __sFILE, struct __sFILE64):
Switch to reentrant callbacks.
* libc/include/stdio.h (funopen): Fix declaration.
(fopencookie): Declare.
* libc/stdio/local.h (__sread, __swrite, __sseek, __sclose)
(__sseek64, __swrite64): Fix prototypes.
[__SCLE]: Pull in setmode declaration.
* libc/stdio/stdio.c (__sread, __swrite, __sseek, __sclose): Fix
reentrancy.
* libc/stdio64/stdio64.c (__sseek64_r, __swrite64_r): Delete.
(__sseek64, __swrite64): Fix reentrancy.
* libc/stdio/fseek.c (_fseek_r): Account for overflow, and fix
reentrancy.
* libc/stdio/ftell.c (_ftell_r): Likewise.
* libc/stdio/flags.c (__sflags): Don't lose __SAPP on "a+".
* libc/stdio/fclose.c (_fclose_r): Fix reentrancy.
* libc/stdio/freopen.c (_freopen_r): Likewise.
* libc/stdio/fvwrite.c (__sfvwrite_r): Likewise.
* libc/stdio/refill.c (__srefill_r): Likewise.
* libc/stdio/siscanf.c (eofread): Likewise.
* libc/stdio/sscanf.c (eofread): Likewise.
* libc/stdio/vsiscanf.c (eofread1): Likewise.
* libc/stdio/vsscanf.c (eofread1): Likewise.
* libc/stdio64/freopen64.c (_freopen64_r): Likewise.
* libc/stdio64/fseeko64.c (_fseeko64_r): Likewise.
* libc/stdio64/ftello64.c (_ftello64_r): Likewise.
* libc/stdio/fflush.c (fflush): Improve reentrancy, although more
could be fixed.
* libc/stdio/fopencookie.c (_fopencookie_r, fopencookie): New file.
* libc/stdio/funopen.c (_funopen_r, funopen): New file.
* libc/stdio/Makefile.am (ELIX_4_SOURCES, CHEWOUT_FILES): Build
new files.
* libc/stdio/Makefile.in: Regenerate.
2007-06-04 18:10:17 +00:00
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
Corinna Vinschen 76a2ee78b6 * libc/argz/argz_add_sep.c (argz_add_sep): Handle empty string
argument.
	* libc/argz/argz_append.c (argz_append): Handle empty buf argument.
	* libc/argz/argz_create_sep.c (argz_create_sep): Return (NULL, 0)
	on empty input strings.
	* libc/argz/argz_extract.c (argz_extract): Check argz_len before
	looping through argz.
	* libc/argz/argz_stringify.c (argz_stringify): Ditto.
2007-05-29 07:49:14 +00:00
Eric Blake 75acf0bb2e * libc/stdio/vfprintf.c (_VFPRINTF_R): Populate 'ox' when
handling %p.
2007-05-27 14:19:15 +00:00
Eric Blake f5c58e9a34 * libc/stdio/rewind.c (rewind): Fix regression of 2003-08-22. 2007-05-25 17:05:09 +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 aa5341f9ac * libc/stdio/vfprintf.c (_VFPRINTF_R): Don't truncate %p when
sizeof(void*) is 8 but sizeof(long) is 4.
* libc/stdio/vfscanf.c (__SVFSCANF_R): Likewise.  Fix %i scanning
of "-0x".  Support "-nan" and "inf" for %e.  Audit usage of ungetc
to fix reentrancy and bug on encoding error in multibyte locales.
Always return EOF on read error.
2007-05-24 04:25:18 +00:00
Jeff Johnston 4a9880e071 2007-05-23 Patrick Mansfield <patmans@us.ibm.com>
* libc/machine/spu/sys/syscall.h: Update the __send_to_ppe
	prototype.
	* libc/machine/spu/fclose.c: Use the __send_to_ppe return value
	instead of the slot 0 value, remove any now unused variables, and
	for some cases, now store the result in an int vs int*.
	* libc/machine/spu/feof.c: Ditto.
	* libc/machine/spu/ferror.c: Ditto.
	* libc/machine/spu/fflush.c: Ditto.
	* libc/machine/spu/fgetc.c: Ditto.
	* libc/machine/spu/fgetpos.c: Ditto.
	* libc/machine/spu/fgets.c: Ditto.
	* libc/machine/spu/fileno.c: Ditto.
	* libc/machine/spu/fopen.c: Ditto.
	* libc/machine/spu/fprintf.c: Ditto.
	* libc/machine/spu/fputc.c: Ditto.
	* libc/machine/spu/fputs.c: Ditto.
	* libc/machine/spu/fread.c: Ditto.
	* libc/machine/spu/freopen.c: Ditto.
	* libc/machine/spu/fscanf.c: Ditto.
	* libc/machine/spu/fseek.c: Ditto.
	* libc/machine/spu/fsetpos.c: Ditto.
	* libc/machine/spu/ftell.c: Ditto.
	* libc/machine/spu/fwrite.c: Ditto.
	* libc/machine/spu/getc.c: Ditto.
	* libc/machine/spu/getchar.c: Ditto.
	* libc/machine/spu/gets.c: Ditto.
	* libc/machine/spu/printf.c: Ditto.
	* libc/machine/spu/putc.c: Ditto.
	* libc/machine/spu/putchar.c: Ditto.
	* libc/machine/spu/puts.c: Ditto.
	* libc/machine/spu/remove.c: Ditto.
	* libc/machine/spu/rename.c: Ditto.
	* libc/machine/spu/scanf.c: Ditto.
	* libc/machine/spu/setvbuf.c: Ditto.
	* libc/machine/spu/snprintf.c: Ditto.
	* libc/machine/spu/sprintf.c: Ditto.
	* libc/machine/spu/sscanf.c: Ditto.
	* libc/machine/spu/tmpfile.c: Ditto.
	* libc/machine/spu/tmpnam.c: Ditto.
	* libc/machine/spu/ungetc.c: Ditto.
	* libc/machine/spu/vfprintf.c: Ditto.
	* libc/machine/spu/vfscanf.c: Ditto.
	* libc/machine/spu/vprintf.c: Ditto.
	* libc/machine/spu/vscanf.c: Ditto.
	* libc/machine/spu/vsnprintf.c: Ditto.
	* libc/machine/spu/vsprintf.c: Ditto.
	* libc/machine/spu/vsscanf.c: Ditto.
2007-05-23 21:41:17 +00:00
Eric Blake 9a3ec8622b * libc/stdio/vfscanf.c (__SVFSCANF_R): Support scanf(%1$s).
Avoid warning when !FLOATING_POINT.
* libc/stdio/vfprintf.c (_VFPRINTF_R): Simplify _NO_POS_ARGS
slightly.
2007-05-23 20:36:28 +00:00
Corinna Vinschen d48670ed78 * libc/argz/argz_create_sep.c (argz_create_sep): Initialize *argz_len
to zero.
	* libc/include/argz.h: Guard against multiple inclusion.  Guard for
	use with C++.
2007-05-23 16:36:23 +00:00
Eric Blake 8aab2bc260 * libc/stdio/vfprintf.c [_WANT_IO_LONG_LONG]: Allow non-gcc
compilers.
* libc/stdio/vfscanf.c: Likewise.
2007-05-18 14:33:30 +00:00
Jeff Johnston b2250c70bd 2007-05-17 Cary R. <cygcary <at> yahoo.com>
* libm/math/w_atan2.c: Fix atan2 to be consistent with glibc
        (atan2(+0,-0), atan2(-0,-0) and atan(-0,+0))
        * libm/math/wf_atan2.c: Ditto.
2007-05-17 21:52:11 +00:00
Jeff Johnston e0500490bc 2007-05-17 Yaakov Selkowitz <yselkowitz <at> users.sourceforge.net>
* libm/common/Makefile.am: Add support for exp10, exp10f,
        pow10, and pow10f functions.
        * libm/common/Makefile.in: Regenerated.
        * libm/common/s_pow10.c: New file.
        * libm/common/sf_pow10.c: Ditto.
        * libm/common/s_exp10.c: Ditto.
        * libm/common/sf_exp10.c: Ditto.
        * libc/include/math.h [!pow10]: New pow10 prototype.
        [!pow10f]: New pow10f prototype.
        [!exp10]: New exp10 prototype.
        [!exp10f]: New exp10f prototype.
2007-05-17 18:50:57 +00:00
Eric Blake 487e9075d0 * stdio/tmpfile.c: Include <sys/stat.h>.
* stdio64/tmpfile64.c: Ditto.
2007-05-17 12:10:29 +00:00
Eric Blake d009633d30 Close security hole in tmpfile.
* libc/stdio/tmpfile.c (_tmpfile_r): Avoid window between filename
generation and opening the fd.
* libc/stdio64/tmpfile64.c (_tmpfile64_r): Likewise.
2007-05-16 20:06:08 +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
Eric Blake 34507ce026 Reduce stack size of *printf.
* libc/stdio/vfprintf.c (_VFPRINTF_R): Fix use of decimal point
in %f.  Avoid malloc when possible for %S.
(BUF): Improve stack locality by using smaller size.
(MAXEXPLEN, _PRINTF_FLOAT_TYPE): Define.
(exponent): Use smaller stack size.
2007-05-14 19:42:47 +00:00
Eric Blake 0962fe9178 Minimize printf/scanf size on platforms that don't need C99.
* acconfig.h (_WANT_IO_C99_FORMATS): New macro.
* newlib.hin (_WANT_IO_C99_FORMATS): Likewise.
* configure.in (newlib-io-c99-formats): New configure option.
(_WANT_IO_C99_FORMATS): Define appropriately.
* configure.host (*-linux*, cygwin): Default c99-formats to yes.
* libc/stdio/vfprintf.c (_VFPRINTF_R) [!_WANT_IO_C99_FORMATS]:
Cripple ' flag; hh, z, j, t sizes; a, A, F, C, S specifiers.
* libc/stdio/vfscanf.c (_VFSCANF_R) [!_WANT_IO_C99_FORMATS]:
Likewise.
* configure: Regenerate.
2007-05-11 20:09:00 +00:00
Eric Blake b8a37af936 * libc/stdio/vfprintf.c (_VFPRINTF_R, cvt, exponent, chclass)
(get_arg): Support '%a' and '%A'.
2007-05-11 13:09:44 +00:00
Eric Blake 81274c6726 Allow zero size with non-null buf in *asnprintf.
* libc/stdio/asnprintf.c (_asnprintf_r, asnprintf): Avoid free'ing
user's buf.
* libc/stdio/asniprintf.c (_asniprintf_r, asniprintf): Likewise.
* libc/stdio/vasniprintf.c (_vasniprintf_r): Likewise.
* libc/stdio/vasnprintf.c (_vasnprintf_r): Likewise.
2007-05-09 19:27:30 +00:00
Eric Blake 38ed4e5111 * libc/stdio/vfprintf.c: Fix typo in comments that breaks docs. 2007-05-08 03:59:13 +00:00
Eric Blake b9db529222 Add support for asnprintf, and improve *printf documentation.
* libc/stdio/Makefile.am (ELIX_SOURCES): Rename...
	(ELIX_2_SOURCES): ...to this.
	(ELIX_4_SOURCES): Add new variable.  Build asnprintf.
	(GENERAL_SOURCES): Move dprintf to ELIX_4_SOURCES.
	(CHEWOUT_FILES): Include diprintf in documentation.
	* libc/stdio/Makefile.in: Regenerate.
	* libc/stdio/diprintf.c: Improve documentation.
	* libc/stdio/dprintf.c: Likewise.
	* libc/stdio/siprintf.c: Likewise.
	* libc/stdio/sprintf.c: Likewise.
	* libc/stdio/vfprintf.c: Likewise.
	* libc/stdio/viprintf.c: Likewise.
	* libc/stdio/vsniprintf.c: Consolidate documentation.
	* libc/stdio/asiprintf.c: Refer to documentation.
	* libc/stdio/asprintf.c: Likewise.
	* libc/stdio/fiprintf.c: Likewise.
	* libc/stdio/fprintf.c: Likewise.
	* libc/stdio/iprintf.c: Likewise.
	* libc/stdio/printf.c: Likewise.
	* libc/stdio/sniprintf.c: Likewise.
	* libc/stdio/vdiprintf.c: Likewise.
	* libc/stdio/vdprintf.c: Likewise.
	* libc/stdio/vsiprintf.c: Likewise.
	* libc/stdio/fvwrite.c (__sfvwrite_r): Handle asnprintf.
	* libc/stdio/asniprintf.c (asniprintf, _asniprintf_r): New file.
	* libc/stdio/asnprintf.c (asnprintf, _asnprintf_r): New file.
	* libc/stdio/vasniprintf.c (vasniprintf, _vasniprintf_r): New
	file.
	* libc/stdio/vasnprintf.c (vasnprintf, _vasnprintf_r): New file.
	* libc/stdio/vdprintf.c (_vdprintf_r): Rewrite to avoid malloc in
	typical case.
	* libc/stdio/vdiprintf.c (_vdiprintf_r): Likewise.
	* libc/include/stdio.h: Add prototypes for new functions; sort
	existing functions.
2007-05-04 02:55:16 +00:00