support for 'p' format. Fix code to print bytes for vector
integer formats that do not specify 'h' or 'l'.
* libc/machine/powerpc/vfscanf.c[__ALTIVEC__]: Add vector support
for 'p' specifier. Fix code to scan 16 bytes for vector integer
formats that do not specify 'h' or 'l'.
* 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.
(_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.
* configure.in (CC_FOR_NEWLIB): New variable that
bases on $(CC) and adds targ-include and libc/include as
-isystem directives if they are not already part of $(CC).
* Makefile.am (AM_MAKEFLAGS): Change setting of CC to equal
$(CC_FOR_NEWLIB).
* configure: Regenerated.
* Makefile.in: Ditto.
* libc/include/sys/config.h: Remove include of <limits.h>.
(__INT_MAX__, __LONG_MAX__): Define like GCC's limits.h would
define INT_MAX and LONG_MAX. Use them in tests.
* configure.host: Add support for powerpc-eabialtivec*.
* libc/include/malloc.h: Add include of <machine/malloc.h>.
* libc/include/stdlib.h: Add include of <machine/stdlib.h>.
* libc/include/machine/malloc.h: New file.
* libc/include/machine/stdlib.h: Ditto.
* libc/include/machine/setjmp.h: Add support for powerpc altivec.
* libc/machine/powerpc/Makefile.am: Add conditional objects and
sources based on configuration.
* libc/machine/powerpc/Makefile.in: Regenerated.
* libc/machine/powerpc/configure: Ditto.
* libc/machine/powerpc/configure.in: Add check for
powerpc-eabialtivec* in which case add in additional source files.
* libc/machine/powerpc/setjmp.S: Add altivec support.
* libc/machine/powerpc/vec_calloc.c: New file.
* libc/machine/powerpc/vec_free.c: Ditto.
* libc/machine/powerpc/vec_malloc.c: Ditto.
* libc/machine/powerpc/vec_mallocr.c: Ditto.
* libc/machine/powerpc/vec_realloc.c: Ditto.
* libc/machine/powerpc/machine/malloc.h: Ditto.
* libc/machine/powerpc/machine/stdlib.h: Ditto.
* libc/machine/powerpc/vfprintf.c: New file that is vfprintf.c
with added altivec format specifiers.
* libc/machine/powerpc/vfscanf.c: New file that is vfscanf.c with
added altivec format specifiers.
* 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.
(CRT1_DIR): Set to ${crt1_dir}/ if crt1_dir is non-empty.
* Makefile.am: Change all occurrences of $(CRT0_DIR)/$(CRT0) to
$(CRT0_DIR)$(CRT0) to prevent make warnings. Likewise for
$(CRT1_DIR)/$(CRT1).
* libc/machine/xstormy16/Makefile.in: Regenerated.
* libc/machine/xstormy16/aclocal.m4: Regenerated.
* libc/machine/xstormy16/configure: Regenerated.
* libc/sys/rtems/crt0.c (rtems_gxx_mutex_init): Dummy
routine to allow autoconf to determine that building executables
for rtems works.
(rtems_gxx_mutex_lock, rtems_gxx_mutex_unlock): Ditto.
(rtems_gxx_mutex_once): Ditto.
* Makefile.am: Add support for installing crt1.o if one exists.
* configure.host: Specify crt1.o for linux.
* configure.in: Expose CRT1 and CRT1_DIR for Makefile.am to use.
* Makefile.in: Regenerated.
* configure: Ditto.
* libc/include/sys/unistd.h (_SC_STREAM_MAX, _SC_PRIORITY_SCHEDULING):
Added for non-Cygwin, non-RTEMS configurations.
* libc/sys/linux/Makefile.am: Add support for crt1 and sysconf.
* libc/sys/linux/Makefile.in: Regenerated.
* libc/sys/linux/crt1.c: New empty file to override one defaulted
by gcc. This fixes problem with reconfiguring linux newlib build.
* libc/sys/linux/sysconf.c: New file.
* 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.
* libc/machine/i386/Makefile.am: Add $(oext) for setjmp
object so it works for shared library or statici library.
* libc/machine/i386/Makefile.in: Regenerated.
* libc/include/sys/stat.h: Ditto. Don't define `struct stat'
when compiling for Cygwin.
* libc/include/sys/types.h: Don't define off_t, uid_t
and gid_t when compiling for Cygwin.
* libc/machine/i386/Makefile.am: (mach_add_src): Remove.
(mach_add_obj): Conditionally set to setjmp.o or nothing.
(LIB_SOURCES): Remove $(mach_add_src).
(lib_a_LIBADD, lib_a_DEPENDENCIES): Add and set to $(mach_add_src).
(lib_la_LIBADD, lib_la_DEPENDENCIES): Ditto.
* libc/machine/i386/Makefile.in: Regenerate.
* scripttempl/xstormy16.sc: Don't allocate extra space for the
stack.
In libgloss/ChangeLog:
* xstormy16/Makefile.in (SIM_OBJS): Remove sbrk.o, add
sim_malloc_start.o.
* xstormy16/eva_app.ld: Add __malloc_start.
* xstormy16/sbrk.c: Remove.
* xstormy16/sim_malloc_start.s: New file.
* xstormy16/sim_high.ld: Make the stack start immediately at the
end of the program.
In newlib/ChangeLog:
* configure.host (xstormy16): Don't use the generic malloc.
* libc/machine/xstormy16/Makefile.am: Build tiny-malloc.
* libc/machine/xstormy16/Makefile.in: Regenerate.
* libc/machine/xstormy16/mallocr.c: New file.
* libc/machine/xstormy16/tiny-malloc.c: New file.
* libc/include/machine/ieeefp.h: Configure d10v doubles to
be 32 bits if __DOUBLE__ == 32 otherwise doubles are 64 bits.
libc/include/sys/config.h: Ditto.
2001-12-22 Geoffrey Keating <geoffk@redhat.com>
Catherine Moore <clm@redhat.com>
Richard Henderson <rth@redhat.com>
Corinna Vinschen <vinschen@redhat.com>
* configure.host: Add support for xstormy16.
* libc/include/machine/ieeefp.h: Add support for xstormy16.
* libc/include/machine/setjmp.h: Add support for xstormy16.
* libc/include/sys/config.h: Add support for xstormy16.
* libc/machine/xstormy16/Makefile.am: New file.
* libc/machine/xstormy16/Makefile.in: New file.
* libc/machine/xstormy16/aclocal.m4: New file.
* libc/machine/xstormy16/configure: New file.
* libc/machine/xstormy16/configure.in: New file.
* libc/machine/xstormy16/setjmp.S: New file.
In libgloss/:
2001-12-22 Geoffrey Keating <geoffk@redhat.com>
Mark Salter <msalter@redhat.com>
Catherine Moore <clm@redhat.com>
Richard Henderson <rth@redhat.com>
* configure.in: Add xstormy16.
* libnosys/configure.in: Add xstormy16.
* configure: Regenerated.
* libnosys/configure: Regenerated.
* xstormy16/Makefile.in: New file.
* xstormy16/close.c: New file.
* xstormy16/configure: New file.
* xstormy16/configure.in: New file.
* xstormy16/crt0.s: New file.
* xstormy16/crt0_stub.s: New file.
* xstormy16/crti.s: New file.
* xstormy16/crtn.s: New file.
* xstormy16/eva_app.c: New file.
* xstormy16/eva_app.ld: New file.
* xstormy16/eva_stub.ld: New file.
* xstormy16/fstat.c: New file.
* xstormy16/getpid.c: New file.
* xstormy16/kill.c: New file.
* xstormy16/lseek.c: New file.
* xstormy16/open.c: New file.
* xstormy16/sbrk.c: New file.
* xstormy16/sim_high.ld: New file.
* xstormy16/stat.c: New file.
* xstormy16/syscalls.S: New file.
* xstormy16/syscalls.m4: New file.
* xstormy16/unlink.c: New file.
* xstormy16/xstormy16_stub.c: New file.
$(COMPILE) rather than $(CC).
* libc/stdio/Makefile.am (LIB_COMPILE): Likewise.
(vfprintf.$(oext)): Remove $(INCLUDES), made redundant by
$(LIB_COMPILE) change.
(vfiprintf.$(oext)): Likewise.
to here. Rearrange for general inclusion by stdlib.h.
* libc/include/stdlib.h: Include <alloca.h> if __STRICT_ANSI__
isn't defined.
* libc/sys/linux/include/alloca.h: Move to libc/include.
getusershell(), iruserok(), revoke(), ruserok() and setusershell()
when __CYGWIN__ is defined.
* libc/sys/cygwin/sys/utmp.h: Add prototypes for login_tty() and
logwtmp().
* libm/mathfp/sf_isinf.c (isinff): Change to use _DEFUN macro.
[_DOUBLE_IS_32BITS](isinf): New function that calls isinff.
* libm/mathfp/sf_isnan.c (isnanf): Change to use _DEFUN macro.
[_DOUBLE_IS_32BITS](isnan): New function that calls isnanf.
* libc/stdio/fseek.c: Reset pointer to buffer base
when forced to seek outside of current buffer contents.
This prevents the code from erroneously thinking there is
anything in the current buffer.
* signal.h: Change comment to reflect __CYGWIN__ rather than __CYGWIN32__.
* popen.c (popen): Use __CYGWIN_ rather than __CYGWIN32__.
* system.c (_system_r): Ditto.
* 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
* 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.
* libc/include/sys/reent.h: Add include of <sys/_types.h>.
No longer include time.h. Add struct __tm to use for
_localtime_buf in the reentrant structure. Add a
_NULL definition to use in initializing the reentrant struct.
* libc/include/sys/config.h: For CYGWIN32 and RTEMS, change
the _READ_WRITE_RETURN_TYPE to _ssize_t which is found in
<sys/_types.h>.
* libc/include/sys/unistd.h: Include <sys/_types.h>.
* libc/time/lcltime.c (localtime): Cast the reentrant struct
_localtime_buf to be struct tm *.
* libc/ctype/ctype_.c: When compiled with gcc on platforms
with signed char, make _ctype_[-128] ... _ctype[-1] refer to
initialized memory region. Platform can define COMPACT_CTYPE
to avoid allocation of the additional 128 bytes of data.
Add pointer to _ctype_ array. Always initialize all _ctype_
array elements.
* libc/stdio/findfp (__sinit)[HAVE_FCNTL]: For platforms that have
real file systems, let __smakebuf() determine if line buffering
should be used for stdout.
* libc/stdio/vprintf.c (vprintf): fix signature to use _DEFUN
* libc/stdio/vprintf.c (_vprintf_r): new function
* libc/stdio/vsnprintf.c (vsnprintf): fix signature to use _DEFUN
* libc/stdio/vsnprintf.c (_vsnprintf_r): fix signature to use
_DEFUN, and call _vfprintf_r, not vfprintf.
* libc/stdio/vsprintf.c (vsprintf.c): fix signature to use _DEFUN
* libc/stdio/vsprintf.c (_vsprintf_r): fix signature to use
_DEFUN, and call _vfprintf_r, not vfprintf.
* 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.
* include/time.h[__CYGWIN__]: Define tzname to _tzname if not defined.
Define daylight to _daylight if it is not defined
Prepare a variable export of timezone based on timezonevariable.
(Cannot be used with the timezone() function.)
support.
* libc/include/sys/signal.h: Remove unneeded __CYGWIN__ protection.
* libc/include/sys/types.h: Protect __CYGWIN__ from the rtems pthreads types.
Include <cygwin/types.h> for the cygwin specific typedefs.
Allow building internal stubs for non-reentrant syscalls
if target provides its own malloc
* libc/reent/reent.c (errno): Move definition here.
* libc/reent/sbrkr.c: From here.
rather than _WINSOCK_H.
(fd_set): Add !defined __USE_W32_SOCKETS to guard; define _SYS_TYPES_FD_SET.
* libc/include/sys/unistd.h (gethostname): Don't declare if defined
(_WINSOCK_H) || defined (__USE_W32_SOCKETS).
* 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.
* libc/stdio/fdopen.c (fdopen): Protect calls to _fcntl() with
HAVE_FCNTL flag check.
* configure.host: Define HAVE_FCNTL for Cygwin, go32, RTEMS, sparc64,
powerpcle, x86 netware, x86 sco, x86 Linux and Vxworks.
* libc/include/stdio.h (FILENAME_MAX): Changed to use __FILENAME_MAX__
if defined.
(FOPEN_MAX): Changed to use __FOPEN_MAX__ if defined.
(L_tmpnam): Changed to use __L_tmpnam__ if defined.
* libc/include/sys/config.h: Changed to set __FILENAME_MAX__
appropriately for Cygwin and RTEMS so not to exceed PATH_MAX.
* libc/include/math.h (signgam): Change to errno-like solution
using a function to return the address of the real signgam.
* libc/reent/signgam.c: New file containing __signgam().
* libc/reent/Makefile.am: Added signgam.c to list of files.
* libc/reent/Makefile.in: Regenerated.
* libc/stdio/vfprintf.c (_VFPRINTF_R): Modification to fix
that suppressed . for %.0f, 0.1. Check now looks if there
are padding zeroes (expt) in addition to any digits (ndig) to
print.
* 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.