* libc/include/stdio.h (__getline, __getdelim): New prototypes.
* libc/include/time.h [HAVE_GETDATE](getdate, getdate_r): Ditto.
[HAVE_GETDATE](getdate_err): New error code.
* libc/stdio/Makefile.am: Add support for getline.c and getdelim.c.
* libc/stdio/Makefile.in: Regenerated.
* libc/stdio/getdelim.c: New file.
* libc/stdio/getline.c: Ditto.
* libc/sys/linux/Makefile.am: Add support for getdate.c, getdate_err.c
and ntp_gettime.c. Also add AM_CFLAGS to point to libc/stdio.
* libc/sys/linux/Makefile.in: Regenerated.
* libc/sys/linux/getdate.c: New file.
* libc/sys/linux/getdate_err.c: Ditto.
* libc/sys/linux/ntp_gettime.c: Ditto.
* libc/sys/linux/time.c (adjtimex, ntp_adjtime): New functions.
* libc/sys/linux/sys/stdio.h (getline, getdelim): New macros.
* libc/include/math.h: Add <sys/types.h> to get _uint32_t definition.
* libc/include/machine/types.h: Skip __off_t, __pid_t, and
__loff_t definitions if special _HAVE_SYSTYPES macro defined.
* libc/include/sys/config.h: Removed _uint*, _int* definitions.
* libc/include/sys/param.h: Remove i386 case which is handled
by default case.
(BIG_ENDIAN, LITTLE_ENDIAN): Protect
definitions in case they are already defined.
(BYTE_ORDER): Add default case using _IEEE_BIG_ENDIAN and
_IEEE_LITTLE_ENDIAN flags.
* libc/include/sys/reent.h: Change __uint32_t references to
use _ULong instead.
(_REENT_GETDATE_REENT_P): New macro.
* libc/include/sys/types.h (__int16_t, __uint16_t): Added.
(__int32_t, __uint32_t, __int64_t, __uint64_t): Ditto.
* libc/search/hash.h: Add default setting of BYTE_ORDER,
LITTLE_ENDIAN, and BIG_ENDIAN, if not already defined.
* libc/sys/linux/sys/types.h: Include <sys/_types.h>. Define
ssize_t based on _ssize_t. Remove __socklen_t, __uintptr_t,
pid_t, off_t, loff_t, caddr_t, and daddr_t type
definitions which are done by subsequent glibc headers.
Add macro definitions to prevent subsequent header files from
defining pid_t, off_t, ssize_t, and key_t. Move uintptr_t and
intptr_t to after glibc definitions of types they are based on.
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.
* libc/sys/linux/Makefile.am: Add sig.c and sigaction.c. Also
make siglist.inc dependent on sig.c instead of signal.c.
* libc/sys/linux/Makefile.in: Regenerated.
* libc/sys/linux/sig.c: Rename from signal.c and change code to
use NSIG instead of _NSIG.
* libc/sys/linux/sigaction.c: New file.
* libc/sys/linux/signal.c: Changed to be linux signal() function
so as to override regular newlib default signal.c.
* libc/sys/linux/linuxthreads/config.h: Add __ASSUME_REALTIME_SIGNALS
definition.
* libc/sys/linux/linuxthreads/testrtsig.h: New file.
* libc/sys/linux/machine/i386/Makefile.am: Remove sigset.c.
* libc/sys/linux/machine/i386/Makefile.in: Regenerated.
* libc/sys/linux/machine/i386/sigset.c: Moved to linux main directory.
* libc/sys/linux/sigset.c: Moved from machine/i386 directory.
* libc/sys/linux/sys/signal.h: Redefine NSIG to _NSIG and override
default linux sigset_t typedef by defining it equal to __sigset_t.
* libc/unix/sigset.c: Add check so code isn't compiled on systems
with a sigset_t that isn't implemented with a single int.
* libc/sys/linux/Makefile.am: Add support for new files.
* libc/sys/linux/Makefile.in: Regenerated.
* libc/sys/linux/ids.c: Add __getuid weak alias for getuid.
* libc/sys/linux/signal.c: Change to use real-time syscalls for
sigsuspend, sigprocmask, and sigpending. Also remove sigaction as
it is in a separate file now.
* libc/sys/linux/machine/i386/Makefile.am
* libc/sys/linux/machine/i386/Makefile.in
* libc/sys/linux/sys/signal.h: Add include of <bits/signum.h>.
* libc/sys/linux/sigaction.c: New file.
* libc/sys/linux/sigqueue.c: Ditto.
* libc/sys/linux/sigwait.c: Ditto.
* libc/sys/linux/machine/i386/sigaction.c: Ditto.
* libc/sys/linux/kernel_sigaction.h: Ditto.
* libc/sys/linux/Makefile.am: Add support for cfspeed.c and
tcsendbrk.c.
* libc/sys/linux/Makefile.in: Regenerated.
* libc/sys/linux/termios.c: Add tcflow(), tcflush(),
tcgetpgrp(), and tcsetpgrp() functions.
* libc/sys/linux/sys/termios.h: Add include of machine/termios.h
to get __MAX_BAUD rate.
* libc/sys/linux/machine/i386/include/termios.h: New file.
* libc/include/machine/termios.h: Ditto.
* libc/sys/linux/cfspeed.c: Ditto.
* libc/sys/linux/tcsendbrk.c: Ditto.
* libc/string/Makefile.am: Add support for strsep.c.
* libc/string/Makefile.in: Regenerated.
* libc/string/strsep.c: New file.
* libc/string/strtok.c: Change to call __strtok_r service routine.
* libc/string/strtok_r.c: Add __strtok_r routine which takes
additional flag parameter regarding whether to skip leading delimeters.
Change strtok_r to call __strtok_r.
* libc/stdio/Makefile.am: Modify to add setbuffer.c and setlinebuf.c.
* libc/stdio/Makefile.in: Regenerated.
* libc/stdio/setbuffer.c: New file.
* libc/stdio/setlinebuf.c: New file.
* libc/sys/linux/Makefile.am: Add resource.c.
* libc/sys/linux/Makefile.in: Regenerated.
* libc/sys/linux/resource.c: New file.
* libc/sys/linux/time.c: Add settimeofday, getitimer, and setitimer.
* libc/sys/linux/machine/i386/Makefile.am: Remove syscalls.c.
* libc/sys/linux/machine/i386/Makefile.in: Regenerated.
* libc/sys/linux/machine/i386/syscalls.c: Removed as functions
are now found in libc/sys/linux/resource.c.
* libc/include/string.h (bcmp, bcopy, bzero): Change prototypes
to use void * pointers and comply with Single Unix spec.
* libc/string/bcmp.c: Change to use void * instead of char *.
* libc/string/bcopy.c: Ditto.
* libc/string/bzero.c: Ditto.
* libc/sys/linux/shm_open.c: New file.
* libc/sys/linux/shm_unlink.c: Ditto.
* libc/sys/linux/Makefile.am: Add support for shm_open.c and
shm_unlink.c.
* libc/sys/linux/Makefile.in: Regenerated.
* libc/sys/linux/sys/types.h: Add some additional checks to see
if clock_t or time_t is already defined.
* Makefile.am: Copy and install headers from sys/machine/include
directory. Also pass $toollibdir to lower-level directories.
* Makefile.in: Regenerated.
* libc/include/stdio.h[!_REENT_ONLY]: Change stdin, stdout, and
stderr to use _REENT macro instead of _impure_ptr directly.
* libc/include/sys/config.h[__i386__][__linux__]: Define
__DYNAMIC_REENT__.
* libc/include/sys/reent.h[!_REENT_ONLY]: Change _REENT macro to be
call to __getreent() function if !__SINGLE_THREAD__ and
__DYNAMIC_REENT__ is set.
* libc/reent/Makefile.am: Add support for getreent.c.
* libc/reent/Makefile.in: Regenerated.
* libc/string/strerror.c: Add check if EOPNOTSUPP and ENOTSUP are same.
* libc/sys/linux/Makefile.am: Add support for new files.
* libc/sys/linux/configure.in: Add $EXTRA_DIRS variable.
* libc/sys/linux/Makefile.in: Regenerated.
* libc/sys/linux/configure: Ditto.
* libc/sys/linux/io.c: Add poll syscall. Also weak-alias
__close, __read, __write, __poll, __open, __lseek, __fcntl from
their __libc_ counterparts.
* libc/sys/linux/io64.c: Add __libc_ prefix to lseek64 and open64
and weak-alias to regular names.
* libc/sys/linux/pread64.c: Rename to __libc_pread64 and weak-alias
to pread64 and __pread64.
* libc/sys/linux/process.c: Weak_alias __libc_getpid to __getpid.
* libc/sys/linux/pwrite64.c: Rename to __libc_pwrite64 and
weak-alias to pwrite64.
* libc/sys/linux/sched.c: Weak-alias __libc_sched_getparam,
__libc_sched_getscheduler, __libc_sched_get_priority_max,
__libc_sched_get_priority_min, and __libc_sched_setschedule to
name with __ instead of __libc_.
* libc/sys/linux/siglongjmp.c: Include <machine/weakalias.h>.
Rename siglongjmp to __libc_siglongjmp and weak-alias to siglongjmp.
Call __libc_longjmp instead of longjmp, from __libc_siglongjmp.
* libc/sys/linux/signal.c: Rename raise to __libc_raise and weak-alias
to raise.
* libc/sys/linux/socket.c: Weak-alias __libc_connect to __connect and
__libc_send to __send.
* libc/sys/linux/time.c: Weak-alias __libc_gettimeofday to
__gettimeofday.
* libc/sys/linux/wait.c: Rename wait to __libc_wait and weak-alias
it to wait. Rename wait3 to __libc_wait3 and weak-alias it to wait3.
* libc/sys/linux/include/setjmp.h: Use __jmp_buf in sigjmp_buf
type and typedef __jmp_buf to jmp_buf.
* libc/sys/linux/machine/i386/Makefile.am: Add syscalls.c and
setjmp.S.
* libc/sys/linux/machine/i386/Makefile.in: Regenerated.
* libc/sys/linux/machine/i386/crt0.c: Add support to clear .bss
section.
* libc/sys/linux/machine/i386/socketcall.h: Change to use __libc_
prefix for function macros and then use weak_alias() to regular names.
* libc/sys/linux/machine/i386/syscall.h: Ditto.
* libc/sys/linux/sys/errno.h: Define EOPNOTSUP to be ENOTSUP.
* libc/sys/linux/sys/stdio.h: Define _flockfile and _funlockfile
to be flockfile() and funlockfile() respectively.
* libc/sys/linux/sys/types.h
* libc/reent/getreent.c: New file.
* libc/sys/linux/flockfile.c: Ditto.
* libc/sys/linux/funlockfile.c: Ditto.
* libc/sys/linux/getreent.c: Ditto.
* libc/sys/linux/pread.c: Ditto.
* libc/sys/linux/pwrite.c: Ditto.
* libc/sys/linux/raise.c: Ditto.
* libc/sys/linux/system.c: Ditto.
* libc/sys/linux/tcdrain.c: Ditto.
* libc/sys/linux/machine/i386/i386mach.h: Ditto.
* libc/sys/linux/machine/i386/setjmp.S: Ditto.
* libc/sys/linux/machine/i386/syscalls.c: Ditto.
* libc/sys/linux/machine/i386/weakalias.h: Ditto.
* libc/sys/linux/machine/i386/include/setjmp.h: Ditto.
* newlib/libc/sys/h8300hms/read.c: New file. Magic trap 0xC8 for sim.
* newlib/libc/sys/h8300hms/syscalls.c: Move _read() to read.c.
* newlib/libs/sys/h8300hms/sys/syscall.h: New file.
* 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.
* libc/machine/powerpc/vfprintf.c(__VFPRINTF_R)[__ALTIVEC__]: Don't
allow v specifier with n or L specifiers. For vector c format,
move tmp declaration to the top.
* libc/machine/powerpc/vfprintf.c(__VFPRINTF_R)[__ALTIVEC__]: Restore
the original format specifier when looping for vectors to compensate
for any changes made in vector %g format processing.
Also add syntax checking for various invalid scenarios
involving vector format extensions.
* libc/machine/powerpc/vfscanf.c(__VFSCANF_R)[__ALTIVEC__]: Fix
return code setting for vector formats. Also treat vector
separator mismatch as a match error instead of an input error.
Perform some syntax checking for vector formats.
* libc/stdio/getchar_u.c: New file.
* libc/stdio/putc_u.c: New file.
* libc/stdio/putchar_u.c: New file.
* libc/include/stdio.h: Add declarations for getc_unlocked,
getchar_unlocked, putc_unlocked and putchar_unlocked.
* libc/stdio/Makefile.am (LIB_SOURCES): Add new files.
(CHEWOUT_FILES): Add new files' .def's.
* libc/stdio/putchar.c (_putchar_r): Replace __sputc with putc.
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.
* 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().
* 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.
* Merge RTEMS specific .h files into main libc/include.
* libc/sys/rtems/include/signal.h: Removed.
* libc/sys/rtems/include/time.h: Removed.
* libc/sys/rtems/sys/features.h: Removed.
* libc/sys/rtems/sys/sched.h: Removed.
* libc/sys/rtems/sys/siginfo.h: Removed.
* libc/sys/rtems/sys/signal.h: Removed.
* libc/sys/rtems/sys/time.h: Removed.
* libc/sys/rtems/sys/times.h: Removed.
definitions for time_t and clock_t since these are
no longer in time.h.
* libc/include/pthread.h: New file.
* libc/include/sys/sched.h: New file.
* libc/include/sys/features.h: New file.
* libc/include/time.h: Removed duplicate definition of clock_t
and time_t, get them from <sys/types.h> instead. Add prototypes for POSIX clock and timer functionality.
* libc/sys/linux/sys/types.h: Changed to include
* libc/include/machine/types.h: Add _CLOCKID_T_ and _TIMER_T_.
* libc/include/sys/signal.h: Add more complete set of POSIX
signal functionality including real-time and threaded signals.
* libc/include/sys/types.h: Add clock_t, time_t, struct
timespec, and struct itimerspec. Centralizing these makes
things cleaner. RTEMS uses 64-bit dev_t.
Added numerous primitive definitions
for pthreads including macros, pthread_attr_t,
pthread_mutexattr_t, pthread_condattr_t, pthread_key_t,
pthread_once_t, and pthread_t.
* libc/include/sys/unistd.h: Added getlogin_r() prototype.
If RTEMS follow POSIX on read(), write() and sbrk() prototype.
Feature flags removed and moved to new file <sys/features.h>.
Full set of POSIX sysconf() constants
* 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.
* libc/sys/rtems/crt0.c: Add stubs for functions implicitly
referenced by code generated by gcc 2.8.1.
(a29k): Add stubs for V_SPILL, V_FILL, V_BSD_OS, V_EPI_OS to
satisfy gcc.
* libc/include/sys/unistd.h: Removed definition of MAXNAMLEN.
* libc/include/dirent.h: Added definition of MAXNAMLEN if
not defined by sys/dirent.h.
* libc/posix/execvp.c: Added include of dirent.h to get
MAXNAMLEN value which used to be in unistd.h.
* libc/machine/v850/setjmp.S (_setjmp): Save r1 rather than r0.
Added return value 0.
(_longjmp): Allow longjmp to return value of second argument
passed to it.
* 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.