Commit Graph

78 Commits

Author SHA1 Message Date
Jeff Johnston 0c8593cf11 2004-09-09 Paul Brook <paul@codesourcery.com>
* libc/include/sys/reent.h (struct _on_exit_args): Add _dso_handle
        and _is_cxa.
        (struct _atexit): Add _next when _REENT_SMALL.
        (struct _reent): Add _atexit0 when _REENT_SMALL.
        (_REENT_INIT_PTR): Adjust.
        * libc/stdlib/Makefile.am (GENERAL_SOURCES): Add __atexit.c and
        __call_exit.c.
        (EXTENDED_SOURCES): Add cxa_atexit.c and cxa_finalize.c.
        * libc/stdlib/Makefile.in: Regenerate.
        * libc/stdlib/__atexit.c: New file.
        * libc/stdlib/__call_atexit.c: New file.
        * libc/stdlib/atexit.h: Remove old definitions.  Add new.
        * libc/stdlib/atexit.c (atexit): Use __register_exitproc.
        * libc/stdlib/cxa_atexit.c: New file.
        * libc/stdlib/cxa_finalize.c: New file.
        * libc/stdlib/exit.c (exit): Use __call_exitprocs.
        * libc/stdlib/on_exit.c (on_exit): Use __register_exitproc.
        2004-09-09  Jeff Johnston  <jjohnstn@redhat.com>
        * libc/reent/reent.c [_REENT_SMALL]: Fix reference to
        _on_exit_args_ptr.
2004-09-09 19:46:54 +00:00
Jeff Johnston d0bd3e6f56 2004-06-11 Antony King <antony.king@st.com>
* libc/include/sys/_types.h: Include <sys/lock.h> and change
        _flock_t to be of type _LOCK_RECURSIVE_T.
        * libc/include/sys/reent.h: (_REENT_INIT): Reformat.
        (_REENT_INIT_PTR): Ditto.  Use memset where appropriate.
        (_global_impure_ptr): New declaration.
        (_GLOBAL_REENT): Change to be _global_impure_ptr.
        * libc/include/sys/stdio.h: Include <sys/lock.h> and
        <sys/reent.h>.
        (_flockfile)[!_SINGLE_THREAD]: Add code for lock call.
        (_funlockfile)[!SINGLE_THREAD]: Ditto.
        * libc/reent/impure.c: Set _global_impure_ptr to _impure_ptr.
        * libc/stdio/fclose.c: Remove casting of fp lock to
        _LOCK_RECURSIVE_T.
        * libc/stdio/findfp.c: Ditto.
        * libc/stdio/fopen.c: Ditto.
        * libc/stdio/freopen.c: Ditto.
        * libc/stdio/vfprintf.c: Ditto.
        * libc/stdio64/fopen64.c: Ditto.
        * libc/stdlib/envlock.c: Add default stubs that use generic
        locking code.
        * libc/stdlib/mlock.c: Ditto.

        Jeff Johnston  <jjohnstn@redhat.com>
        * libc/sys/linux/sys/_types.h (__flock_mutex_t): New subtype.
        (_flock_t): Change to be a struct containing a single member
        named mutex which is of type __flock_mutex_t.
2004-06-11 20:37:10 +00:00
Jeff Johnston 01e0a77749 2004-01-27 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* configure.in: Add support to generate iconv converter flags
	for newlib.h
	* newlib.hin: Add iconv converter flags.
	* configure: Regenerated.
	* libc/Makefile.in: Ditto.
	* libc/configure.in: Moved iconv converter parsing logic to
	top level newlib configure.in.
	* libc/configure: Regenerated.
	* libc/iconv/Makefile.in: Ditto.
	* libc/iconv/README.TODO
	* libc/iconv/charset.aliases: Remove wrong BE aliases for
	UCS2/UCS4/UTF8.
	* libc/iconv/ccs/Makefile.am: Remove C flag setting now that
	newlib.h can be used.
	* libc/iconv/ces/Makefile.am: Ditto.
	* libc/iconv/lib/Makefile.am: Ditto.
	* libc/iconv/ccs/Makefile.in: Regenerated.
	* libc/iconv/ces/Makefile.in: Ditto.
	* libc/iconv/lib/Makefile.in: Ditto.
	* libc/iconv/ccs/README.CCS.SOURCES: Updated.
	* libc/iconv/ccs/iconv_mktbl: Don't write junk strings to binaries.
	* libc/iconv/ccs/big5.c: Switch to use new underscored flags
	defined in newlib.h.
	* libc/iconv/ccs/cns11643_plane1.c: Ditto.
	* libc/iconv/ccs/cns11643_plane14.c: Ditto.
	* libc/iconv/ccs/cns11643_plane2.c: Ditto.
	* libc/iconv/ccs/cp775.c: Ditto.
	* libc/iconv/ccs/cp850.c: Ditto.
	* libc/iconv/ccs/cp852.c: Ditto.
	* libc/iconv/ccs/cp855.c: Ditto.
	* libc/iconv/ccs/cp866.c: Ditto.
	* libc/iconv/ccs/gb_2312_80.c: Ditto.
	* libc/iconv/ccs/iso_8859_1.c: Ditto.
	* libc/iconv/ccs/iso_8859_15.c: Ditto.
	* libc/iconv/ccs/iso_8859_2.c: Ditto.
	* libc/iconv/ccs/iso_8859_4.c: Ditto.
	* libc/iconv/ccs/iso_8859_5.c: Ditto.
	* libc/iconv/ccs/jis_x0201.c: Ditto.
	* libc/iconv/ccs/jis_x0208_1983.c: Ditto.
	* libc/iconv/ccs/jis_x0212_1990.c: Ditto.
	* libc/iconv/ccs/koi8_r.c: Ditto.
	* libc/iconv/ccs/koi8_u.c: Ditto.
	* libc/iconv/ccs/ksx1001.c: Ditto.
	* libc/iconv/ccs/shift_jis.c: Ditto.
	* libc/iconv/ccs/us_ascii.c: Ditto.
	* libc/iconv/ccs/binary/big5.cct: Newly generated.
	* libc/iconv/ccs/binary/cns11643_plane1.cct: Ditto.
	* libc/iconv/ccs/binary/cns11643_plane14.cct: Ditto.
	* libc/iconv/ccs/binary/cns11643_plane2.cct: Ditto.
	* libc/iconv/ccs/binary/cp775.cct: Ditto.
	* libc/iconv/ccs/binary/cp850.cct: Ditto.
	* libc/iconv/ccs/binary/cp852.cct: Ditto.
	* libc/iconv/ccs/binary/cp855.cct: Ditto.
	* libc/iconv/ccs/binary/cp866.cct: Ditto.
	* libc/iconv/ccs/binary/gb_2312_80.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_1.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_15.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_2.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_4.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_5.cct: Ditto.
	* libc/iconv/ccs/binary/jis_x0201.cct: Ditto.
	* libc/iconv/ccs/binary/jis_x0208_1983.cct: Ditto.
	* libc/iconv/ccs/binary/jis_x0212_1990.cct: Ditto.
	* libc/iconv/ccs/binary/koi8_r.cct: Ditto.
	* libc/iconv/ccs/binary/koi8_u.cct: Ditto.
	* libc/iconv/ccs/binary/ksx1001.cct: Ditto.
	* libc/iconv/ccs/binary/shift_jis.cct: Ditto.
	* libc/iconv/ccs/binary/us_ascii.cct: Ditto.
	* libc/iconv/lib/bialiasesi.c: Sync with charset.aliases.
	* libc/iconv/ces/euc-jp.c: Use newlib.h macros.
	* libc/iconv/ces/euc-kr.c: Ditto.
	* libc/iconv/ces/euc-tw.c: Ditto.
	* libc/iconv/ces/gb2312.c: Ditto.
	* libc/iconv/ces/iso-10646-ucs-2.c: Ditto.
	* libc/iconv/ces/iso-10646-ucs-4.c: Ditto.
	* libc/iconv/ces/ucs-2-internal.c: Ditto.
	* libc/iconv/ces/ucs-4-internal.c: Ditto.
	* libc/iconv/ces/utf-16.c: Ditto.
	* libc/iconv/ces/utf-8.c: Ditto.
	* libc/iconv/lib/aliases.c: Ditto.
	* libc/iconv/lib/biccs.c: Ditto.
	* libc/iconv/lib/bices.c: Ditto.
	* libc/iconv/lib/ccs.c: Ditto.
	* libc/iconv/lib/ces.c: Ditto.
	* libc/iconv/lib/ces_euc.c: Ditto.
	* libc/iconv/lib/ces_iso2022.c: Ditto.
	* libc/iconv/lib/ces_table.c: Ditto.
	* libc/iconv/lib/converter.c: Ditto.
	* libc/iconv/lib/deps.h: Ditto.
	* libc/iconv/lib/endian.h: Ditto.
	* libc/iconv/lib/iconv.c: Ditto.
	* libc/iconv/lib/loaddata.c: Ditto.
	* libc/iconv/lib/local.h: Include newlib.h.
	* libc/argz/Makefile.in: Regenerated.
	* libc/ctype/Makefile.in: Ditto.
	* libc/errno/Makefile.in: Ditto.
	* libc/iconv/ccs/binary/Makefile.in: Ditto.
	* libc/locale/Makefile.in: Ditto.
	* libc/misc/Makefile.in: Ditto.
	* libc/posix/Makefile.in: Ditto.
	* libc/reent/Makefile.in: Ditto.
	* libc/search/Makefile.in: Ditto.
	* libc/signal/Makefile.in: Ditto.
	* libc/stdio/Makefile.in: Ditto.
	* libc/stdio64/Makefile.in: Ditto.
	* libc/stdlib/Makefile.in: Ditto.
	* libc/string/Makefile.in: Ditto.
	* libc/syscalls/Makefile.in: Ditto.
	* libc/time/Makefile.in: Ditto.
	* libc/unix/Makefile.in: Ditto.
	* testsuite/newlib.iconv/iconv.exp: New file.
	* testsuite/newlib.iconv/iconvjp.c: Ditto.
	* testsuite/newlib.iconv/iconvnm.c: Ditto.
	* testsuite/newlib.iconv/iconvru.c: Ditto.
2004-01-27 23:26:26 +00:00
Jeff Johnston 786ab12ce2 2004-01-23 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* acinclude.m4 (--enable-newlib-iconv): New configuration option.
	(--enable-newlib-builtin-converters): Ditto.
	* configure.in: Add code to set _ICONV_ENABLED flag.
	Set _MB_LEN_MAX to 1 if not mb enabled.
	* configure: Regenerated.
	* aclocal.m4: Ditto.
	* Makefile.in: Ditto.
	* newlib.hin: Add _ICONV_ENABLED flag.
	* libc/Makefile.am: Add support for iconv.
	* libc/configure.in: Ditto.
	* libc/Makefile.in: Regenerated.
	* libc/aclocal.m4: Ditto.
	* libc/configure: Ditto.
	* libc/libc.texinfo: Add iconv documentation.
	* libc/iconv/AUTHORS, libc/iconv/COPYING, libc/iconv/Makefile.am,
	libc/iconv/Makefile.in, libc/iconv/README.ORIGINAL,
	libc/iconv/README.TODO, libc/iconv/charset.aliases,
	libc/iconv/iconv.tex, libc/iconv/ccs/Makefile.am,
	libc/iconv/ccs/Makefile.in, libc/iconv/ccs/README.CCS.SOURCES,
	libc/iconv/ccs/big5.c, libc/iconv/ccs/cns11643_plane1.c,
	libc/iconv/ccs/cns11643_plane14.c, libc/iconv/ccs/cns11643_plane2.c,
	libc/iconv/ccs/cp775.c, libc/iconv/ccs/cp850.c,
	libc/iconv/ccs/cp852.c, libc/iconv/ccs/cp855.c,
	libc/iconv/ccs/cp866.c, libc/iconv/ccs/gb_2312_80.c,
	libc/iconv/ccs/iconv_mktbl, libc/iconv/ccs/iso_8859_1.c,
	libc/iconv/ccs/iso_8859_15.c, libc/iconv/ccs/iso_8859_2.c,
	libc/iconv/ccs/iso_8859_4.c, libc/iconv/ccs/iso_8859_5.c,
	libc/iconv/ccs/jis_x0201.c, libc/iconv/ccs/jis_x0208_1983.c,
	libc/iconv/ccs/jis_x0212_1990.c, libc/iconv/ccs/koi8_r.c,
	libc/iconv/ccs/koi8_u.c, libc/iconv/ccs/ksx1001.c,
	libc/iconv/ccs/shift_jis.c, libc/iconv/ccs/us_ascii.c,
	libc/iconv/ccs/binary/Makefile.am, libc/iconv/ccs/binary/Makefile.in,
	libc/iconv/ccs/binary/big5.cct,
	libc/iconv/ccs/binary/cns11643_plane1.cct,
	libc/iconv/ccs/binary/cns11643_plane14.cct,
	libc/iconv/ccs/binary/cns11643_plane2.cct,
	libc/iconv/ccs/binary/cp775.cct, libc/iconv/ccs/binary/cp850.cct,
	libc/iconv/ccs/binary/cp852.cct, libc/iconv/ccs/binary/cp855.cct,
	libc/iconv/ccs/binary/cp866.cct, libc/iconv/ccs/binary/gb_2312_80.cct,
	libc/iconv/ccs/binary/iso_8859_1.cct,
	libc/iconv/ccs/binary/iso_8859_15.cct,
	libc/iconv/ccs/binary/iso_8859_2.cct,
	libc/iconv/ccs/binary/iso_8859_4.cct,
	libc/iconv/ccs/binary/iso_8859_5.cct,
	libc/iconv/ccs/binary/jis_x0201.cct,
	libc/iconv/ccs/binary/jis_x0208_1983.cct,
	libc/iconv/ccs/binary/jis_x0212_1990.cct,
	libc/iconv/ccs/binary/koi8_r.cct, libc/iconv/ccs/binary/koi8_u.cct,
	libc/iconv/ccs/binary/ksx1001.cct,
	libc/iconv/ccs/binary/shift_jis.cct,
	libc/iconv/ccs/binary/us_ascii.cct,
	libc/iconv/ces/Makefile.am, libc/iconv/ces/Makefile.in,
	libc/iconv/ces/euc-jp.c, libc/iconv/ces/euc-kr.c,
	libc/iconv/ces/euc-tw.c, libc/iconv/ces/gb2312.c,
	libc/iconv/ces/iso-10646-ucs-2.c, libc/iconv/ces/iso-10646-ucs-4.c,
	libc/iconv/ces/ucs-2-internal.c, libc/iconv/ces/ucs-4-internal.c,
	libc/iconv/ces/utf-16.c, libc/iconv/ces/utf-8.c,
	libc/iconv/lib/Makefile.am, libc/iconv/lib/Makefile.in,
	libc/iconv/lib/aliases.c, libc/iconv/lib/bialiasesi.c,
	libc/iconv/lib/biccs.c, libc/iconv/lib/bices.c,
	libc/iconv/lib/ccs.c, libc/iconv/lib/ces.c,
	libc/iconv/lib/ces_euc.c, libc/iconv/lib/ces_iso2022.c,
	libc/iconv/lib/ces_table.c, libc/iconv/lib/converter.c,
	libc/iconv/lib/deps.h, libc/iconv/lib/endian.h,
	libc/iconv/lib/iconv.c, libc/iconv/lib/loaddata.c,
	libc/iconv/lib/local.h, libc/include/iconv.h: New files.
	* libc/sys/linux/include/iconv.h: Ditto.
	* libc/include/sys/_types.h (_iconv_t): Added.
	* doc/aclocal.m4: Regenerated.
	* doc/configure: Ditto.
	* doc/Makefile.in: Ditto.
	* iconvdata/Makefile.in: Ditto.
	* iconvdata/aclocal.m4: Ditto.
	* iconvdata/configure: Ditto.
	* libc/*aclocal.m4: Ditto.
	* libc/*Makefile.in: Ditto.
	* libc/*configure: Ditto.
	* libm/*aclocal.m4: Ditto.
	* libm/*Makefile.in: Ditto.
	* libm/*configure: Ditto.
2004-01-23 21:37:46 +00:00
Nick Clifton 0efe117b5c Fix typo 2003-06-11 08:44:40 +00:00
Nick Clifton 75d7d17700 New structure containing fields used by the on_exit() function.
(struct _atexit): Include struct _on_exit_args.  For _REENT_SMALL do his via a
pointer that is initialised when needed.
2003-06-06 15:36:31 +00:00
Jeff Johnston bf3bcac28b 2003-06-03 Jeff Johnston <jjohnstn@redhat.com>
* libc/reent/execr.c: Use _DEFUN macro for function declaration.
        * libc/reent/fcntlr.c: Ditto.
        * libc/reent/fstat64r.c: Ditto.
        * libc/reent/linkr.c: Ditto.
        * libc/reent/lseek64r.c: Ditto.
        * libc/reent/lseekr.c: Ditto.
        * libc/reent/openr.c: Ditto.
        * libc/reent/readr.c: Ditto.
        * libc/reent/reent.c: Ditto.
        * libc/reent/sbrkr.c: Ditto.
        * libc/reent/signalr.c: Ditto.
        * libc/reent/signgam.c: Ditto.
        * libc/reent/statr.c: Ditto.
        * libc/reent/timer.c: Ditto.
        * libc/reent/unlinkr.c: Ditto.
        * libc/reent/writer.c: Ditto.
        * libc/syscalls/sysclose.c: Ditto.
        * 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.
2003-06-03 19:48:08 +00:00
Corinna Vinschen 2a940c1a22 * libc/include/stdio.h: Declare fgetpos, fsetpos, fseeko and ftello
with internal (_fpos_t and _off_t) datatypes when compiling newlib.
	* libc/include/sys/unistd.h: Declare _lseek using _off_t.
	* libc/reent/lseekr.c (_lseek_r): Use _off_t instead of off_t.
	* libc/stdio/fseeko.c (fseeko): Ditto.
	* libc/stdio/ftello.c (ftello): Ditto.
	* libc/stdio/stdio.c (__swrite): Ditto.
	(__sseek): Ditto.
	* libc/stdio/fgetpos.c (fgetpos): Use _fpos_t instead of fpos_t.
	* libc/stdio/fseek.c (fseek): Ditto.
	* libc/stdio/fsetpos.c (fsetpos): Ditto.
	* libc/stdio/ftell.c (ftell): Ditto.
	* libc/stdio/local.h: Declare __sseek using _off_t.
2003-03-14 18:39:05 +00:00
Corinna Vinschen 150c2818b6 * libc/reent/lseekr.c (lseek_r): Use _off_t instead of off_t. 2003-03-09 22:10:14 +00:00
Corinna Vinschen 5582abd2c7 * configure.host: Define stdio64_dir for Cygwin.
* libc/include/stdio.h: Change definition of fpos_t to fulfill
	Cygwin 64bit file access requirements.
	Drop definition of f*64() functions when compiled for Cygwin.
	* libc/include/sys/config.h: Define __LARGE64_FILES for Cygwin.
	* libc/reent/lseek64r.c: Use _off64_t instead of off64_t.
	* libc/stdio64/local64.h: Use _fpos64_t instead of fpos64_t.
2003-03-07 20:41:49 +00:00
Jeff Johnston 50558bf3bd 2002-09-19 Jeff Johnston <jjohnstn@redhat.com>
* 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.
2002-09-19 21:28:52 +00:00
Jeff Johnston 90b65e2d06 2002-08-26 Jeff Johnston <jjohnstn@redhat.com>
* Makefile.am(LIBC_OBJECTLISTS): Add STDIO64_OBJECTLIST.
        * Makefile.in: Regenerated.
        * acinclude.m4: Add support for --enable-newlib-elix-level option.
        * aclocal.m4: Regenerated.
        * configure: Ditto.
        * configure.host: Add code to define _ELIX_LEVEL if
        --enable-newlib-elix-level option is used.
        * configure.in:
        * libc/aclocal.m4: Regenerated.
        * libc/configure: Ditto.
        * libc/argz/Makefile.am: Add EL/IX level checking.
        * libc/argz/Makefile.in: Regenerated.
        * libc/argz/dummy.c: New file.
        * libc/ctype/Makefile.am: Add EL/IX level checking.
        * libc/ctype/Makefile.in: Regenerated.
        * libc/locale/Makefile.am: Add EL/IX level checking.
        * libc/locale/Makefile.in: Regenerated.
        * libc/posix/Makefile.am: Add EL/IX level checking.
        * libc/posix/Makefile.in: Regenerated.
        * libc/posix/telldir.c: Add EL/IX level checking.
        * libc/reent/Makefile.am: Ditto.
        * libc/reent/fstat64r.c: Ditto.
        * libc/reent/lseek64r.c: Ditto.
        * libc/reent/open64r.c: Ditto.
        * libc/reent/Makefile.in: Regenerated.
        * libc/search/Makefile.am: Add EL/IX level checking.
        * libc/search/Makefile.in: Regenerated.
        * libc/stdio/Makefile.am: Add EL/IX level checking.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio64/Makefile.am: Add EL/IX level checking.
        * libc/stdio64/Makefile.in: Regenerated.
        * libc/stdio64/dummy.c: New file.
        * libc/stdio64/fgetpos64.c: Fix so _LARGEFILE_64 macro is checked
        after first include.
        * libc/stdio64/fopen64.c: Ditto.
        * libc/stdio64/freopen64.c: Ditto.
        * libc/stdio64/fseeko64.c: Ditto.
        * libc/stdio64/fsetpos64.c: Ditto.
        * libc/stdio64/ftello64.c: Ditto.
        * libc/stdio64/tmpfile64.c: Ditto.
        * libc/stdlib/Makefile.am: Add EL/IX level checking.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/stdlib/mstats.c: Add EL/IX level checking.
        * libc/string/Makefile.am: Ditto.
        * libc/string/Makefile.in: Regenerated.
        * libc/sys/linux/Makefile.am: Add EL/IX level checking.
        * libc/sys/linux/Makefile.in: Regenerated.
        * libc/sys/linux/aclocal.m4: Ditto.
        * libc/sys/linux/configure: Ditto.
        * libc/sys/linux/aio.c: Add EL/IX level checking.
        * libc/sys/linux/ftok.c: Ditto.
        * libc/sys/linux/getdate.c: Ditto.
        * libc/sys/linux/ids.c: Ditto.
        * libc/sys/linux/inode.c: Ditto.
        * libc/sys/linux/io.c: Ditto.
        * libc/sys/linux/process.c: Ditto.
        * libc/sys/linux/resource.c: Ditto.
        * libc/sys/linux/sched.c: Ditto.
        * libc/sys/linux/sig.c: Ditto.
        * libc/sys/linux/termios.c: Ditto.
        * libc/sys/linux/wait.c: Ditto plus add __waitpid and
        __libc___waitpid weak aliases.
        * libc/sys/linux/machine/i386/syscall.h: Add new _base macros
        that generate the code for a syscall, but do not create a
        weak alias.
        * libc/syscalls/Makefile.am: Add EL/IX level checking.
        * libc/syscalls/Makefile.in: Regenerated.
        * libc/time/tzset_r.c: Change to replace strdup with equivalent
        functionality.
        * libc/unix/Makefile.am: Add EL/IX level checking.
        * libc/unix/Makefile.in: Regenerated.
2002-08-26 18:56:09 +00:00
Jeff Johnston ad5527663e 2002-08-17 Jeff Johnston <jjohnstn@redhat.com>
*  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.
2002-08-17 05:19:18 +00:00
Jeff Johnston dee5139131 2002-07-17 Jeff Johnston <jjohnstn@redhat.com>
* configure.host(stdio64_dir): New setting that is used to
        enable building of new stdio64 directory.
        * libc/Makefile.am[HAVE_STDIO64_DIR]: Add support for
        large files.
        (stmp-stdio64,stdio64.texi): New targets to optionally add in
        stdio64 info to info files.
        * libc/Makefile.in: Regenerated.
        * libc/configure: Ditto.
        * libc/configure.in: Add configuration variables that are set
        when stdio64 is selected as subdir in configure.host.
        * libc/libc.texinfo: Add optional menu item for Stdio64, based
        on whether STDIO64 flag is set or not.
        * libc/sys.tex: Add optional stdio64 syscalls based on whether
        STDIO64 flag is set or not.
        * libc/include/reent.h[__LARGE64_FILES]: Add new stdio64
        _r sycall routines.
        * libc/include/stdio.h[__LARGE64_FILES]: Add new stdio64 prototypes.
        (FILE): Typedef'd to __FILE instead of struct __sFILE directly.
        (__SL64): New file flag indicating file is opened via fopen64.
        * libc/include/sys/_types.h(_off64_t): Added.
        * libc/include/sys/config.h: For x86-linux, define __LARGE64_FILES.
        * libc/include/sys/reent.h(struct __sFILE64): New file structure
        for 64-bit offset large file support.
        (__FILE): New intermediate type either set to struct __sFILE64 or
        struct __sFILE, depending on whether __LARGE64_FILES is set or not.
        * libc/reent/Makefile.am[HAVE_STDIO64_DIR]: Add new files.
        * libc/reent/Makefile.in: Regenerated.
        * libc/reent/fstat64r.c: New file.
        * libc/reent/lseek64r.c: Ditto.
        * libc/reent/open64r.c: Ditto.
        * libc/reent/reent.tex: Optionally add stdio64 reentrant syscalls
        based on whether STDIO64 flag is set.
        * libc/stdio/stdio.tex: Add blank line.
        * libc/stdio64/Makefile.am: New file.
        * libc/stdio64/Makefile.in: Ditto.
        * libc/stdio64/fgetpos64.c: Ditto.
        * libc/stdio64/fopen64.: Ditto.
        * libc/stdio64/freopen64.c: Ditto.
        * libc/stdio64/fseeko64.c: Ditto.
        * libc/stdio64/fsetpos64.c: Ditto.
        * libc/stdio64/ftello64.c: Ditto.
        * libc/stdio64/local64.h: Ditto.
        * libc/stdio64/stdio64.c: Ditto.
        * libc/stdio64/stdio64.tex: Ditto.
        * libc/stdio64/tmpfile64.c: Ditto.
        * libc/sys/linux/io64.c: Add weak aliases for lseek64, fstat64, and
        open64.
2002-07-17 23:25:44 +00:00
Jeff Johnston 533b4e6644 2002-06-27 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/_types.h: Define _ssize_t as int if int is
        32-bits, otherwise define it as long.
        * libc/include/sys/types.h: Include <_ansi.h> and <sys/_types.h>
        and define ssize_t as _ssize_t.
        * libc/reent/readr.c: Change return type to _ssize_t.
        * libc/reent/writer.c: Ditto.
        * libc/sys/linux/Makefile.am: Add aio.c.
        * libc/sys/linux/Makefile.in: Regenerated.
        * libc/sys/linux/aio.c: New file.
        * libc/sys/linux/sys/cdefs.h: Add __restrict_arr definition.
        * libm/common/fdlibm.h: Undef __P before defining it.
2002-06-27 22:48:05 +00:00
Thomas Fitzsimmons 0953fe640f * libm/common/s_fdim.c: New file.
* libm/common/s_fma.c: Likewise.
	* libm/common/s_fmax.c: Likewise.
	* libm/common/s_fmin.c: Likewise.
	* libm/common/s_fpclassify.c: Likewise.
	* libm/common/s_lrint.c: Likewise.
	* libm/common/s_lround.c: Likewise.
	* libm/common/s_nearbyint.c: Likewise.
	* libm/common/s_remquo.c: Likewise.
	* libm/common/s_round.c: Likewise.
	* libm/common/s_scalbln.c: Likewise.
	* libm/common/s_signbit.c: Likewise.
	* libm/common/s_trunc.c: Likewise.
	* libm/common/sf_fdim.c: Likewise.
	* libm/common/sf_fma.c: Likewise.
	* libm/common/sf_fmax.c: Likewise.
	* libm/common/sf_fmin.c: Likewise.
	* libm/common/sf_lrint.c: Likewise.
	* libm/common/sf_lround.c: Likewise.
	* libm/common/sf_nearbyint.c: Likewise.
	* libm/common/sf_remquo.c: Likewise.
	* libm/common/sf_round.c: Likewise.
	* libm/common/sf_scalbln.c: Likewise.
	* libm/common/sf_trunc.c: Likewise.
	* libm/math/w_exp2.c: Likewise.
	* libm/math/w_tgamma.c: Likewise.
	* libm/math/wf_exp2.c: Likewise.
	* libm/math/wf_tgamma.c: Likewise.
	* libm/mathfp/s_exp2.c: Likewise.
	* libm/mathfp/s_tgamma.c: Likewise.
	* libm/mathfp/sf_exp2.c: Likewise.
	* libm/mathfp/sf_tgamma.c: Likewise.
	* libm/math/er_gamma.c: Fix return value.
	* libm/math/erf_gamma.c: Likewise.
	* libm/mathfp/er_gamma.c: Likewise.
	* libm/mathfp/erf_gamma.c: Likewise.
	* libc/include/math.h (!__STRICT_ANSI__): Include ISOC99-specific
	declarations and macros.
	Regenerated all Makefile.in, aclocal.m4 and configure files to
	use new libtool macros in top-level libtool.m4
2002-06-07 21:59:57 +00:00
Jeff Johnston 5e2cbfb6e8 2002-05-17 Jeff Johnston <jjohnstn@redhat.com>
* 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.
2002-05-17 23:39:39 +00:00
Thomas Fitzsimmons 098414456c * libc/Makefile.am (SUBLIBS): Add LIBC_EXTRA_LIB.
(SUBDEFS): Add LIBC_EXTRA_DEF.
	* libc/configure.in (LIBC_EXTRA_LIB): New variable.
	(LIBC_EXTRA_DEF): Likewise.
	(extra_dir): Likewise.
	* libc/machine/xscale/machine: New directory.
	* libc/machine/xscale/machine/profile.h: New file.

	* Makefile.am (site.exp): Remove newlib_cflags.  Add
	multibuildtop.
	* testsuite/newlib.locale/UTF-8.c: Change fprintf's to printf's.
	* testsuite/lib/flags.exp: New file.
	* testsuite/lib/newlib.exp: Load flags.exp.
	(newlib_target_compile): Remove libgloss directory references.
	(newlib_init): Remove newlib_cflags references.
2002-05-01 18:44:13 +00:00
Thomas Fitzsimmons eaa75b70e3 * Makefile.am (check-DEJAGNU): New target.
(site.exp): Likewise.
	* acinclude.m4 (NEWLIB_CONFIGURE): Replace AC_CANONICAL_HOST
	with AC_CANONICAL_SYSTEM.  Remove AC_CANONICAL_BUILD.
	* libc/locale/locale.c (_setlocale_r): Add UTF-8 support.
	* libc/stdlib/mbtowc_r.c (_mbtowc_r): Likewise.
	* libc/stdlib/wctomb_r.c (_wctomb_r): Likewise.
	* testsuite: New directory.
	* testsuite/config: Likewise.
	* testsuite/lib: Likewise.
	* testsuite/newlib.locale: Likewise.
	* testsuite/newlib.string: Likewise.
	* testsuite/config/default.exp: New file.
	* testsuite/lib/checkoutput.exp: New file.
	* testsuite/lib/newlib.exp: New file.
	* testsuite/lib/passfail.exp: New file.
	* testsuite/newlib.locale/UTF-8.c: New file.
	* testsuite/newlib.locale/UTF-8.exp: New file.
	* testsuite/newlib.locale/locale.exp: New file.
	* testsuite/newlib.string/string.exp: New file.
	* testsuite/newlib.string/tstring.c: New file.
2002-04-24 20:53:30 +00:00
Matthew Green a4139c1259 * libc/reent/signgam.c (__signgam): Fix error in previous. 2002-02-03 12:53:04 +00:00
Matthew Green 8195aff714 * implement a new `struct _reent' that is significantly smaller. use this
if _REENT_SMALL is defined in config.h.  define this for xstormy16.
2002-02-03 09:24:18 +00:00
Thomas Fitzsimmons 2e1a71756e * Makefile.shared: New file.
* libc/sys/linux/shared.ld: New file.
	* libm/machine/*: New files.
	* libm/machine/i386/*: New files.
	* Makefile.am: Add libtool support.  Change math and mathfp
	references to variables.
	* configure.host: Add variables for libtool support.  Add
	libm_machine_dir variable.
	* configure.in: Add objectlist variables, for libtool
	support.  Add CC_FOR_BUILD tests.
	* libc/Makefile.am: Add libtool support.  Change crt0.o
	reference to be a variable reference.
	* libc/configure.in: Add libtool support.  Change sublib
	names to be lib${subdir}.la when using libtool.
	* libc/ctype/Makefile.am: Add libtool support.
	* libc/errno/Makefile.am: Likewise.
	* libc/locale/Makefile.am: Likewise.
	* libc/machine/Makefile.am: Likewise.
	* libc/machine/configure.in: Likewise.
	* libc/machine/i386/Makefile.am: Likewise.
	* libc/machine/i386/configure.in: Likewise.
	* libc/misc/Makefile.am: Likewise.
	* libc/posix/Makefile.am: Likewise.
	* libc/reent/Makefile.am: Likewise.
	* libc/signal/Makefile.am: Likewise.
	* libc/stdio/Makefile.am: Likewise.
	* libc/stdlib/Makefile.am: Likewise.
	* libc/string/Makefile.am: Likewise.
	* libc/sys/Makefile.am: Likewise.
	* libc/sys/configure.in: Likewise.
	* libc/sys/linux/Makefile.am: Add libtool support.  Change
	awk reference to a variable reference.  Change signal.h
	reference to a variable reference.
	* libc/sys/linux/configure.in: Add libtool support.
	* libc/syscalls/Makefile.am: Likewise.
	* libc/time/Makefile.am: Likewise.
	* libc/unix/Makefile.am: Likewise.
	* libm/Makefile.am: Add libtool support.  Change math and
	mathfp references to variables.
	* libm/configure.in: Add libtool support.  Add
	LIBM_MACHINE_LIB variable.
	* libm/common/Makefile.am: Add libtool support.
	* libm/math/Makefile.am: Likewise.
	* libm/mathfp/Makefile.am: Likewise.
	Regenerate all Makefile.in, aclocal.m4, and configure.
2001-12-13 23:50:11 +00:00
Jeff Johnston 4833b38c4e 2001-03-21 Egor Duda <deo@logos-m.ru>
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.
2001-03-21 21:47:31 +00:00
Jeff Johnston 3aaa66f813 2001-01-29 Jeff Johnston <jjohnstn@redhat.com>
* 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.
2001-01-29 22:40:50 +00:00
Jeff Johnston 2d5862dee6 2000-08-23 Werner Almesberger <Werner.Almesberger@epfl.ch>
* libc/stdlib/mprec.c (ulp, b2d, d2b): changed a few expressions
        like  x << y-z  to the equivalent  x << (y-z).
        (d2b): changed if statements with assignment to perform the
        assignment prior to the if check.
        * libc/reent/reent.c: included stdlib.h for "_free_r" prototype.
        * libc/unix/getpass.c (getpass): moved "echo" assignment out of if.
        * libc/unix/ttyname.c: included string.h for "strcpy" prototype.
        * libc/unix/getcwd.c (ISDOT): added parentheses to clarify && and ||
        precedence.
        * libc/include/sys/unistd.h: added "vfork" prototype (for popen.c).
        Added "_execve" prototype (for execl.c, execle.c, execv.c, and
        execve.c).
        * libc/posix/popen.c (popen): added parentheses to clarify && and ||
        precedence.
        * libm/math/e_cosh.c (__ieee754_cosh): changed parentheses to
        clarify && and || precendence (and to remove pascalism).
        * libm/math/e_sinh.c (__ieee754_sinh): Ditto.
        * libm/math/s_infconst.c: added another pair of braces to all
        initializers for __infinity (need three: for __infinity[1] array,
        for union __dmath, and for i[2]).
2000-08-24 22:32:38 +00:00
Jeff Johnston 199359f062 2000-08-23 Werner Almesberger <Werner.Almesberger@epfl.ch>
* libc/stdlib/abort.c: changed description: uses "raise" instead of
        "getpid" and "kill"; added: uses "write" and "_exit".
        Also included unistd.h for "_exit" prototype.
        * libc/stdlib/system.c: included unistd.h for "execve" prototype,
        reent.h for "_fork_r" and "_wait_r" prototypes.
        (do_system): changed  extern char *environ[] to POSIX-friendly
        extern char **environ.
        * libc/stdlib/wctomb_r.c: included string.h for "strlen" and "strcmp"
        prototypes.
        * libc/stdlib/remove.c: included reent.h for "_unlink_r" prototype.
        * libc/reent/execr.c: included sys/wait.h for "wait" prototype.
        * libc/reent/fstatr.c: included sys/stat.h for "fstat" prototype.
        * libc/reent/openr.c: included fcntl.h for "open" prototype.
        * libc/reent/signalr.c: included signal.h for "kill" prototype,
        unistd.h for "getpid" prototype.
        * libc/reent/statr.c: included sys/stat.h for "stat" prototype.
        * libc/reent/timer.c: included sys/time.h for "gettimeofday" prototype.
        * libc/unix/getut.c (utmpname): removed local, incorrect "strdup"
        prototype.  Also included stdlib.h for "abort", string.h for
        "strdup" and "strncmp" prototypes.
        * libc/unix/getlogin.c: included string.h for "strncmp", "memset", and
        "strncpy", unistd.h for "read" and "close" prototypes.
        * libc/posix/execvp.c: included string.h for "strchr", "strlen", and
        "strcat" prototypes.
2000-08-24 18:51:09 +00:00
Alexandre Oliva f205ea7a03 * libc/reent/Makefile.am (lib_a_SOURCES): Added unlinkr.c.
(CHEWOUT_FILES): Added unlinkr.def.
* libc/reent/Makefile.in: Rebuilt.
* libc/sys.tex: Include unlinkr.def.
* libc/reent/linkr.c (_unlink_r): Moved to...
* libc/reent/unlinkr.c: ... new file.
2000-03-08 04:01:49 +00:00
Christopher Faylor 8a0efa53e4 import newlib-2000-02-17 snapshot 2000-02-17 19:39:52 +00:00