* libc/include/ieeefp.h: use prefixed __ieeefp_ macros that can be
overridden via machine/ieeefp.h.
* libc/include/machine/ieeefp.h: Add SPU specific C99 and ieeefp
macros for isnan and related macros.
* libc/include/math.h: Allow C99 isfinite, isinf, and isnan to be
overridden via machine/ieeefp.h.
* libm/machine/spu/Makefile.am: Add new files.
* libm/machine/spu/Makefile.in: Autogenerate with new files.
* libm/machine/spu/sf_fpclassify.c: Add SPU specific __fpclassifyf.
* libm/machine/spu/sf_finite.c: Add SPU specific finitef.
* libm/machine/spu/sf_isinf.c: Add SPU specific isinff.
* libm/machine/spu/sf_isinff.c: Add SPU specific __isinff.
* libm/machine/spu/sf_isnan.c: Add SPU specific isnanf.
* libm/machine/spu/sf_isnanf.c: Add SPU specific __isnanf.
* libm/machine/spu/sf_nan.c: Add SPU specific nanf.
* libc/include/stdio.h (_ELIDABLE_INLINE): New macro to conceal
conflicting inline semantics between C99 and GNU89.
(__sgetc_r): Replace static inline with _ELIDABLE_INLINE to be
compatible with -fkeep-inline-functions usage.
(__sputc_r): Likewise for consistency even though disabled.
* configure.in: Add new --enable-newlib-reent-small option.
* configure: Regenerated.
* acconfig.h: Add _WANT_REENT_SMALL.
* newlib.hin: Regenerated minus PACKAGE macros to add
_WANT_REENT_SMALL macro.
* libc/include/sys/config.h[_WANT_REENT_SMALL]: Set _REENT_SMALL
if not already set.
* libc/stdio/fflush.c[_REENT_SMALL]: Return immediately if
there is no buffer.
* libc/stdio/local.h[_REENT_SMALL]: Fix CHECK_INIT macro to
use reentrant pointer passed in when resetting the file
pointer to one of the std streams.
_POSIX_xxx values for Cygwin.
* libc/include/sys/types.h (pthread_rwlock_t): Omit definition
on Cygwin.
(pthread_rwlockattr_t): Ditto.
* libc/include/sys/unistd.h: Define all _SC_xxx values as
required by SUSv3. Unify formatting.
* libc/include/pthread.h: Add pthread barriers,
rwlocks, and spinlocks. Change const to
_CONST and prefix parameter names with
an underscore.
* libc/include/sys/types.h: Add id and attribute
types for barriers, wrlocks, and spinlocks.
* libc/include/sys/features.h: Enable barriers,
wrlocks, and spinlocks for RTEMS.
Nigel Stephens <nigel@mips.com>
* libc/include/sys/config.h (__ATTRIBUTE_IMPURE_PTR__): For MIPS
define this to force _impure_ptr to live in the .sdata section.
* libc/include/stdio.h: Add new reentrant I/O prototypes for
read/write functions. Change getc/putc macros to have reentrant underlying
macros/functions. This includes __sgetc_raw_r, __sgetc_r, and __sputc_r.
* libc/stdio/fgetc.c: Fix and/or add reentrant version to call
new reentrant I/O functions/macros for reading/writing.
* libc/stdio/fgets.c: Ditto.
* libc/stdio/fputc.c: Ditto.
* libc/stdio/fputs.c: Ditto.
* libc/stdio/fread.c: Ditto.
* libc/stdio/fseek.c: Ditto.
* libc/stdio64/fseeko64.c: Ditto.
* libc/stdio/fwrite.c: Ditto.
* libc/stdio/getc.c: Ditto.
* libc/stdio/getc_u.c: Ditto.
* libc/stdio/getchar.c: Ditto.
* libc/stdio/getchar_u.c: Ditto.
* libc/stdio/putc.c: Ditto.
* libc/stdio/putc_u.c: Ditto.
* libc/stdio/putchar.c: Ditto.
* libc/stdio/puts.c: Ditto.
* libc/stdio/vfprintf.c: Ditto.
* libc/stdio/vfscanf.c: Ditto.
* libc/stdio/fvwrite.c: Change __sfvwrite into reentrant __sfvwrite_r.
Change all previous callers of __sfvwrite. Set errno to EBADF and
set error flag on if attempt is made to write to file that does not
allow writing.
* libc/stdio/fvwrite.h: Fix new reentrant prototypes.
* libc/stdio/local.h: Ditto.
* libc/stdio/refill.c: Turn __srefill into reentrant __srefill_r.
Set errno to EBADF and the error flag on if attempt is made to
read unreadable file. Change all previous callers of __srefill.
* libc/stdio/rget.c
* libc/stdio/wbuf.c: Turn __swbuf into reentrant __swbuf_r. Change
all previous callers of __swbuf.
* libc/sys/linux/machine/i386/huge_val.h: Ifdef out file contents since
huge value macros are already defined correctly for i386 by <math.h>.
* Makefile.am (MATHOBJS_IN_LIBC): Add s_isinfd, sf_isinff,
s_isnand, and sf_isnanf object files.
* Makefile.in: Regenerated.
* libc/include/ieeefp.h: Undef isnan and isinf to avoid
conflict if <math.h> has previously been included.
* libc/include/math.h
* libm/common/Makefile.am: Add new s_isinfd, s_isnand, sf_isinff,
and sf_isnanf files. Also support s_isnan, sf_isnan, s_isinf, and
sf_isinf files which have been moved from math/mathfp directories.
* libm/common/Makefile.in: Regenerated.
* libm/common/s_isinfd.c: New file.
* libm/common/s_isnand.c: Ditto.
* libm/common/sf_isinff.c: Ditto.
* libm/common/sf_isnanf.c: Ditto.
* libm/common/s_isinf.c: Moved from libm/math directory.
* libm/common/s_isnan.c: Ditto.
* libm/common/sf_isinf.c: Ditto.
* libm/common/sf_isnan.c: Ditto.
* libm/math/Makefile.am: Remove isinf and isnan family functions
which have been moved into common directory.
* libm/mathfp/Makefile.am: Ditto.
* libm/math/Makefile.in: Regenerated.
* libm/mathfp/Makefile.in: Ditto.
* libm/math/s_isinf.c: Removed.
* libm/math/s_isnan.c: Ditto.
* libm/math/sf_isinf.c: Ditto.
* libm/math/sf_isnan.c: Ditto.
* libm/mathfp/s_isinf.c: Ditto.
* libm/mathfp/s_isnan.c: Ditto.
* libm/mathfp/sf_isinf.c: Ditto.
* libm/mathfp/sf_isnan.c: Ditto.
* libc/include/stdint.h: Prefer long over int for int32_t.
Use __have_long32 to set up int32_t.
* libc/include/inttypes.h: Use "#if xxx" instead of "#ifdef xxx"
(Sync with stdint.h).
* libc/include/sys/unistd.h (readlink, symlink): Provide these
prototypes by default.
* libc/sys/linux/include/unistd.h (readlink): Remove this
prototype.
* libc/sys/linux/sys/unistd.h (readlink, symlink): New
prototypes.