* 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.
* libc/include/sys/config.h: Change setting of INT_MAX
and UINT_MAX, to use __INT_MAX__ for __H8300__, __H8300H__,
__H8300S__. Also consolidate flag settings for these
platforms.
* 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.
* configure.in: Change check for libc/include in ${CC} to
use an intermediate value so as to work with different shells.
* configure: Regenerated.
* Makefile.in: Ditto.
* libc/machine/h8300/setjmp.S (setjmp, longjmp): Combine common
code for __H8300H__ and __H8300S__. Also return 32-bit return code
when -mint32 is used.
* testsuite/lib/passfail.exp (newlib_pass_fail): Changed to
only issue one pass/fail message for a compile/link/execute.
* testsuite/newlib.elix/elix.exp: New file.
* testsuite/newlib.elix/tmmap.c: Ditto.
* libc/sys/rtems/machine: New directory.
* libc/sys/rtems/machine/limits.h, libc/sys/rtems/machine/param.h,
libc/sys/rtems/sys/param.h, libc/sys/rtems/sys/syslimits.h,
libc/sys/rtems/sys/utime.h: New files added to make *-rtems newlib
targets more BSD like when installed without requiring files to
be overwritten at install point when RTEMS itself is installed.
* Makefile.am: Pick up system dependent machine .h files such as
might be found on a BSD-ish system.
* Makefile.in: Regenerate.
* libc/include/machine/types.h: When on an RTEMS target, define a
few BSD flavor types.
* testsuite/include/check.h: New header file to use with
test cases.
* testsuite/lib/newlib.exp: Add testsuite/include directory
to list of header files to use.
* testsuite/newlib.wctype/twctype.c: New test case for iswctype fns.
* testsuite/newlib.wctype/wctype.exp: New file.
* libc/machine/hppa/DEFS.h, libc/machine/hppa/pcc_prefix.s,
libc/machine/hppa/setjmp.S, libc/machine/hppa/DEFS.h: Make this
compile with current GNU tools.
Add myself to write-after-approval section of MAINTAINERS file.
* libc/sys/sysnecv850/crt0.S (start): Delete v850 code for initializing
the ctbp register.
* libc/ctype/jp2uc.c: Change to use multiple arrays in jp2uc.h.
Also convert to EUCJP before using arrays. For values not in
the conversion arrays, return WEOF.
* libc/ctype/jp2uc.h: Change from one array to a number of
arrays to account for the fact that the originating table
is not contiguous for the input values since some are invalid.
* configure.host: Minor comment and formatting changes.
* libc/Makefile.am: Add libc_la_DEPENDENCIES.
* libc/Makefile.in: Regenerated.
* libc/include/sys/config.h: Minor format change.
* libc/posix/opendir.c (opendir): Change code to check
for HAVE_FCNTL before calling fcntl.
* libc/search/hash.c (hash_open): Ditto.
* libc/search/hash_page.c (open_tmp): Ditto.
* libc/reent/Makefile.am: Add fcntlr.c.
* libc/reent/Makefile.in: Regenerated.
* libc/reent/fcntlr.c: New file.
* libc/stdio/fdopen.c (_fdopen_r): Change to call _fcntl_r
instead of _fcntl when HAVE_FCNTL flag is set.
* libc/syscalls/sysfcntl.c (fcntl): Check for HAVE_FCNTL flag
to see if _fcntl or _fcntl_r should be called. If flag is not
set, default to ENOSYS stub.
* libc/include/wchar.h (mbstate_t): Change protective flag to
be _MBSTATE_T.
* libc/include/sys/_types.h (_mbstate_t): Remove protective flag.
[__CYGWIN__]: Remove special code that defines mbstate_t and WEOF
for Cygwin.
* libc/sys/linux/sys/_types.h (_mbstate_t): Remove protective flag.
* 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.
* libc/include/sys/config.h: Define accordingly __WCHAR_MAX__.
* libc/include/wchar.h: Define WCHAR_MIN as 0 and WCHAR_MAX as
__WCHAR_MAX__ or 0x7fffffffu.
* libc/string/wcscmp.c: Delete wrong and unnecessary type cast.
* libc/string/wcsncmp.c: Ditto.
* libc/include/sys/config.h: Define accordingly __WCHAR_MAX__.
* libc/include/wchar.h: Define WCHAR_MIN as 0 and WCHAR_MAX as
__WCHAR_MAX__ or 0x7fffffffu.
* libc/string/wcscmp.c: Delete wrong and unnecessary type cast.
* libc/string/wcsncmp.c: Ditto.
* libc/include/sys/_types.h (_flock_t): Added.
* libc/include/sys/lock.h (__lock_try_acquire): New interface.
(__lock_try_acquire_recursive): Ditto.
* libc/include/sys/reent.h (__sFILE, __sFILE64): Add new
_lock field.
* libc/stdio/findfp.c (std)[!__SINGLE_THREAD__]: Initialize _lock
field.
* libc/stdio/fopen.c (_fopen_r)[!__SINGLE_THREAD__]: Ditto.
* libc/stdio64/fopen64.c (_fopen64_r)[!__SINGLE_THREAD__]: Ditto.
* libc/sys/linux/include/time.h (struct timespec): Moved from
<sys/types.h> and added check for __need_timespec flag so type
can be defined by itself.
* libc/sys/linux/sys/_types.h (_flock_t): New type.
* libc/sys/linux/sys/types.h (struct timespec): Moved to
<time.h>.
* libc/locale/locale.c (_setlocale_r)[MB_CAPABLE]: Fix so
default locale "" is accepted for LC_CTYPE or LC_MESSAGES
and is treated as if "C" was specified.
* Makefile.am (install-data-local): Move install of build
newlib.h after installing headers in libc/include so as to
overwrite default newlib.h.
* Makefile.in: Regenerated.
* configure.host: Remove _ELIX_LEVEL flag setting.
* Makefile.am(stmp-targ-include): Copy newlib.h to targ-include.
(install-data-local): Install newlib.h.
* Makefile.in: Regenerated.
* aclocal.m4: Ditto.
* configure: Ditto.
* configure.in: Add AM_CONFIG_HEADER to generate newlib.h based on
newlib.hin. Add AC_DEFINE_UNQUOTED entries for _ELIX_LEVEL
and _NEWLIB_VERSION to fill in newlib.h header file entries.
In AC_OUTPUT statement, unset ac_file so multilib support does
not use last ac_file temporary used in newlib.h configuration.
* libc/include/_ansi.h: Include <newlib.h>.
* newlib.hin: New template file for newlib.h.
* stamp-h.in: New file.
* Makefile.am(stmp-targ-include): Copy newlib.h to targ-include.
(install-data-local): Install newlib.h.
* Makefile.in: Regenerated.
* aclocal.m4: Ditto.
* configure: Ditto.
* configure.in: Add AM_CONFIG_HEADER to generate newlib.h based on
newlib.hin. Add AC_DEFINE_UNQUOTED entries for _ELIX_LEVEL
and _NEWLIB_VERSION to fill in newlib.h header file entries.
In AC_OUTPUT statement, unset ac_file so multilib support does
not use last ac_file temporary used in newlib.h configuration.
* libc/include/_ansi.h: Include <newlib.h>.
* newlib.hin: New template file for newlib.h.
* stamp-h.in: New file.
* libc/include/sys/types.h: Support __need_inttypes macro
that only sets the __intxx and __uintxx types.
* libc/machine/powerpc/Makefile.am: Add stdlib to include directories
to get mprec.h.
* libc/machine/powerpc/Makefile.in: Regenerated.
* libc/machine/powerpc/vfprintf.c: Fix state variable type.
* libc/machine/powerpc/vfscanf.c: Fix state variable type. Remove
redundant fixed-point conversion prototypes.
* libc/machine/powerpc/machine/stdlib.h[__SPE__]: Include <sys/types.h>
after setting __need_inttypes.
* Makefile.am: Move cmath stuff into libc/sys/linux.
* Makefile.in: Regenerated.
* configure.host: Default -DMB_CAPABLE for x86-linux.
* libc/include/reent.h: Define _sbrk to take signed int argument.
* libc/include/sys/unistd.h: Ditto for _sbrk_r and sbrk.
* libc/locale/locale.c[MB_CAPABLE]: Add LC_MESSAGES support and
make locale name checking more efficient. Also allow "C-ISO-8859-1"
locale for LC_CTYPE and LC_MESSAGES.
* libc/reent/sbrkr.c: Change prototype to take ptrdiff_t.
* libc/sys/linux/brk.c: Change sbrk prototype.
* libc/sys/linux/include/time.h: Remove Cygwin stuff and
include <sys/features.h>.
(CLOCK_THREAD_CPUTIME): Renamed to CLOCK_THREAD_CPUTIME_ID.
(CLOCK_PROCESS_CPUTIME): Renamed to CLOCK_PROCESS_CPUTIME_ID.
* libc/sys/linux/sys/cdefs.h: Replace with glibc sys/cdefs.h
with a few local additions.
* libc/sys/linux/sys/features.h: New file.
* libc/sys/linux/sys/unistd.h: Change _sbrk_r and sbrk prototypes
to take signed argument.
* libc/syscalls/syssbrk.c: Change sbrk, _sbrk_r, and _sbrk
prototypes to take signed size argument.
* libc/sys/linux/machine/i386/crt0.c (__bss_start,_end):
Declare as extern chars and use the address operator to
properly use values set in linker script.
* 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.
* configure.host: Add check for --enable-newlib-io-pos-args
and define WANT_IO_POS_ARGS flag if enabled. Define
the flag by default for x86-linux configurations.
* configure.in: Add support for --enable-newlib-io-pos-args.
* libc/configure.in: Ditto.
* configure: Regenerated.
* libc/configure: Ditto.
* libc/stdio/Makefile.am: Specify -fshort-enums for compiling
vfprintf.c and vfiprintf.c.
* libc/stdio/Makefile.in: Regenerated.
* libc/stdio/vfprintf.c: Add positional argument support that
is enabled by compiling with -DWANT_IO_POS_ARGS.
* libc/include/signal.h (SIG_IGN, SIG_DFL, SIG_ERR): Change
to use _sig_func_ptr type casted constants.
(_sig_func_ptr): Typedef moved to sys/signal.h.
* libc/include/sys/signal.h (_sig_func_ptr): Typedef added.
For __rtems, use POSIX definition, otherwise default to ANSI.
* libc/sys/linux/sys/signal.h (_sig_func_ptr): Typedef added.
* configure.host: Recognize m6811-elf and m6812-elf targets.
* libc/include/machine/setjmp.h (_JBLEN): Define for 68hc11/68hc12.
* libc/include/machine/ieeefp.h (__IEEE_BIG_ENDIAN): Define for 68HC11.
(_DOUBLE_IS_32BITS): Define when compiling with -fshort-double.
* libc/include/sys/config.h (INT_MAX, UINT_MAX): Define
according to __INT_MAX__.
(_POINTER_INT): Define to short.
* libc/machine/m68hc11/Makefile.am: New file.
* libc/machine/m68hc11/Makefile.in: New file.
* libc/machine/m68hc11/configure.in: New file.
* libc/machine/m68hc11/configure: New file.
* libc/machine/m68hc11/aclocal.m4: New file.
* libc/machine/m68hc11/setjmp.S: New file.