Commit Graph

761 Commits

Author SHA1 Message Date
Corinna Vinschen 507b172d8d * libc/include/string.h (memrchr): Declare.
* libc/string/Makefile.am (ELIX_4_SOURCES): Add memrchr.c.
	(CHEWOUT_FILES): Add memrchr.def.
	* libc/string/Makefile.in: Regenerate.
	* libc/string/memrchr.c: New file.
2012-05-10 08:34:08 +00:00
Jeff Johnston eab1d3e125 2012-03-09 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/machine/setjmp-dj.h: Modify license to include
        modification in clause as permitted by DJ Delorie.
        * libc/machine/arm/access.c: Ditto.
        * libc/machine/i386/setjmp.S: Ditto.
        * libc/sys/h8300hms/sys/file.h: Ditto.
        * libc/sys/linux/machine/i386/setjmp.S: Ditto.
        * libc/sys/sysmec/access.c: Ditto.
        * libc/sys/sysnecv850/access.c: Ditto.
2012-03-09 20:26:39 +00:00
Jeff Johnston 9edde1d2c4 2012-02-21 Jeremy Bennett <jeremy.bennett@embecosm.com>
Alan Lehotsky  <apl@alum.mit.edu>
            Joern Rennecke  <joern.rennecke@embecosm.com>

        * configure.host: Add Epiphany support.
        * libc/include/machine/ieeefp.h: Likewise.
        * libc/include/machine/setjmp.h: Likewise.
        * libc/machine/configure.in, libc/sys/configure.in: Likewise.
        * libc/machine/configure, libc/sys/configure: Regenerate.
        * libc/machine/epiphany, libc/sys/epiphany: New directories.
        * NEWS: Mention addition of Epiphany.
2012-02-21 22:34:31 +00:00
Eric Blake 833630b859 * libc/include/_ansi.h (_ELIDABLE_INLINE): Fix C99 mode. 2012-02-09 19:58:33 +00:00
Corinna Vinschen dd9ee39045 * libc/include/inttypes.h: Redefine pointer type macros. 2012-02-07 16:42:20 +00:00
Yaakov Selkowitz 2af8babd93 * libc/include/tgmath.h: New header. 2012-01-12 11:19:31 +00:00
Yaakov Selkowitz 5ecc040cff * libc/include/sys/unistd.h [__CYGWIN__] (get_current_dir_name):
Declare.
2012-01-09 22:49:20 +00:00
Yaakov Selkowitz 3182cdfaf0 * libc/include/complex.h: Fix "/*" within comment warning. 2012-01-09 22:46:34 +00:00
Corinna Vinschen 4b4391b74d * libc/include/process.h: Remove Cygwin-only header. 2012-01-09 17:06:20 +00:00
DJ Delorie d1fc77322f [libgloss]
* configure.in: Add rl78.
* configure: Regenerate.
* rl78: New directory

[newlib]
* configure.host: Add rl78.
* libc/include/machine/ieeefp.h: Add rl78 support.
* libc/include/machine/setjmp.h: Add rl78 support.
* libc/machine/configure.in: Add rl78.
* libc/machine/rl78: New directory.
2011-11-29 06:33:49 +00:00
Corinna Vinschen e8fdf15a75 * libc/include/process.h: Remove exec family function declarations.
Add comment.
	* libc/include/sys/unistd.h (execlpe): Declare for Cygwin.
2011-08-19 14:29:34 +00:00
Joel Sherrill 529aa781b6 2011-08-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libc/include/sys/types.h: XML and RTEMS define
	_UNIX98_THREAD_MUTEX_ATTRIBUTES and can use the standard
	definitions. This avoids redefinition warnings.
2011-08-01 17:22:18 +00:00
Yaakov Selkowitz 792c8bcff2 * libc/include/time.h [_POSIX_CLOCK_SELECTION] (clock_nanosleep):
Declare.
* libc/include/sys/features.h [__CYGWIN__] (_POSIX_CLOCK_SELECTION):
Define.
2011-07-20 19:41:15 +00:00
Yaakov Selkowitz 00900ab098 * libc/include/sys/unistd.h (_CS_XBS5_WIDTH_RESTRICTED_ENVS): Define.
(_CS_V6_ENV): Fix definition.
2011-07-20 01:14:50 +00:00
Jeff Johnston 38e356f0e4 2011-06-09 Yaakov Selkowitz <yselkowitz@...>
* libc/include/string.h (strdupa): New macro function.
        (strndupa): New macro function.
2011-06-10 18:30:38 +00:00
Eric Blake 4805b60ccf strerror: allow user hook to comply with POSIX rules
* libc/string/strerror.c (strerror): Split body into...
(_strerror_r): ...new reentrant function.
* libc/string/u_strerr.c (_user_strerror): Update signature.
* libc/include/stdio.h (_strerror_r): New prototype.
* libc/posix/collate.c (__collate_err): Adjust callers.
* libc/stdio/perror.c (_perror_r): Likewise.
* libc/string/strerror_r.c (strerror_r): Likewise.
* libc/string/xpg_strerror_r.c (__xpg_strerror_r): Likewise.
2011-05-25 18:41:10 +00:00
Yaakov Selkowitz 831826db94 * libc/include/stdio_ext.h: New header.
* libc/stdio/fpurge.c [!__rtems__] (__fpurge): New function.
2011-05-19 07:21:42 +00:00
Yaakov Selkowitz 64a5e8a9a3 * libc/include/time.h (CLOCK_PROCESS_CPUTIME_ID): Rename from
CLOCK_PROCESS_CPUTIME.
(CLOCK_THREAD_CPUTIME_ID): Rename from CLOCK_THREAD_CPUTIME.
* libc/include/sys/features.h [__CYGWIN__] (_POSIX_CPUTIME): Define.
(_POSIX_THREAD_CPUTIME): Define.
2011-05-16 22:35:10 +00:00
Corinna Vinschen aaded2f90e * libc/include/sys/features.h (_POSIX_THREAD_ATTR_STACKADDR): Define
to 200112L for Cygwin.
2011-05-15 18:50:52 +00:00
Yaakov Selkowitz 307b0a5d4b * libc/include/signal.h (psignal): Declare.
* libc/sys/linux/psignal.c: Move from here...
* libc/signal/psignal.c: ... to here. Document.
* libc/sys/linux/Makefile.am (GENERAL_SOURCES): Move psignal.c from here...
* libc/signal/Makefile.am (LIB_SOURCES): ... to here.
(CHEWOUT_FILES): Add psignal.def.
* libc/sys/linux/Makefile.in: Regenerate.
* libc/signal/Makefile.in: Ditto.
* libc/signal/signal.tex: Add references to psignal.
2011-05-04 11:26:22 +00:00
Yaakov Selkowitz 5f555b0bd3 * libc/include/sys/features.h [__CYGWIN__] (_POSIX_SPIN_LOCKS): Define.
* libc/include/sys/types.h: Cygwin provides its own pthread_spinlock_t
typedef.
2011-05-02 16:05:06 +00:00
Corinna Vinschen 060e5c9785 * libc/include/sys/signal.h (_sig_func_ptr): Define with int parameter
per POSIX.  Explain in comment.
2011-04-19 08:02:59 +00:00
Corinna Vinschen 43ff4129ce * libc/include/string.h (strchrnul): Declare.
* libc/string/strchrnul.c: New file.
	* libc/string/Makefile.am (ELIX_2_SOURCES): Add strchrnul.c.
	* libc/string/Makefile.in: Regenerate.
2011-03-28 14:51:28 +00:00
Corinna Vinschen 4b43b20be8 * libc/include/string.h: Include sys/cdefs.h. 2011-03-03 11:11:41 +00:00
Corinna Vinschen 977cd4175e * libc/include/sys/cdefs.h (__CONCAT1): Define.
(__CONCAT): Define.
	(__STRING): Define.
	(__XSTRING): Define.
	(__ASMNAME): Define.
	* libc/include/string.h (strerror_r): Use __ASMNAME to take target
	specific label prefixes into account.
2011-03-03 10:37:09 +00:00
Eric Blake 7c10a76dec strerror_r: provide POSIX implementation
* libc/include/string.h (strerror_r): Update declaration.
* libc/string/strerror.c (strerror): Update documentation.
* libc/string/strerror_r.c (strerror_r): Always return
NUL-terminated string; don't overwrite too-short buf.
* libc/string/xpg_strerror_r.c (__xpg_strerror_r): Implement POSIX
variant.
* libc/string/Makefile.am (GENERAL_SOURCES): Build new file.
* libc/string/Makefile.in: Regenerate.
2011-02-10 16:48:18 +00:00
Corinna Vinschen 7cc6d7cfc6 * libc/include/sys/features.h: Define __STDC_ISO_10646__ for Cygwin.
* libc/include/wchar.h: Include features.h.
2011-01-27 11:55:01 +00:00
Corinna Vinschen d6d9c269e4 * libc/include/sys/types.h (ulong): Add typedef. 2011-01-15 09:26:16 +00:00
Corinna Vinschen 7971c2a29c * libc/include/linux/sys/signal.h (sig_t): Move from here...
* libc/include/signal.h (sig_t): ...to here.
2011-01-12 11:49:28 +00:00
Corinna Vinschen 84ca64afa6 * libc/include/string.h: Make strsignal() available unconditionally. 2011-01-10 10:59:42 +00:00
Christopher Faylor 589e430baa cygwin:
* cygwin.din: Export program_invocation_name and
	program_invocation_short_name.
	* dcrt0.cc: Set program_invocation*name to correct values, based on
	argv[0].
	* globals.cc (program_invocation_name): Define.
	(program_invocation_short_name): Ditto
newlib:
	* libc/include/sys/errno.h (program_invocation_name): Declare.
	(program_invocation_short_name): Ditto.
2010-12-26 21:11:38 +00:00
Corinna Vinschen f8afe40f49 * include/sys/types.h: Add #if defined(__rtems__) around
pthread_attr_t.guardsize.

	* include/pthread.h: Add pthread_attr_setstack, pthread_attr_getstack,
	pthread_attr_getguardsize, pthread_attr_setguardsize.
	* include/sys/types.h (pthread_attr_t): Add guardsize.
2010-12-08 14:44:06 +00:00
Corinna Vinschen a406e79b02 * libc/include/strings.h: Don't include locale.h. 2010-12-08 10:28:40 +00:00
Eric Blake 1dfc6c9535 strings.h: avoid namespace pollution
* libc/include/strings.h: Don't declare removed functions when
requesting POSIX 2008 compliance.
2010-12-08 02:47:14 +00:00
Jeff Johnston 1d1dde068c 2010-12-07 Ralf Corsépius <ralf.corsepius@rtems.org>
* libc/include/strings.h: New (split-out from string.h).
2010-12-07 17:31:26 +00:00
Corinna Vinschen fd4515030c * libc/include/math.h: Missing from previous checkin. 2010-12-03 16:08:48 +00:00
Jeff Johnston 874a87f8cd 2010-12-02 Jayant Sonar jayant.sonar@kpitcummins.com
Kaushik Phatak  kaushik.phatak@kpitcummins.com

        * configure.host: Add CR16 support.
        * libc/include/machine/ieeefp.h: Ditto.
        * libc/include/machine/setjmp.h: Ditto.
        * libc/include/sys/config.h: Ditto.
        * libc/machine/configure.in: Ditto
        * libc/machine/configure: Regenerated
        * libc/machine/cr16/aclocal.m4: New.
        * libc/machine/cr16/configure.in: New
        * libc/machine/cr16/configure: New
        * libc/machine/cr16/getenv.c: New
        * libc/machine/cr16/Makefile.am: New
        * libc/machine/cr16/Makefile.in: New
        * libc/machine/cr16/setjmp.S: New
        * libc/machine/cr16/sys/asm.h: New
        * libc/machine/cr16/sys/libh.h: New
        * libc/machine/cr16/sys/syscall.h: New
2010-12-02 19:30:47 +00:00
Corinna Vinschen f43dea8084 * libc/include/sys/types.h: Add _mode_t for __rtems__.
* libc/sys/rtems/machine/_types.h: Provide _mode_t, _fpos_t, _off_t.
	Add _ssize_t for 64bit sparc.
	Let arm, i386, m68k, mips, PPC, sparc use 64bit _off_t, _fpos_t.
2010-11-16 17:29:39 +00:00
Jeff Johnston 9f2ecfff1c 2010-10-14 Craig Howland <howland@LGSInnovations.com>
* libc/include/math.h:  Delete cabs() and cabs() prototypes
        (c.f. 2010-10-08 change by Corinna).
2010-10-14 20:14:33 +00:00
Jeff Johnston 1571d0a51f 2010-10-08 Bernd Schmidt <bernds@codesourcery.com>
Joseph Myers  <joseph@codesourcery.com>

        * configure.host: Handle tic6x targets.
        * libc/include/machine/ieeefp.h: Define endianness for C6X.
        * libc/include/machine/setjmp.h: Add __TMS320C6X__ case.
        * libc/machine/configure.in: Handle tic6x targets.
        * libc/machine/configure: Regenerate.
        * libc/machine/tic6x/Makefile.am, libc/machine/tic6x/configure.in,
        libc/machine/tic6x/setjmp.S: New.
        * libc/machine/tic6x/Makefile.in, libc/machine/tic6x/aclocal.m4,
        libc/machine/tic6x/configure: New (generated).
2010-10-09 02:33:30 +00:00
Corinna Vinschen 339814ba6f * libc/include/sys/unistd.h: Declare getsid, setegid, seteuid for RTEMS. 2010-10-08 15:28:49 +00:00
Corinna Vinschen 5af2a793bc * libc/include/complex.h: New complex header.
* libm/common/fdlibm.h: Added ifdef _COMPLEX_H.
	* libm/complex/*: New complex functions imported from NetBSD.
	* libm/Makefile.am: Added complex subdir.
	* libm/Makefile.in: Regenerate.
	* libm/configure.in: Added complex subdir.
	* libm/configure: Regenerate.
2010-10-08 10:35:14 +00:00
Yaakov Selkowitz 7aba919b5e * libc/include/sys/dir.h: New BSD-compatibility header. 2010-08-11 18:14:54 +00:00
Corinna Vinschen f717289618 * libc/include/sys/features.h: Define _POSIX_MONOTONIC_CLOCK for Cygwin. 2010-08-09 08:29:22 +00:00
Corinna Vinschen f627504e6b * libc/include/sys/stat.h: Move all POSIX-defined symbolic constants
out of `#ifndef _POSIX_SOURCE' guard.
2010-08-06 18:26:21 +00:00
Eric Blake 8092f46770 Add mkostemp and mkostemps.
* libc/stdio/mktemp.c (_gettemp): Add parameter, all callers
changed.
(mkostemp, _mkostemp_r, mkostemps, _mkostemps_r): New interfaces,
for ELIX level 4.
* libc/include/stdlib.h (mktemp): Avoid namespace issues.
(mkostemp, mkostemps): Declare.
2010-07-19 18:21:11 +00:00
Corinna Vinschen 3f45333072 * libc/include/signal.h (sighandler_t): Only define if _POSIX_SOURCE
is undefined.
2010-07-13 11:18:55 +00:00
Corinna Vinschen 723bf6ef39 * libc/include/signal.h (sighandler_t): Add typedef. 2010-07-01 08:50:17 +00:00
Corinna Vinschen ca56076ae2 2010-06-29 Antony King <antony.king@sr.com>
* libc/ctype/ctype_.c (__ctype_ptr): Reinstate definition (guarded by
	_NEED_OLD_CTYPE_PTR_DEFINITION) for backwards compatibility with newlib
	1.16.0 and earlier.

2010-06-28  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>

	* libc/include/sys/stat.h: Add ACCESSPERMS, ALLPERMS, and DEFFILEMODE.
2010-07-01 08:45:52 +00:00
Jeff Johnston ce3b386964 2010-06-18 Pavel Pisa <ppisa4lists@pikron.com>
* libc/include/machine/ieeefp.h[__arm__][!__VFP_FP__]: Set to
        __IEEE_BIG_ENDIAN and set __IEEE_BYTES_LITTLE_ENDIAN appropriately
        based on __ARMEL flag.
        * libc/include/machine/endian.h: To set byte order to LITTLE_ENDIAN,
        check for __IEEE_LITTLE_ENDIAN or __IEEE_BYTES_LITTLE_ENDIAN.
2010-06-18 16:26:25 +00:00
Kazu Hirata 492efa069b * libc/include/sys/reent.h (_reent): Adjust _REENT_SMALL to be
binary compatible with normal layout.
	(_REENT_INIT): Adjust to match struct layout.
2010-06-09 15:15:35 +00:00
Jeff Johnston b5efabb284 2010-06-08 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/wordexp.h: Add __cplusplus wrapper.
2010-06-08 21:47:57 +00:00
Corinna Vinschen be129c26e2 * libc/include/langinfo.h: Fix #endif positioning. 2010-04-30 14:58:28 +00:00
Corinna Vinschen d47d5b850b Extend locale support to maintain wide char values of native strings
if __HAVE_LOCALE_INFO_EXTENDED__ is defined.
	* libc/include/langinfo.h (enum __nl_item): New type.  Define all
	native values accessible through nl_langinfo.  Define previously
	existing POSIX-compatible values as macros as well.
	* libc/include/stdlib.h (__mb_cur_max): Drop declaration.
	(__locale_mb_cur_max): Declare.
	(MB_CUR_MAX): Re-define calling __locale_mb_cur_max.
	* libc/locale/Makefile.am (ELIX_SOURCES): Add lctype.c.
	* libc/locale/Makefile.in: Regenerate.
	* libc/locale/lctype.c: New file to define and load LC_CTYPE category.
	* libc/locale/lctype.h: New file, matching header.
	* libc/locale/lmessages.c (_C_messages_locale): Add default values for
	wide char members.
	(__messages_load_locale): Add _C_messages_locale in call to
	__set_lc_messages_from_win.
	* libc/locale/lmessages.h (struct lc_messages_T): Add wide char members.
	* libc/locale/lmonetary.c (_C_monetary_locale):  Add default values for
	wide char members.
	(__monetary_load_locale): Add _C_monetary_locale in call to
	__set_lc_monetary_from_win.
	* libc/locale/lmonetary.h (struct lc_monetary_T): Add wide char members.
	Add numerical values for international currency formatting per
	POSIX-1.2008, if __HAVE_LOCALE_INFO_EXTENDED__ is defined.
	* libc/locale/lnumeric.c (_C_numeric_locale): Add default values for
	wide char members.
	(__numeric_load_locale): Add _C_numeric_locale in call to
	__set_lc_numeric_from_win.
	* libc/locale/lnumeric.h (struct lc_numeric_T): Add wide char members.
	* libc/locale/locale.c (loadlocale): Return doing nothing if category
	locale didn't change.  Convert category if chain to switch statement.
	Call __ctype_load_locale in LC_CTYPE case.
	(__locale_charset): Add (but disable for now) returning codeset from
	__get_current_ctype_locale.
	(__locale_mb_cur_max): Add (but disable for now) returning mb_cur_max
	from __get_current_ctype_locale.
	(__locale_msgcharset): Add returning codeset from
	__get_current_messages_locale.
	(_localeconv_r): Accommodate int_XXX values.
	* libc/locale/nl_langinfo.c (nl_ext): New array to define what is to
	be returned for non-POSIX values.
	(nl_Langinfo): Return correct codeset for each locale category.  Return
	extended values if __HAVE_LOCALE_INFO_EXTENDED__ is defined.
	* libc/locale/timelocal.c (_C_time_locale): Add default values for
	wide char members.
	(__time_load_locale): Add _C_time_locale in call to
	__set_lc_time_from_win.
	* libc/locale/timelocal.h (struct lc_time_T): Add wide char members.
	* libc/stdio/vfwprintf.c (_VFWPRINTF_R): Use wide char decimal point
	and thousands_sep if __HAVE_LOCALE_INFO_EXTENDED__ is defined.
	* libc/time/strftime.c: Rework to accommodate availability of wide char
	strings in LC_TIME category if __HAVE_LOCALE_INFO_EXTENDED__ is defined.
2010-04-28 09:59:37 +00:00
Jeff Johnston c1bfa897da 2010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com>
* libc/include/sched.h: Include prototypes for
        sched_* methods.
        * libc/include/sys/sched.h: Update to POSIX
        1003.1b-2008.  Rework constants to allow sharing
        between RTEMS and Cygwin.
2010-04-01 18:33:37 +00:00
Corinna Vinschen 5e74a46f2f * libc/include/sys/features.h: Allow for _XOPEN_SOURCE to have an
empty definition.  Also add support for values of 500 or less.
2010-03-17 17:13:00 +00:00
Jeff Johnston 6fc25b2d1e 2010-03-02 Craig Howland <howland@LGSInnovations.com>
* libc/include/sys/features.h:  Add POSIX.1-permitted definition of
        _POSIX_C_SOURCE if not already defined and _XOPEN_SOURCE has an
        appropriate value.  Specifically, check for POSIX.1-2008 & 2001 values.
        * libc/include/sys/config.h:  Add #include <sys/features.h> so that all
        includes get the new check added to it.
2010-03-02 19:28:39 +00:00
Corinna Vinschen 180044b386 * libc/xdr/README: Correct grammatical errors.
* libc/include/rpc/types.h: Add public types used
	by RPC implementations.
	* libc/include/rpc/xdr.h: Add defines used by RPC
	implementations.
	* libc/xdr/Makefile.am: Eliminate automake warning.
	* libc/xdr/Makefile.in: Regenerate.
2010-03-02 14:29:36 +00:00
Corinna Vinschen 3d7c4998ac Add eXtensible Data Record (XDR) support
* configure.host: Build libc/xdr only on cygwin.
	* Makefile.am: Install xdr headers.
	* libc/configure.in: Support new libc/xdr subdirectory.
	* libc/Makefile.am: Support new libc/xdr subdirectory.
	* libc/include/rpc/types.h: New.
	* libc/include/rpc/xdr.h: New.
	* libc/xdr/README: New.
	* libc/xdr/Makefile.am: New.
	* libc/xdr/dummy.c: New.
	* libc/xdr/xdr.c: New.
	* libc/xdr/xdr_array.c: New.
	* libc/xdr/xdr_float.c: New.
	* libc/xdr/xdr_float_vax.c: New.
	* libc/xdr/xdr_mem.c: New.
	* libc/xdr/xdr_private.c: New.
	* libc/xdr/xdr_private.h: New.
	* libc/xdr/xdr_rec.c: New.
	* libc/xdr/xdr_reference.c: New.
	* libc/xdr/xdr_sizeof.c: New.
	* libc/xdr/xdr_stdio.c: New.

	Regenerate using ac-2.63 and am-1.11.1
	* libc/xdr/Makefile.in: New.
	* Makefile.in: Regenerate.
	* libc/configure: Regenerate.
	* libc/Makefile.in: Regenerate.
	* libc/argz/Makefile.in: Regenerate.
	* libc/ctype/Makefile.in: Regenerate.
	* libc/errno/Makefile.in: Regenerate.
	* libc/iconv/ccs/binary/Makefile.in: Regenerate.
	* libc/iconv/ccs/Makefile.in: Regenerate.
	* libc/iconv/ces/Makefile.in: Regenerate.
	* libc/iconv/lib/Makefile.in: Regenerate.
	* libc/iconv/Makefile.in: Regenerate.
	* libc/locale/Makefile.in: Regenerate.
	* libc/misc/Makefile.in: Regenerate.
	* libc/posix/Makefile.in: Regenerate.
	* libc/reent/Makefile.in: Regenerate.
	* libc/search/Makefile.in: Regenerate.
	* libc/signal/Makefile.in: Regenerate.
	* libc/stdio/Makefile.in: Regenerate.
	* libc/stdio64/Makefile.in: Regenerate.
	* libc/stdlib/Makefile.in: Regenerate.
	* libc/string/Makefile.in: Regenerate.
	* libc/syscalls/Makefile.in: Regenerate.
	* libc/time/Makefile.in: Regenerate.
	* libc/unix/Makefile.in: Regenerate.
2010-03-02 12:05:18 +00:00
Corinna Vinschen be7f7a7503 * libc/time/strftime.c: Add support for era and alt_digits data from
LC_TIME locale category.  Conditionalize using _WANT_C99_TIME_FORMATS
	flag.
	(STRTOUL): Define differently for building strftime or wcsftime.
	(STRCPY): Ditto.
	(STRCHR): Ditto.
	(STRLEN): Ditto.
	(CHECK_LENGTH): Define to simplify code.
	(era_info_t): New type to store era info.
	(get_era_info): New function to fetch era info matching incoming
	struct tm.
	(free_era_info): New function to free era info.
	(alt_digits_t): New type to store alternative digits.
	(get_alt_digits): New function to convert alt_digits string into
	alt_digits_t structure.
	(free_alt_digits): New function to free alt_digits info.
	(conv_to_alt_digits): New function to convert unsigned value into
	alternative digits.
	(strftime): Conditionalize on _WANT_C99_TIME_FORMATS.  If
	_WANT_C99_TIME_FORMATS is defined, define as just a wrapper function
	providing era_info and alt_digits pointers and call ...
	(__strftime): Rename from strftime and make static if
	_WANT_C99_TIME_FORMATS is defined.  Add parameters for era_info and
	alt_digits pointers.  Handle conversion modifiers according to
	POSIX-1.2008.  Redefine %F and %Y according to POSIX.  Add default case
	to allow to bail out on invalid conversion specifiers.
	* libc/include/sys/config.h: Move Cygwin build flags to Cygwin's
	config.h.

	* libc/include/stdio.h: Remove __CYGWIN_USE_BIG_TYPES__ condition.
2010-02-26 09:41:44 +00:00
Corinna Vinschen 830686ec0b * libc/locale/locale.c: Throughout, extensively comment on the
reason for using __CYGWIN__.
	(lconv): Remove _CONST entirely.
	(loadlocale): Guard calls to function loading locale-specific
	category data with __HAVE_LOCALE_INFO__ rather than __CYGWIN__.
	* libc/sys/config.h (__HAVE_LOCALE_INFO__): Define for Cygwin.
2010-02-25 16:10:42 +00:00
Jeff Johnston 84f66e46b9 2010-02-23 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/types.h: Fix __XMK__ sectioning and remove
        redundant code section for __XMK__.
2010-02-23 23:13:20 +00:00
Corinna Vinschen 6eaf061dc4 * libc/include/langinfo.h (_NL_TIME_DATE_FMT): Define new nl_item
value for LC_TIME entry date_fmt.
	(_DATE_FMT): Define "official" GNU name same as _NL_TIME_DATE_FMT.
	* libc/locale/nl_langinfo.c (nl_langinfo): Add case for _DATE_FMT.
2010-02-22 10:53:04 +00:00
Jeff Johnston 45c8c6469a 2010-02-11 Craig Howland <howland@LGSInnovations.com>
* libc/include/machine/ieeefp.h:  isfinite macro modified to run faster
        by only calling fpclassify once instead of possibly twice.
2010-02-11 21:03:51 +00:00
Corinna Vinschen 37671b5114 * libc/include/sys/_default_fcntl.h (O_CLOEXEC): Define as _FNOINHERIT.
(F_DUPFD_CLOEXEC): Define for Cygwin.
	* libc/include/sys/unistd.h (dup3): Define for Cygwin.
	(pipe2): Ditto.
2010-01-14 18:49:13 +00:00
Jeff Johnston d8a439359a 2010-01-11 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* libc/include/math.h (log2, log2f): Disable macro versions for C++,
        as they are incompatible with OpenMP/C++ headers.

2
2010-01-11 22:55:47 +00:00
Eric Blake b2e79f9800 Fix getsubopt declaration.
* libc/include/sys/unistd.h (suboptarg, getsubopt): Move...
* libc/include/stdlib.h: ...here, to match POSIX for getsubopt.
2009-12-22 13:07:24 +00:00
Jeff Johnston a97a996ff7 2009-12-17 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/_syslist.h: Add _mkdir transform.
2009-12-17 21:08:04 +00:00
Jeff Johnston 8b917fbcdd 2009-12-17 Jerker Back <jerker.back@gmail.com>
* libc/include/_ansi.h: Add new _EXFNPTR macro for using with
        function pointer arguments.
        * libc/iconv/lib/conv.h: Use _EXFNPTR rather than _EXPARM macro.
        * libc/iconv/lib/ucsconv.h: Ditto.
        * libc/include/stdlib.h: Use new _EXFNPTR macro for function pointers.
        * libc/include/sys/reent.h: Ditto.
        * libc/include/sys/unistd.h: Ditto.
        * libc/search/bsearch.c: Ditto.
        * libc/stdio/fseek.c: Ditto.
        * libc/stdio64/fseeko64.c: Ditto.
        * libc/stdlib/atexit.c: Ditto.
        * libc/stdlib/on_exit.c: Ditto.
2009-12-17 19:43:43 +00:00
Jeff Johnston 6fe2eb4c80 2009-12-17 Ralf Corsépius <ralf.corsepius@rtems.org>
* libc/include/machine/ieeefp.h: Rework __IEEE_*_ENDIAN handling.
        * libc/machine/arm/machine/endian.h: Remove (Conflicts with
        libc/include/machine/endian.h)
2009-12-17 19:26:38 +00:00
Jeff Johnston 9ad56b2726 2009-12-17 Ralf Corsépius <ralf.corsepius@rtems.org>
* libc/include/machine/setjmp.h: Set up _JBLEN #ifdef __m68k__.
2009-12-17 19:24:22 +00:00
Jeff Johnston f10d348770 2009-12-17 Ralf Corsepius <ralf.corsepius@rtems.org>
* libc/include/pthread.h: Add pthread_atfork, pthread_rwlock_unlock
        * libc/include/sys/stat.h: Use struct timespec st_*tim,
        blksize_t st_blksize, blkcnt_t st_blocks.
        Add st_*time compatibility macros.
2009-12-17 19:22:23 +00:00
Jeff Johnston a13e3a7bf2 2009-12-16 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/errno.h: Move EHOSTDOWN, EPFNOSUPPORT,
        and ETOOMANYREFS into general list as they are referenced
        by OpenGroup and needed by RTEMS.
2009-12-16 19:33:10 +00:00
Jeff Johnston 655e435357 2009-12-10 Conny Marco Menebrocker <c-m-m@gmx.de>
* configure.host: Add xc16x support.
        * libc/include/machine/ieeefp.h: Ditto.
        * libc/include/sys/config.h: Ditto.
        * libc/machine/configure.in: Ditto.
        * libc/machine/Makefile.in: Regenerated.
        * libc/machine/aclocal.m4: Ditto.
        * libc/machine/configure: Ditto.
        * libc/machine/xc16x/Makefile.am: New file.
        * libc/machine/xc16x/Makefile.in: Ditto.
        * libc/machine/xc16x/aclocal.m4: Ditto.
        * libc/machine/xc16x/configure: Ditto.
        * libc/machine/xc16x/configure.in: Ditto.
        * libc/machine/xc16x/putchar.c: Ditto.
        * libc/machine/xc16x/puts.c: Ditto.
        * libc/machine/xc16x/setjmp.S: Ditto.
2009-12-10 17:12:11 +00:00
Eric Blake ad0ae5d83a Fix some *at declarations.
* libc/include/stdio.h (symlinkat): Move this...
* libc/include/sys/_default_fcntl.h (unlinkat): ...and this...
* libc/include/sys/unistd.h (symlinkat, unlinkat): ...here, to
match POSIX.
2009-12-08 13:50:41 +00:00
Corinna Vinschen e92d0abecf Use NetBSD fix for CVE-2009-0689 security vulnerability.
* libc/include/sys/reent.h (_Kmax): Define here based on the sizeof
	size_t, as in latest NetBSD.
	* libc/reent/reent.c (_reclaim_reent): Use _Kmax rather than constant
	value 15.
	* libc/stdlib/mprec.c (_Kmax): Don't define here.  Explain why.
2009-11-23 17:02:20 +00:00
Jeff Johnston 46471257e9 2009-11-17 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* libm/common/fdlibm.h (logb, logbf): Move decls from here...
        * libc/include/math.h (logb, logbf): ...to here.
2009-11-17 22:35:46 +00:00
Eric Blake 73db6db783 * libc/include/ctype.h (__ctype_lookup): Fix precedence. 2009-11-06 03:27:19 +00:00
Nick Clifton fd6942ab42 newlib:
* configure.host: Add support for RX architecture.
        * libc/include/machine/ieeefp.h: Likewise.
        * libc/include/machine/setjmp.h: Likewise.
        * libc/include/machine/configure.in: Likewise.
        * libc/include/machine/configure: Regenerate.
        * libc/machine/rx: New directory.
        * libc/machine/rx/*: New files to support RX architecture.

libgloss:
        * configure.in: Add support for RX sub-directory.
        * configure: Regenerate.
        * rx: New directory.
        * rx/*: New files to support RX architecture.
2009-10-26 10:05:23 +00:00
Eric Blake 9b2b7c4a6b Fix isalpha(0x100000001LL) and friends on 64-bit machines.
* libc/include/ctype.h (__ctype_lookup): New macro.
(isalpha, isupper, islower, isdigit, isxdigit, isspace, ispunct)
(isalnum, isprint, isgraph, iscntrl, isblank): Use it to fix bug
on 64-bit machines.
2009-10-24 13:24:29 +00:00
Jeff Johnston 1e1b6f8003 2009-10-16 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/config.h[__CYGWIN__]: Set __USE_XOPEN2K flag
        if not __STRICT_ANSI__ or stdc version C99 or greater.
        * libc/include/stdio.h[__STRICT_ANSI__]: Add __USE_XOPEN2K check
        for fseeko and ftello prototypes.
2009-10-20 16:44:11 +00:00
Corinna Vinschen 1b13009b2a * libc/include/wchar.h (struct tm0: Declare as incomplete type. 2009-10-15 08:23:27 +00:00
Eric Blake e4ba1cf29e * libc/include/sys/unistd.h: Add _PC*, _CS*, and _SC* constants
new to POSIX 2008.
2009-10-14 04:15:25 +00:00
Jeff Johnston 81c59927a9 2009-10-13 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* libc/include/sys/signal.h: Include <sys/types.h> always.
        [__CYGWIN__, __rtems__]: Define kill first argument as pid_t per
        standards.
2009-10-13 17:31:49 +00:00
Jeff Johnston 2072888e66 2009-10-09 Dave Korn <dave.korn@artimi.com>
* libc/include/sys/time.h (_TIMEVAL_DEFINED): Define when
        defining struct timeval.
2009-10-09 18:43:12 +00:00
Jeff Johnston 85191fc5aa 2009-10-08 Eric Blake <ebb9@byu.net>
* libc/include/getopt.h (__getopt_r, __getopt_long_r)
        (__getopt_long_only_r): Protect declarations, to avoid compiler
        warning.
2009-10-08 16:26:28 +00:00
Jeff Johnston 6c249577fb 2009-09-28 Michael Eager <eager@eagercon.com>
* configure.host: Add microblaze.
        * libc/include/machine/ieeefp.h [MICROBLAZE]: Define __IEEE_BIG_ENDIAN.
        * libc/include/machine/setjmp.h [MICROBLAZE]: Define _JBLEN, _JBTYPE.
        * libc/include/sys/config.h [MICROBLAZE]: Define _REENT_SMALL,
        _UNIX98_THREAD_MUTEX_ATTRIBUTES.
        * libc/include/sys/types.h: Treat XMK like rtems, define
        PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE,
        PTHREAD_MUTEX_DEFAULT, PTHREAD_STACK_MIN, define stuct pthread_attr_s.
        * libc/machine/configure.in: Add microblaze.
        * libc/machine/configure: Add microblaze (not regenerated).
        * libc/machine/microblaze/configure.in: NEW.
        * libc/machine/microblaze/configure: Generate.
        * libc/machine/microblaze/Makefile.am: NEW.
        * libc/machine/microblaze/Makefile.in: Generate.
        * libc/machine/microblaze/{abort.c, strcmp.c, strcpy.c, strlen.c,
        mallocr.c, longjmp.S, setjmp.S}: NEW.
        * libc/stdlib/mallocr.c [MICROBLAZE]: Don't declare sbrk prototype,
        mALLOc(): return malloc value.
2009-09-28 16:42:21 +00:00
Eric Blake b14f894fd1 * libc/include/sys/unistd.h (execvpe, fexecve) [__CYGWIN__]:
Add declarations.
2009-09-26 20:59:54 +00:00
Eric Blake 65d436509b * libc/include/sys/unistd.h (eaccess, euidaccess) [__CYGWIN__]:
Add declarations.
2009-09-25 23:57:09 +00:00
Jeff Johnston 2ad8d17a16 2009-09-22 Ralf Corsépius <ralf.corsepius@rtems.org>
* libc/include/stdlib.h: Add posix_memalign.
2009-09-22 21:49:20 +00:00
Christopher Faylor 4945cb2af0 * libc/include/sys/unistd.h: Declare getpagesize as returning POSIX-mandated
int.
* libc/sys/linux/sys/unistd.h: Ditto.
2009-09-19 02:30:51 +00:00
Eric Blake 3584ff9cb2 iconv: match SUSv3 prototype
* libc/include/iconv.h (iconv): Match POSIX prototype.
* libc/iconv/lib/iconv.c (iconv): Likewise.
2009-08-21 20:27:10 +00:00
Jeff Johnston 12387ab6f7 2009=08-12 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/mktemp.c (_gettemp): Do not call _mkdir_r unless
        HAVE_MKDIR is defined.

2009-08-12  Hans-Peter Nilsson  <hp@axis.com>

        * libc/include/reent.h: Add prototype and definition of _mkdir_r.
        * libc/reent/Makefile.am (GENERAL_SOURCES): Add mkdirr.c.
        (CHEWOUT_FILES): Add mkdirr.def.
        * libc/reent/Makefile.in: Regenerate.
        * libc/reent/mkdirr.c: New file.
2009-08-12 18:22:38 +00:00
Jeff Johnston 664f00763b 2009-07-09 Craig Howland <howland@LGSInnovations.com>
* libm/math/ef_scalb.c:  Replace isnanf() (pre-C99 function call) with
        isnan() (C99 macro).
        * libm/math/wf_log.c:  Ditto.
        * libm/math/wf_j0.c:  Ditto.
        * libm/math/wf_sqrt.c:  Ditto.
        * libm/math/wf_pow.c:  Ditto.
        * libm/math/wf_fmod.c:  Ditto.
        * libm/math/wf_remainder.c:  Ditto.
        * libm/math/wf_scalb.c:  Ditto.
        * libm/math/wf_atanh.c:  Ditto.
        * libm/math/wf_cosh.c:  Ditto.
        * libm/math/wf_acos.c:  Ditto.
        * libm/math/wf_acosh.c:  Ditto.
        * libm/math/wf_jn.c:  Ditto.
        * libm/math/wf_log10.c:  Ditto.
        * libm/math/wf_asin.c:  Ditto.
        * libm/math/wf_j1.c:  Ditto.
        * libm/common/sf_isnan.c:  Add #include <ieeefp.h>, fix comment.
        * libm/common/sf_isinf.c:  Add #include <ieeefp.h>, adjust comment to
        match that from s_isinf.c.
        * libc/include/machine/ieeefp.h:  Simplify isinf and isnan macros to
        remove un-necessary extension use (in a similar manner to as was
        recently done in math.h).
        * libc/include/math.h:  Remove isnanf and isinff prototypes (are in
        ieeefp.h).
        * libm/machine/spu/sf_isinf.c:  Fix comment (remove <math.h>).
2009-07-09 17:04:56 +00:00
Jeff Johnston 394660ec2f 2009-07-06 Joel Sherrill <joel.sherrill@oarcorp.com>
* libc/include/sys/features.h: Enable UNIX98 mutex attributes
        for RTEMS.
2009-07-06 18:59:04 +00:00
Eric Blake c52ac05c3a Add mkdtemp, mkstemps.
* libc/stdio/mktemp.c: Fix documentation.
(_gettemp): Add domkdir and length parameters.  Check for
insufficient 'X' suffix.  Drop cygwin-specific code.
(_mkstemp_r, _mktemp_r, mkstemp, mktemp): Adjust clients.
(_mkdtemp_r, _mkstemps_r, mkdtemp, mkstemps): New functions.
* libc/include/stdlib.h (_mkdtemp_r, _mkstemps_r, mkdtemp)
(mkstemps): Declare them.
2009-07-03 12:03:25 +00:00
Eric Blake ce1eb6bba0 Add fpurge.
* libc/stdio/fpurge.c (fpurge, _fpurge_r): New file.
* libc/stdio/Makefile.am (ELIX_4_SOURCES, CHEWOUT_FILES, fpurge):
Build it.
* libc/stdio/Makefile.in: Regenerated.
* libc/include/stdio.h (fpurge, _fpurge_r): New declarations.
* libc/stdio/stdio.tex: Build documentation.
2009-07-03 11:58:04 +00:00
Jeff Johnston a2c3c5dab4 2009-06-17 Michael Eager <eager@eagercon.com>
* libc/include/pthread.h: Support XMK (Xilinx) BSP, add RTEMS to
        PTHREAD_MUTEX_NORMAL.
        * libc/include/sys/features.h: Same.
        * libc/include/sys/types.h: Same.
2009-06-17 16:47:02 +00:00
Corinna Vinschen 999820f6ab * libc/include/locale.h (struct lconv): Add missing members required
by POSIX.1-2008.
	* libc/locale/locale.c (lconv): Initialize new members to default
	values in "C" locale.
2009-06-16 19:45:17 +00:00
Jeff Johnston aa201fc9df 2009-06-16 Craig Howland <howland@LGSInnovations.com>
* libc/include/math.h:  Simplify fpclassify, isinf, isnan, and signbit
        macros to remove un-necessary extension use.  isinf and isnan also
        changed to use fpclassify.  isfinite macro modified to run faster by
        only calling fpclassify once instead of possibly twice.
2009-06-16 15:55:06 +00:00
Jeff Johnston 9b09fb22e2 2009-06-02 Richard Earnshaw <rearnsha@arm.com>
* libc/include/sys/config.h: Remove specification of _REENT_SMALL for
        thumb2.
2009-06-02 20:39:17 +00:00
Jeff Johnston 0072a41129 2009-05-27 Neal H. Walfield <neal@gnu.org>
* libc/include/machine/setjmp.h (sigjmp_buf): Size according to
        _JBTYPE and the size of sigset_t.
2009-05-27 18:54:58 +00:00
Jeff Johnston de8a5b7810 2009-05-15 Craig Howland <howland@LGSInnovations.com>
* configure.in:  Add configuration test for long double type existing
        and set flag _HAVE_LONG_DOUBLE if true.  Fix INIT_ARRAY (.init_array)
        and _LDBL_EQ_DBL tests to not link so that will work with
        cross-compilers.
        * configure: Regenerated.
        * Makefile.in: Ditto.
        * newlib.hin: Add _HAVE_LONG_DOUBLE flag.
        * libc/include/math.h:  Change non-builtin defines for HUGE_VAL,
        HUGE_VALF, and HUGE_VALL to be constant expressions.  Add definitions
        for the non-builtin case for INFINITY and NAN.  Gate HUGE_VALL and
        union __ldmath definitions with (new) _HAVE_LONG_DOUBLE.
        *libm/common/s_infconst.c:  Change definitions to use values from
        float.h instead of non-so-portable integer forms.  Mark as being
        deprecated (because now removed from math.h, are not used anywhere
        in Newlib, itself).
2009-05-15 16:15:57 +00:00
Eric Blake 82b77480f7 Allow gcc warning for toupper even with extended charsets.
* libc/include/ctype.h (toupper, tolower)
[_MB_EXTENDED_CHARSETS_ISO]: Allow gcc warning when called with
'char' even when we must call the function for correct behavior.
[!_MB_EXTENDED_CHARSETS_ISO]: Fix regression in result type.
2009-04-30 22:53:00 +00:00
Jeff Johnston 35f31b6a98 2009-04-24 Jeff johnston <jjohnstn@redhat.com>
* configure.in: Add configuration test for long double equals dbl
        and set flag _LDBL_EQ_DBL if true.
        * configure: Regenerated.
        * newlib.hin: Add _LDBL_EQ_DBL flag.
        * libc/include/math.h: Use _LDBL_EQ_DBL flag instead of
        _HAVE_LDBL_MATH.
        * libc/include/stdlib.h: Use _LDBL_EQ_DBL flag instead of
        _HAVE_LDBL_STDLIB.
        * libc/common/local.h: Remove _LDBL_EQ_DBL flag setting.
        * libc/stdlib/local.h: Ditto.
2009-04-24 22:49:55 +00:00
Jeff Johnston de19487224 2009-04-24 Joseph Myers <joseph@codesourcery.com>
* libc/include/stdint.h (UINTPTR_MAX): Define to __UINTPTR_MAX__
	if __UINTPTR_MAX__ defined.
2009-04-24 21:55:07 +00:00
Eric Blake 190ccfc18c Be namespace clean in ctype.h.
* libc/include/ctype.h (_tolower, _toupper, isalpha, isupper)
(islower, isdigit, isxdigit, isspace, ispunct, isalnum)
(isprint, isgraph, iscntrl, isblank, toupper, tolower)
(isascii, toascii): Don't use 'c' as macro parameter name.
2009-04-24 12:27:36 +00:00
Eric Blake 1335bf3c5d Trigger gcc warning if isFoo macros are called with plain char.
* libc/include/ctype.h (isalpha, isupper, islower, isdigit)
(isxdigit, isspace, ispunct, isalnum, isprint, isgraph)
(iscntrl, isblank, toupper, tolower): Rewrite to let 'gcc -Wall'
warn when user calls macro with a char argument.
2009-04-24 12:20:07 +00:00
Jeff Johnston 2beb9fbb02 2009-04-22 Anthony Green <green@moxielogic.com>
* configure.host: Add moxie support.
        * libc/machine/configure.in: Add moxie support.
        * libc/machine/configure: Rebuilt.
        * libc/machine/moxie/aclocal.m4: New file.
        * libc/machine/moxie/configure: New file.
        * libc/machine/moxie/configure.in: New file.
        * libc/machine/moxie/Makefile.am: New file.
        * libc/machine/moxie/Makefile.in: New file.
        * libc/machine/moxie/setjmp.S: New file.
        * libc/include/machine/setjmp.h (_JBLEN): Define for moxie.
        * libc/include/machine/ieeefp.h: Add moxie support.
2009-04-22 19:52:49 +00:00
Jeff Johnston 15b71e6679 2009-04-21 Mark Mitchell <mark@codesourcery.com>
* libc/include/_ansi.h: Move C++ defines to top of file.
        (_NOTHROW): New macro.
        (_EXFUN_NOTHROW): Likewise.
        * libc/include/stdlib.h (calloc): Declare with _EXFUN_NOTHROW.
        (free): Likewise.
        (malloc): Likewise.
        (realloc): Likewise.
        (_malloc_r): Likewise.
        (_callor_r): Likewise.
        (_free_r): Likewise.
        (_realloc_r): Likewise.
2009-04-21 18:24:59 +00:00
Jeff Johnston bd5f034706 2009-04-20 Jeff johnston <jjohnstn@redhat.com>
* libc/include/math.h: Change _LDBL_EQ_DBL flag usage to
        be _HAVE_LDBL_MATH.
        * libc/include/stdlib.h: Change _LDBL_EQ_DBL flag usage to
        be _HAVE_LDBL_STDLIB.
2009-04-20 18:06:14 +00:00
Jeff Johnston 1b8e360e06 2009-04-17 Jeff johnston <jjohnstn@redhat.com>
* libc/include/machine/ieeefp.h (_LDBL_EQ_DBL): Remove.
        * libc/stdlib/local.h (_LDBL_EQ_DBL): Add.
        * libc/stdlib/strtold.c: Include local.h.
        * libc/stdlib/wcstold.c: Likewise.
        * libm/common/atanl.c: Likewise.
        * libm/common/cosl.c: Likewise.
        * libm/common/sinl.c: Likewise.
        * libm/common/modfl.c: Likewise.
        * libm/common/frexpl.c: Likewise.
        * libm/common/tanhl.c: Likewise.
        * libm/common/tanl.c: Likewise.
        * libm/common/expm1l.c: Likewise.
        * libm/common/log1pl.c: Likewise.
        * libm/common/ceill.c: Likewise.
        * libm/common/fabsl.c: Likewise.
        * libm/common/floorl.c: Likewise.
        * libm/common/acosl.c: Likewise.
        * libm/common/asinl.c: Likewise.
        * libm/common/atan2l.c: Likewise.
        * libm/common/coshl.c: Likewise.
        * libm/common/expl.c: Likewise.
        * libm/common/fmodl.c: Likewise.
        * libm/common/hypotl.c: Likewise.
        * libm/common/ldexpl.c: Likewise.
        * libm/common/log10l.c: Likewise.
        * libm/common/logl.c: Likewise.
        * libm/common/powl.c: Likewise.
        * libm/common/sqrtl.c: Likewise.
        * libm/common/copysignl.c: Likewise.
        * libm/common/ilogbl.c: Likewise.
        * libm/common/nanl.c: Likewise.
        * libm/common/cbrtl.c: Likewise.
        * libm/common/asinhl.c: Likewise.
        * libm/common/nextafterl.c: Likewise.
        * libm/common/rintl.c: Likewise.
        * libm/common/scalbnl.c: Likewise.
        * libm/common/exp2l.c: Likewise.
        * libm/common/fdiml.c: Likewise.
        * libm/common/fmal.c: Likewise.
        * libm/common/fmaxl.c: Likewise.
        * libm/common/fminl.c: Likewise.
        * libm/common/lrintl.c: Likewise.
        * libm/common/lroundl.c: Likewise.
        * libm/common/nearbyintl.c: Likewise.
        * libm/common/remquol.c: Likewise.
        * libm/common/roundl.c: Likewise.
        * libm/common/scalblnl.c: Likewise.
        * libm/common/truncl.c: Likewise.
        * libm/common/acoshl.c: Likewise.
        * libm/common/atanhl.c: Likewise.
        * libm/common/erfcl.c: Likewise.
        * libm/common/erfl.c: Likewise.
        * libm/common/lgammal.c: Likewise.
        * libm/common/remainderl.c: Likewise.
        * libm/common/tgammal.c: Likewise.
        * libm/common/sinhl.c: Likewise.
        * libm/common/llroundl.c: Likewise.
        * libm/common/llrintl.c: Likewise.
        * libm/common/local.h: New file with _LDBL_EQ_DBL macro.
2009-04-17 22:15:43 +00:00
Jeff Johnston ad9bb48fbe 2009-04-17 Ken Werner <ken.werner@de.ibm.com>
* libc/include/machine/ieeefp.h: _LDBL_EQ_DBL check fixed.
        * libc/include/math.h (llrintl): Declare.
        * libm/common/llrintl.c: New File.
        * libm/common/Makefile.am: New File added.
        * libm/common/Makefile.in: Regenerate.
2009-04-17 20:54:19 +00:00
Jeff Johnston 34c5e58ebb 2009-04-16 Hans-Peter Nilsson <hp@axis.com>
* libc/include/stdint.h (INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX): Define.
2009-04-16 18:29:51 +00:00
Jeff Johnston 65f414dc16 2009-04-16 Ken Werner <ken.werner@de.ibm.com>
* libm/libm.texinfo: Add long double function support chapter.
        * libc/include/machine/ieeefp.h: Add _LDBL_EQ_DBL define.
        * libc/include/stdlib.h: Include <machine/ieeefp.h>.
        (strtold, wcstold): Declare.
        * libc/stdlib/strtold.c: New File.
        * libc/stdlib/wcstold.c: Likewise.
        * libc/configure.in: Add long double check.
        * libc/configure: Regenerate.
        * libc/stdlib/Makefile.am: Add strtold.c and wcstold.c.
        * libc/stdlib/Makefile.in: Regenerate.
        * libc/include/math.h (atanl, cosl, sinl, tanl, tanhl): Declare.
        (frexpl, modfl, ceill, fabsl, floorl, log1pl, expm1l, acosl): Ditto.
        (asinl, atan2l, coshl, sinhl, expl, ldexpl, logl, log10l, powl): Ditto.
        (sqrtl, fmodl, hypotl, copysignl, nanl, ilogbl, asinhl, cbrt): Ditto.
        (nextafterl, rintl, scalbnl, exp2l, scalblnl, tgammal): Ditto.
        (nearbyintl, lrintl, llrintl, roundl, lroundl, llround): Ditto.
        (llroundl, truncl, remquol, fdiml, fmaxl, fminl, fmal, acoshl): Ditto.
        (atanhl, remainderl, lgammal, erfl, erfcl): Ditto.
        * libm/common/atanl.c: New File.
        * libm/common/cosl.c: Likewise.
        * libm/common/sinl.c: Likewise.
        * libm/common/modfl.c: Likewise.
        * libm/common/frexpl.c: Likewise.
        * libm/common/tanhl.c: Likewise.
        * libm/common/tanl.c: Likewise.
        * libm/common/expm1l.c: Likewise.
        * libm/common/log1pl.c: Likewise.
        * libm/common/ceill.c: Likewise.
        * libm/common/fabsl.c: Likewise.
        * libm/common/floorl.c: Likewise.
        * libm/common/acosl.c: Likewise.
        * libm/common/asinl.c: Likewise.
        * libm/common/atan2l.c: Likewise.
        * libm/common/coshl.c: Likewise.
        * libm/common/expl.c: Likewise.
        * libm/common/fmodl.c: Likewise.
        * libm/common/hypotl.c: Likewise.
        * libm/common/ldexpl.c: Likewise.
        * libm/common/log10l.c: Likewise.
        * libm/common/logl.c: Likewise.
        * libm/common/powl.c: Likewise.
        * libm/common/sqrtl.c: Likewise.
        * libm/common/copysignl.c: Likewise.
        * libm/common/ilogbl.c: Likewise.
        * libm/common/nanl.c: Likewise.
        * libm/common/cbrtl.c: Likewise.
        * libm/common/asinhl.c: Likewise.
        * libm/common/nextafterl.c: Likewise.
        * libm/common/rintl.c: Likewise.
        * libm/common/scalbnl.c: Likewise.
        * libm/common/exp2l.c: Likewise.
        * libm/common/fdiml.c: Likewise.
        * libm/common/fmal.c: Likewise.
        * libm/common/fmaxl.c: Likewise.
        * libm/common/fminl.c: Likewise.
        * libm/common/lrintl.c: Likewise.
        * libm/common/lroundl.c: Likewise.
        * libm/common/nearbyintl.c: Likewise.
        * libm/common/remquol.c: Likewise.
        * libm/common/roundl.c: Likewise.
        * libm/common/scalblnl.c: Likewise.
        * libm/common/truncl.c: Likewise.
        * libm/common/acoshl.c: Likewise.
        * libm/common/atanhl.c: Likewise.
        * libm/common/erfcl.c: Likewise.
        * libm/common/erfl.c: Likewise.
        * libm/common/lgammal.c: Likewise.
        * libm/common/remainderl.c: Likewise.
        * libm/common/tgammal.c: Likewise.
        * libm/common/sinhl.c: Likewise.
        * libm/common/llroundl.c: Likewise.
        * libm/configure.in: Add long double check.
        * libm/configure: Regenerate.
        * libm/common/Makefile.am: Add new files.
        * libm/common/Makefile.in: Regenerate.
2009-04-16 18:24:35 +00:00
Corinna Vinschen a29a769342 * libc/ctype/ctype_.c (_CTYPE_DATA_0_127): Remove _B flag from TAB.
* libc/ctype/ctype_cp.h: Mark non-cased letters in tables for codepages
	720, 862, 874, 1255, and 1256 to _U|_L.  Fix a couple of incorrect
	class mappings.
	* libc/ctype/ctype_iso.h: Mark non-cased letters in ISO-8859 tables
	6, 8, and 11 to _U|_L.  Fix a couple of incorrect class mappings.
	* libc/ctype/isblank.c (isblank): Special case TAB.
	* libc/ctype/islower.c (islower): Check explicitely for _L flag only
	in (_U|_L).
	* libc/ctype/isupper.c (isupper): Ditto, but check for _U flag.
	* libc/include/ctype.h (islower): Same in macro.
	(isupper): Ditto.
	(isblank): Special case TAB.  Redefine macro for GCC only.
2009-04-09 10:37:58 +00:00
Jeff Johnston 43b1cfeca5 2009-04-06 Ken Werner <ken.werner@de.ibm.com>
* libc/include/sys/features.h: Undefine _POSIX_TIMERS for spu.
        * libc/include/machine/time.h (nanosleep): Declare.
2009-04-06 22:04:33 +00:00
Corinna Vinschen 56c5c08a5d * libc/include/stdio.h (_ELIDABLE_INLINE): Move definition from here...
* libc/include/_ansi.h (_ELIDABLE_INLINE): ..to here.
2009-04-04 15:44:19 +00:00
Jeff Johnston d74c61c2be 2009-04-03 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* libc/include/stdio.h [__SCLE] (__sgetc_r): Prototype before define
        to avoid a warning with -Wmissing-prototypes.
2009-04-03 22:46:15 +00:00
Jeff Johnston 823f6f6655 2009-04-03 Ken Werner <ken.werner@de.ibm.com>
* libc/include/math.h: Remove duplicate copysign prototype.
        Fix __math_68881 define typo.  Guard functions of the rint family.
2009-04-03 17:42:27 +00:00
Corinna Vinschen 72c79be10e * libc/ctype/ctype_c.c: Move inclusion of ctype_iso.h and
ctype_cp.h out of ALLOW_NEGATIVE_CTYPE_INDEX case.
	(__ctype_ptr__): Constify in !_MB_CAPABLE case.  Otherwise,
	de-constify in !ALLOW_NEGATIVE_CTYPE_INDEX case, too.  Add comment.
	(__set_ctype): Set __ctype_ptr__ pointer according to definition
	of ALLOW_NEGATIVE_CTYPE_INDEX.
	* libc/include/ctype.h (__ctype_ptr__): Constify in !_MB_CAPABLE case.
2009-04-02 07:53:12 +00:00
Corinna Vinschen 4bc42c05aa * libc/ctype/Makefile.am: Remove _tolower.c and _toupper.c
source files.  Add a dependency rule for ctype_o to note
	changes in ctype_iso.h and ctype_cp.h.
	* libc/ctype/Makefile.in: Regenerate.
	* libc/ctype/_tolower.c: Remove file.
	* libc/ctype/_toupper.c: Remove file.
	* libc/ctype/ctype_.c: Make sure ALLOW_NEGATIVE_CTYPE_INDEX
	is always defined on Cygwin.
	(_ctype_b): Don't make `static const' on Cygwin.
	(ctype_iso.h): Include if _MB_EXTENDED_CHARSETS_ISO is set.
	(ctype_cp.h): Include if _MB_EXTENDED_CHARSETS_WINDOWS is set.
	(__ctype_ptr): Drop definition.
	(__ctype_ptr__): De-constify.  Mark as __EXPORT symbol.
	(_ctype_): Add Cygwin-specifc asm define.
	(__set_ctype): New function to set __ctype_ptr__ according to
	current charset.
	* libc/ctype/ctype_cp.h: New file containing Windows codepage
	specific character class tables.
	* libc/ctype/ctype_iso.h: New file containing ISO-8859-x
	specific character class tables.
	* libc/ctype/tolower.c (tolower): Reimplement to support any singlebyte
	charset if one of the extended charsets is enabled.
	* libc/ctype/toupper.c (toupper): Ditto.
	* libc/include/ctype.h (_tolower): Define as macro per POSIX.
	(_toupper): Ditto.
	(__ctype_ptr__): De-constify.
	(toupper): Disable macro on systems supporting extended charsets.
	(tolower): Ditto.
	* libc/include/sys/config.h (__EXPORT): Define empty if not defined.
	* libc/locale/locale.c (__mb_cur_max): Mark as __EXPORT symbol.
	(__set_ctype): Declare unconditionally.
	(loadlocale): Remove __CYGWIN__ guard around __set_ctype call.
2009-03-31 09:31:38 +00:00
Corinna Vinschen 7ca98b4901 * libc/ctype/ctype_.c (_CTYPE_DATA_0_127): Mark TAB as blank character.
* libc/ctype/isblank.c: Replace hardcoded test with test for having _B
	marker in ctype array.
	* libc/include/ctype.h (isblank): Add macro.
2009-03-26 09:45:11 +00:00
Jeff Johnston 139f923bb4 2009-03-25 Craig Howland <howland@LGSInnovations.com>
* libc/include/math.h:  (llround, llroundf): Declare.
	* libm/common/s_llround.c: New file, implementing llround().
	* libm/common/sf_llround.c: New file, implementing llroundf().
	* libm/common/sf_lround.c: Remove spurious cast in _DOUBLE_IS_32BITS
	version of function.
	* libm/common/sf_lrint.c: Ditto.
	* libm/common/sf_logb.c:  Corrected return for subnormal argument
	by replacing existing function with a version created from sf_ilogb.c.
	* libm/common/s_logb.c: Ditto, except starting point s_ilogb.c.  Also
	added documentation for logb() and logbf().
	* libm/common/s_signbit.c:  Add signbit() documentation.
	* libm/common/s_log2.c: Update return values to match what w_log2.c has,
	since log2 uses log(); add note about being derived instead of direct.
	* libm/common/sf_fma.c: Add casts to attempt to get correct results,
	as well as comments pointing out problems with the implementation.
	* libm/common/s_fma.c: Add fma() and fmaf() documentation.
	* libm/common/sf_remquo.c: Incorrect quotient returns for large values
	corrected by discarding existing function and replacing with Sun
	verion, with some enhancements.
	* libm/common/s_remquo.c: Ditto.  Add remquo() and remquof()
	documentation.
	* libm/common/s_fmax.c: Add fmax() and fmaxf() documentation.
	* libm/common/s_fmin.c: Add fmin() and fminf() documentation.
	* libm/common/s_fdim.c: Return NAN for NAN arg, add fdim() and fdimf()
	documentation.
	* libm/common/sf_fdim.c: Return NAN for NAN arg, HUGE_VALF for inf arg.
	* libm/common/s_trunc.c: Add trunc() and truncf() documentation.
	* libm/common/s_rint.c: Add rint() and rintf() documentation.
	* libm/common/s_round.c: Add round() and roundf() documentation.
	* libm/common/s_scalbn.c: Add scalbln() and scalblnf() documentation.
	* libm/common/s_infinity.c: Add infinity() and infinityf()
	documentation.
	* libm/common/s_lround.c: Add lround(), lroundf(), llround(), and
	llroundf() documentation.
	* libm/common/s_lrint.c: Add lrint(), lrintf(), llrint(), and llrintf()
	documentation.
	* libm/common/isgreater.c: New file for documenting math.h function-like
	macros isgreater(), isgreaterequal(), isless(), islessequal(),
	islessgreater(), and isunordered().
	* libm/common/s_isnan.c: Add documentation for function-like macros
	fpclassify(), isfinite(), isinf(), isnan(), and isnormal().
	* libm/common/s_nearbyint.c: Add nearbyint() and nearbyintf()
	documentation.
	* libm/common/Makefile.am: Add s_llround.c (src); sf_llround.c (fsrc);
	s_fdim.def, s_fma.def, s_fmax.def, s_fmin.def,
	s_logb.def, s_lrint.def, s_lround.def, s_nearbyint.def, s_remquo.def,
        s_rint.def, s_round.def, s_signbit.def, s_trunc.def, and
        isgreater.def (chobj);
	re-name all existing chew files (chobj) to match source file base
	names (put in underscores), delete all special targets for chew files
	(leaving all to be generated by rule).
	* libm/common/Makefile.in: regenerate.
	* libm/math/w_exp2.c: Add "base 2" to documentation description (and
	delete TRAD_SYNOPSIS).
	* libm/math/w_gamma.c: Add tgamma() and tgammaf() documentation, along
	with some history behind the function names.
	* libm/math/math.tex: Add includes for newly-added documentation (see
	.def additions to common/Makefile.am and math/Makefile.am in this
	ChangeLog list), adjusted existing .def file names to match source file
	base names (added underscores); add mention of HUGE_VALF; rename
	"Version of library" section to "Error Handling" and add some text
	about floating-point exception; added section "Standards Compliance And
	Portability".
	* libm/math/Makefile.am: Add w_exp2.def (chobj);
	re-name all existing chew files (chobj) to match source file base
	names, delete all special targets for chew files (leaving all to be
	generated by rule).
	* libm/math/Makefile.in: regenerated
	* doc/makedoc.c: Change silent ignoring of commands < 5 characters
	to a failure when reading macro file for commands < 4 characters;
	add -v (verbose) option for printing some debugging information;
	get rid of spurious translation of "@*" to "*" (no source files used @*,
	so no existing doc pages were affected); clean up some compiler
	warnings.
	* doc/doc.str: add BUGS and SEEALSO sections (to match texi2pod.pl
	which has them); Remove ITEM command (redundant with makedoc built-in
	"o", not used in any present source file so nothing is lost, anyway).
	* HOWTO: New file to hold information for maintainers regarding how
	to do things.  Initial sections on documentation and ELIX levels.
2009-03-25 19:13:24 +00:00
Jeff Johnston dd15241df7 2009-03-24 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/errno.h: Move EFTYPE to general usage because
        it is used in libc/search.
2009-03-24 16:05:07 +00:00
Corinna Vinschen 28186e81d9 * libc/ctype/iswalpha.c: Handle all wchar_t as unicode on
_MB_CAPABLE systems.
	* libc/ctype/iswblank.c: Ditto.
	* libc/ctype/iswcntrl.c: Ditto.
	* libc/ctype/iswprint.c: Ditto.
	* libc/ctype/iswpunct.c: Ditto.
	* libc/ctype/iswspace.c: Ditto.
	* libc/ctype/jp2uc.c (__jp2uc): On Cygwin, just return c.
	Explain why.
	* libc/ctype/towlower.c: Ditto.
	* libc/ctype/towupper.c: Ditto.
	* libc/include/sys/config.h: Define _MB_EXTENDED_CHARSETS_ISO
	and _MB_EXTENDED_CHARSETS_WINDOWS if _MB_EXTENDED_CHARSETS_ALL is
	defined.  Define _MB_EXTENDED_CHARSETS_ALL on Cygwin only for now.
	* libc/include/sys/reent.h (struct _reent): Mark _current_category
	and _current_locale as unused.
	* libc/locale/locale.c: Add new charset support to documentation.
	Include ../stdio/local.h from here.
	(lc_ctype_charset): Set to "ASCII" by default.
	(lc_message_charset): Ditto.
	(_setlocale_r): Don't set _current_category and _current_locale.
	(loadlocale): Add Cygwin codepage support.  On _MB_CAPABLE
	systems, set __mbtowc and __wctomb function pointers to function
	corresponding with current charset.  Don't allow non-existant
	ISO-8859-12 charset.  Add support for Windows singlebyte codepages.
	On Cygwin, add support for GBK, CP949, and BIG5.  On Cygwin,
	call __set_ctype() in case the catorgy is LC_CTYPE.  Don't set
	_current_category and _current_locale.
	* libc/stdlib/Makefile.am (GENERAL_SOURCES): Add sb_charsets.c.
	* libc/stdlib/Makefile.in: Regenerate.
	* libc/stdlib/local.h: Add prototype for __locale_charset.
	Add prototypes for __mbtowc and __wctomb pointers.
	Add prototypes for charset-specific _wctomb_r and _mbtowc_r
	functions.
	Declare tables and functions from sb_charsets.c.
	* libc/stdlib/mbtowc_r.c (__mbtowc): Define.  Set to __ascii_mbtowc
	by default.
	(_mbtowc_r): Just call __mbtowc from here.
	(__ascii_mbtowc): New function.
	(__iso_mbtowc): New function.
	(__cp_mbtowc): New function.
	(__utf8_mbtowc): New function.
	(__sjis_mbtowc): New function.  Disable on Cygwin.
	(__eucjp_mbtowc): New function.  Disable on Cygwin.
	(__jis_mbtowc): New function.  Disable on Cygwin.
	* libc/stdlib/sb_charsets.c: New file, adding singlebyte to UTF
	conversion tables for all ISO and CP charsets.
	(__iso_8859_index): New function.
	(__cp_index): New function.
	* libc/stdlib/wctomb_r.c (__wctomb): Define.  Set to __ascii_wctomb
	by default.
	(_wctomb_r): Just call __wctomb from here.
	(__ascii_wctomb): New function.
	(__utf8_wctomb): New function.
	(__sjis_wctomb): New function.  Disable on Cygwin.
	(__eucjp_wctomb): New function.  Disable on Cygwin.
	(__jis_wctomb): New function.  Disable on Cygwin.
	(__iso_wctomb): New function.
	(__cp_wctomb): New function.
2009-03-24 10:13:27 +00:00
Jeff Johnston e8846923cf 2009-03-20 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/errno.h: Protect various non-standard errnos
        with either __LINUX_ERRNO_EXTENSIONS__ or __CYGWIN__.
        * libc/include/sys/config.h[__CYGWIN__]: Define
        __LINUX_ERRNO_EXTENSIONS__.
2009-03-20 20:44:14 +00:00
Jeff Johnston d57ff5a8ac 2009-03-18 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* libm/common/s_log2.c: New file.
        * libm/common/sf_log2.c: Ditto.
        * libm/common/Makefile.am: Add s_log2.c and sf_log2.c.
        * libm/common/Makefile.in: Regenerated.
        * libc/include/math.h: Add log2 and log2f function prototypes.
2009-03-18 18:11:18 +00:00
Corinna Vinschen 044af76e50 * libc/include/sys/errno.h (ESTRPIPE): Define.
* libc/string/strerror.c (strerror): Decode it.
2009-03-15 13:41:46 +00:00
Corinna Vinschen 159a17c8c8 * libc/include/wchar.h (wcsdup, _wcsdup_r): Declare.
* libc/string/Makefile.am: Add wcsdup.c.
	* libc/string/Makefile.in: Regenerate.
	* libc/string/strings.tex: Add wcsdup documentation reference.
	* libc/string/wcsdup.c: New file.
2009-03-15 13:39:07 +00:00
Corinna Vinschen f03b7b10ec * libc/include/stdlib.h (_mkstemp_r, _mktemp_r): Move out of
!_REENT_ONLY section.
2009-03-14 12:17:19 +00:00
Corinna Vinschen 71675a3908 * libc/include/stdio.h (_mkstemp_r, _mktemp_r): Move declarations
to stdlib.h.
	* libc/include/stdlib.h (mktemp, _mktemp_r): Warn when using.
	* libc/stdio/mktemp.c: Explain the security risk when using
	mktemp.
2009-03-14 12:14:08 +00:00
Corinna Vinschen dc48005c28 * libc/include/wchar.h (wcscasecmp, wcsncasecmp): Declare.
* libc/string/Makefile.am: Add wcscasecmp.c, wcsncasecmp.c
	* libc/stdio/Makefile.in: Regenerate.
	* libc/string/strings.tex: Add new documentation references.
	* libc/string/wcscasecmp.c: New file.
	* libc/string/wcsncasecmp.c: New file.
2009-03-11 12:57:53 +00:00
Corinna Vinschen d0b85c158f * libc/include/wchar.h (fwscanf, swscanf, vfwscanf, vswscanf, vwscanf,
wscanf): Declare.
	(_fwscanf_r, _swscanf_r, _vfwscanf_r, _vswscanf_r, _vwscanf_r,
	_wscanf_r): Declare.
	* libc/stdio/Makefile.am: Add new wscanf files.
	* libc/stdio/Makefile.in: Regenerate.
	* libc/stdio/fwscanf.c: New file.
	* libc/stdio/local.h (__svfwscanf_r, __ssvfwscanf_r, __svfiwscanf_r,
	__ssvfiwscanf_r): Declare.
	* libc/stdio/stdio.tex: Add new documentation references.
	* libc/stdio/swscanf.c: New file.
	* libc/stdio/vfwscanf.c: New file.
	* libc/stdio/vswscanf.c: New file.
	* libc/stdio/vwscanf.c: New file.
	* libc/stdio/wscanf.c: New file.

	* libc/stdio/vfscanf.c (_sungetc_r): Make externaly available.  Only
	define if INTEGER_ONLY is defined.  Declare otherwise.
	(__ssrefill_r): Ditto.
	(_sfread_r): Ditto.

	Remove static eofread/eofread1 functions and use __seofread
	function instead, throughout.
	* libc/stdio/local.h (__seofread): Declare.
	* libc/stdio/stdio.c (__seofread): Define.

	* libc/stdio/fgetwc.c (__fgetwc): Fix compiler warning.
	* libc/stdio/fgetws.c (_fgetws_r): Ditto.
	* libc/stdio/fread.c (_fread_r): Ditto.
	* libc/stdio/vfprintf.c: Ditto.
	* libc/stdio/vswprintf.c: Ditto.
2009-03-11 11:53:22 +00:00
Corinna Vinschen 3c4becbe18 * libc/time/strftime.c: Adapt for dual-purpose use so not only
defines strftime(), but can also define wcsftime(); add optional
	test package; speed up %Y handling.
	* libc/time/wcsftime.c:  New file, defining wcsftime() (albeit
	indirectly by including strftime.c) and its documentation.
	* libc/time/time.tex:  Enhance tm_isdst explanation, change strftime
	description to match modified description in strftime.c
	* libc/time/Makefile.am:  Add wcsftime.c and wcsftime.def.  Add a rule
	so that wcsftime.o gets rebuilt when strftime changes.
	* libc/time/Makefile.in:  Regenerate.
	* libc/include/wchar.h (wcsftime): Declare.
2009-03-09 12:35:03 +00:00
Corinna Vinschen 6121968b19 * libc/include/stdio.h (__VALIST): Guard against multiple definition.
* libc/include/wchar.h: Include stdarg.h.
	(__VALIST): Define conditionally.
	(fwprintf, swprintf, vfwprintf, vswprintf, vwprintf, wprintf: Declare.
	(_fwprintf_r, _swprintf_r, _vfwprintf_r, _vswprintf_r, _vwprintf_r,
	 _wprintf_r): Declare.
	* libc/stdio/Makefile.am: Add new files.
	* libc/stdio/Makefile.in: Regenerate.
	* libc/stdio/fwprintf.c: New file.
	* libc/stdio/local.h (_svfwprintf_r, _svfiwprintf_r): Declare.
	(__CH_CLASS, __STATE, __ACTION): Move definition from vfprintf.c here
	and move to the __ namespace.
	(__chclass, __state_table, __action_table): Declare.
	* libc/stdio/stdio.tex: Add new documentation references.
	* libc/stdio/swprintf.c: New file.
	* libc/stdio/vfprintf.c (__SPRINT): New macro to call the right
	__sprint_r function according to compilation unit.  Use throughout.
	(__ssprint_r): Rename STRING_ONLY variant from __sprint_r.
	Make externaly available.  Only define if INTEGER_ONLY is defined.
	(__sprint_r): Make externaly available.  Only define if INTEGER_ONLY
	is defined.  Handle stream orientation.
	(__sbprintf): Copy FILE's _flags2 member as well.
	(__chclass, __state_table, __action_table): Prepend __ to name and
	make externally available.
	* libc/stdio/vfwprintf.c: New file.
	* libc/stdio/vswprintf.c: New file.
	* libc/stdio/vwprintf.c: New file.
	* libc/stdio/wprintf.c: New file.
2009-03-06 09:55:52 +00:00
Corinna Vinschen 2e10d61ccb * libc/include/wchar.h (mbsnrtowcs): Declare.
(_mbsnrtowcs_r): Declare.
	(wcsnrtombs): Declare.
	(_wcsnrtombs_r): Declare.
	* libc/stdlib/Makefile.am (ELIX_2_SOURCES): Add mbsnrtowcs.c
	and wcsnrtombs.c.
	* libc/stdlib/Makefile.in: Regenerate.
	* libc/stdlib/mbsnrtowcs.c: New file, implementing _mbsnrtowcs_r
	and mbsnrtowcs.  Document mbsnrtowcs and mbsrtowcs.
	* libc/stdlib/mbsrtowcs.c (_mbsrtowcs_r): Just call _mbsnrtowcs_r.
	(mbsrtowcs): Ditto.
	* libc/stdlib/wcsnrtombs.c: New file, implementing _wcsnrtombs_r
	and wcsnrtombs.  Document wcsrtombs and wcsnrtombs.
	* libc/stdlib/wcsrtombs.c (_wcsrtombs_r): Just call _wcsnrtombs_r.
	(wcsrtombs): Ditto.
	* libc/stdlib/stdlib.tex: Accommodate new documentation.
2009-02-19 09:19:42 +00:00
Corinna Vinschen 84e851fd64 * libc/stdio/open_memstream.c: Add open_wmemstream to doumentation.
(struct memstream): Add wide element.
	Change saved to a union to take char and wchar_t values.
	(memwriter): Accommodate wide-oriented oeprations.
	(memseeker): Ditto.
	(memseeker64): Ditto.
	(memcloser): Ditto.
	(internal_open_memstream_r): New static function.  Take functionality
	from former _open_memstream_r and handle additional "wide" parameter.
	(_open_memstream_r): Just call internal_open_memstream_r with wide==-1
	from here.
	(_open_wmemstream_r): New function.
	(open_wmemstream): Ditto.
	* libc/include/wchar.h (open_wmemstream): Declare.
	(_open_wmemstream_r): Declare.
2009-02-18 17:35:24 +00:00
Jeff Johnston 77ea728b96 2009-02-12 Corinna Vinschen <corinna@vinschen.de>
* libc/include/wchar.h (_wcstod_r): Declare.
        (_wcstof_r): Declare.
        (wcstod): Declare.
        (wcstof): Declare.
        * libc/stdlib/Makefile.am (GENERAL_SOURCES): Add wcstod.c.
        (CHEWOUT_FILES): Add wcstod.def.
        * libc/stdlib/Makefile.in: Regenerate.
        * libc/stdlib/stdlib.tex: Add wcstod.
        * libc/stdlib/wcstod.c: New file.
2009-02-12 23:10:01 +00:00
Jeff Johnston 2e287a6327 2009-01-19 Neal H. Walfield <neal@gnu.org>
* libc/include/stdint.h (INT64_C, UINT64_C, INTMAX_C, UINTMAX_C)
        [__have_long64 && __have_longlong64]: Use L and UL, not LL and ULL.
        * libc/include/inttypes.h (__PRI64, __SCN64, __PRIMAX, __SCNMAX,
        __PRIPTR, __SCNPTR) [__have_long64 && __have_longlong64]: Use l,
        not ll.
2009-01-19 22:02:06 +00:00
Kazu Hirata 887c6b762e * libc/include/sys/stdio.h (_flockfile, _funlockfile): Fix typos. 2009-01-08 00:01:33 +00:00
Jeff Johnston a1631dba6c 2008-12-12 Craig Howland <howland@LGSInnovations.com>
* libc/include/wchar.h:  Added wcstok() declaration.
        * libc/string/wcstok.c: New file, implementing wcstok.
        * libc/string/Makefile.am: Add wcstok support.
        * libc/string/wcstrings.tex: Ditto.
        * libc/string/Makefile.in: Regenerated.
2008-12-12 19:47:05 +00:00
Jeff Johnston db48463a7f 2008-12-12 Ralf Corsepius <ralf.corsepius@rtems.org>
* libc/include/sys/features.h: Set RTEMS's _POSIX_MONOTONIC_CLOCK to
        200112L (SUSv3 compliance).
        Comment out RTEMS's _POSIX_SHARED_MEMORY_OBJECTS (Unsupported).
2008-12-12 17:16:03 +00:00
Jeff Johnston 04e4752943 2008-12-11 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/time.h(gettimeofday): Change prototype so
        2nd parameter is void *, matching SUSV2.
        * libc/syscalls/sysgettod.c(gettimeofday): Ditto.
2008-12-11 22:48:38 +00:00
Jeff Johnston 0e859ad10f 2008-12-11 Jukka Pietarinen <jukka.pietarinen@mrf.fi>
* configure.host: Add lm32
        * libc/include/machine/ieeefp.h: Add __lm32__
        * libc/include/machine/setjmp.h: Add __lm32__
        * libc/machine/configure.in: Add lm32
        * libc/machine/configure: Regenerated.
        * libc/machine/lm32/aclocal.m4: New file.
        * libc/machine/lm32/configure.in: Ditto.
        * libc/machine/lm32/configure: Ditto.
        * libc/machine/lm32/Makefile.am: Ditto.
        * libc/machine/lm32/Makefile.in: Ditto.
        * libc/machine/lm32/setjmp.s: Ditto.
2008-12-11 20:05:38 +00:00
Jeff Johnston 7dd0c33097 2008-12-11 Craig Howland <howland@LGSInnovations.com>
* libc/include/sys/lock.h:  Add void cast to avoid "statement has no
        effect" warnings from gcc.
        * libc/include/sys/stdio.h:  Ditto.
        * libc/include/sys/time.h:  Correct gettimeofday() prototype.
        * libc/stdlib/__exp10.c:  Add #include "std.h" for function prototype.
        * libc/stdlib/__ten_mu.c:  Ditto.
        * libc/stdlib/std.h:  Correct __exp10's ANSI prototype.
        * libc/stdlib/ldtoa.c:  Change eiisinf definition to ANSI form.  (Are
        already others in file without _ansi method, so did not bother.)
        * libc/stdlib/system.c:  Use _ansi forms for function prototypes and
        definitions.
        * libc/time/mktime.c:  Ditto.
        * libc/misc/__dprintf.c:  Ditto.
        * libc/include/stdio.h:  Add function prototypes for _fgetc_r,
        _fgetpos_r, _fsetpos_r, _freopen_r, _rewind_r, freopen64, _freopen64_r,
        _funopen_r, and _fopencookie_r.
        * libc/include/reent.h:  Add function prototype for _stat64_r, align
        _execve_r prototype with POSIX definition for execve.
        * libc/reent/execr.c:  Align function prototype with POSIX definition.
        * libc/stdio/asniprintf.c:  Add #include "local.h".
        * libc/stdio/vasniprintf.c:  Ditto.
        * libc/stdio/fread.c:  Remove unused variable newcount.
        * libc/stdio/local.h:  Add function prototype for __sccl.
        * libc/stdio/open_memstream.c:  Remove unused variable flags.
        * libc/stdio/vfscanf.c:  Proper prototyping for ccfn, remove prototype
        for __sccl since now in local.h.
        * libc/string/memcpy.c:  Add #include <string.h> (for real and for
        traditional synopsis), remove extraneous stddef.h and limits.h.
        * libc/syscalls/sysclose.c:  Add #include <unistd.h>.
        * libc/syscalls/sysfork.c:  Ditto.
        * libc/syscalls/sysgetpid.c:  Ditto.
        * libc/syscalls/sysexecve.c:  Add #include <unistd.h>, align function
        prototype with POSIX definition.
        * libc/syscalls/sysfstat.c:  Add #include <sys/stat.h>.
        * libc/syscalls/sysgettod.c:  Correct sys/times.h to sys/time.h.
        * libc/syscalls/syskill.c:  Add #include <signal.h>.
        * libc/syscalls/syslink.c:  Add #include <unistd.h>, fix prototype.
        * libc/syscalls/sysunlink.c:  Ditto.
        * libc/syscalls/sysstat.c:  Add #include <sys/stat.h>, fix prototype.
        * libc/syscalls/syswait.c:  Add #include <sys/wait.h>, fix prototype.
2008-12-11 17:27:56 +00:00
Jeff Johnston 0751f22675 2008-12-10 Corinna Vinschen <corinna@vinschen.de>
Implement basic wide char stdio functionality, based on FreeBSD.
        * libc/include/stdio.h (__SORD): Define.
        (__SWID): Define.
        * libc/include/wchar.h: Add declarations for new wide char functions.
        (getwc): Define as macro.
        (getwchar): Ditto.
        (putwc): Ditto.
        (putwchar): Ditto.
        * libc/include/sys/reent.h (struct __sFILE): Add _mbstate member.
        (struct __sFILE64): Ditto.
        * libc/stdio/Makefile.am (ELIX_4_SOURCES): Add fgetwc.c, fgetws.c,
        fputwc.c, fputws.c, fwide.c, getwc.c, getwchar.c, putwc.c, putwchar.c
        and ungetwc.c.
        (CHEWOUT_FILES): Add fgetwc.def, fgetws.def, fputwc.def, fputws.def,
        fwide.def, getwc.def, getwchar.def, putwc.def, putwchar.def and
        ungetwc.def.
        Add header dependency rules for the new files.
        * libc/stdio/Makefile.in: Regenerate.
        * libc/stdio/fgetwc.c: New file, implementing fgetwc and _fgetwc_r.
        * libc/stdio/fgetws.c: New file, implementing fgetws and _fgetws_r.
        * libc/stdio/findfp.c (std): Initialize FILE's _mbstate member.
        (__sfmoreglue): Ditto.
        * libc/stdio/fputs.c (_fputs_r): Set stream orientation.
        * libc/stdio/fputwc.c: New file, implementing fputwc and _fputwc_r.
        * libc/stdio/fputws.c: New file, implementing fputws and _fputws_r.
        * libc/stdio/fread.c (_fread_r): Set stream orientation.
        * libc/stdio/freopen.c (_freopen_r): Reset stream orientation.  Reset
        _mbstate.
        * libc/stdio/fseek.c (_fseek_r): Reset _mbstate.
        * libc/stdio/fwide.c: New file, implementing fwide and _fwide_r.
        * libc/stdio/fwrite.c (_fwrite_r): Set stream orientation.
        * libc/stdio/getwc.c: New file, implementing getwc and _getwc_r.
        * libc/stdio/getwchar.c: New file, implementing getwchar and
        _getwchar_r.
        * libc/stdio/local.h (ORIENT): New macro.
        * libc/stdio/puts.c (_puts_r): Set stream orientation.
        * libc/stdio/putwc.c: New file, implementing putwc and _putwc_r.
        * libc/stdio/putwchar.c: New file, implementing putwchar and
        _putwchar_r.
        * libc/stdio/refill.c (__srefill_r): Set stream orientation.
        * libc/stdio/stdio.tex: Add documentation for new functions.
        * libc/stdio/ungetc.c (_ungetc_r): Set stream orientation.
        * libc/stdio/ungetwc.c: New file, implementing ungetwc and _ungetwc_r.
        * libc/stdio/vfscanf.c (__SVFSCANF_R): Set stream orientation.
        * libc/stdio/wbuf.c (__swbuf_r): Ditto.
2008-12-10 23:43:12 +00:00
Jeff Johnston 11a985e00f 2008-12-10 Joseph Myers <joseph@codesourcery.com>
* libc/include/stdint.h (INT32_MIN, INT32_MAX, UINT32_MAX,
        INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX): Define to
        constants with "long" types where appropriate.
        (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN,
        INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX,
        UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX):
        Correct to match logic for defining corresponding types.
        (INTMAX_MAX, INTMAX_MIN, UINTMAX_MAX): Define.
        (SIZE_MAX): Define using __SIZE_MAX__ if available.
        (PTRDIFF_MAX): Define using __PTRDIFF_MAX__ if available.
        (PTRDIFF_MIN): Define in terms of PTRDIFF_MAX.
        (WCHAR_MAX, WCHAR_MIN, WINT_MAX, WINT_MIN): Define.
        (UINT8_C, UINT16_C): Define to give signed values if corresponding
        types would promote to int.
2008-12-10 21:27:58 +00:00
Corinna Vinschen a81a17c43b * libc/include/sys/features.h (_POSIX_V6_ILP32_OFF32): Always define.
(_POSIX_V6_LP64_OFF64): Ditto.
	(_POSIX_V6_LPBIG_OFFBIG): Ditto.
2008-12-04 13:58:11 +00:00
Jeff Johnston bad5c314f7 2008-11-27 Craig Howland <howland@LGSInnovations.com>
* libc/argz/argz_add.c:  Added #include <argz.h> to get function
        prototypes.
        * libc/argz/argz_append.c: Ditto.
        * libc/argz/argz_count.c: Ditto.
        * libc/argz/argz_create.c: Ditto.
        * libc/argz/argz_create_sep.c: Ditto.
        * libc/argz/argz_delete.c: Ditto.
        * libc/argz/argz_next.c: Ditto.
        * libc/argz/argz_stringify.c: Ditto
        * libc/stdlib/strtod.c: Added #include <stdlib.h> to get function
        prototypes.
        * libc/stdlib/wcstoul.c: Added #include <wchar.h> to get function
        prototypes, corrected traditional usage comment.
        * libc/include/wchar.h: Added _mbsrtowcs_r() prototype.
2008-11-27 20:45:37 +00:00
Jeff Johnston 0aca33c823 2008-11-24 Craig Howland <howland@LGSInnovations.com>
* libc/stdlib/wcstoull_r.c:  Add EINVAL return for bad base value,
        include wchar.h for prototype, remove extraneous includes, use
        C99/POSIX ULLONG_MAX (but allow for poor limits.h).
        * libc/stdlib/wcstoull.c:  Fix usage comments (mistakes and to add
        base value check noted above), remove extraneous includes.
        * libc/stdio/asnprintf.c:  Add #include "local.h" to get function
        prototype for _svfprintf_r().
        * libc/stdio/vasnprintf.c:  Ditto.
        * libc/stdio/local.h:  Add function prototype for __submore().
        * libc/include/stdio.h:  Add function prototypes for _fseeko_r and
        _ftello_r.
        * libc/posix/namespace.h:  Commented out define for write to
        eliminate write() prototype being missing for collate.c (which is
        the only file that presently includes namespace.h).
        * libc/include/reent.h:  Added _rename_r.
        * libc/reent/renamer.c:  Corrected function prototypes in synopses.
        * libc/locale/ldpart.c:  Use struct stat64 when calling fstat64.
2008-11-24 21:27:33 +00:00
Corinna Vinschen 14773e10a0 * libc/include/stdio.h (__SMOD): Remove definition of unused flag.
* libc/include/sys/reent.h (struct __sFILE): Add _flags2 member.
	* libc/stdio/findfp.c (std): Initialize _flags2.
	(__sfp): Ditto.
	* libc/stdio/refill.c (__srefill_r): Drop resetting __SMOD flag.
	* libc/stdio/vfscanf.c (__ssrefill_r): Ditto.
	* libc/stdio/fseek.c (_fseek_r): Drop checking __SMOD flag.
	* libc/stdio64/fseeko64.c (_fseeko64_r): Ditto.
2008-11-24 17:15:43 +00:00
Jeff Johnston 0e9810262d 2008-11-19 Joel Sherrill <joel.sherrill@oarcorp.com>
* libc/include/sys/config.h[__mips__]: Don't bother
        setting __ATTRIBUTE_IMPURE_PTR__ here.
        [__rtems__][__mips__]: No need to undef the __ATTRIBUTE_IMPURE_PTR__
        macro anymore.
2008-11-19 21:05:31 +00:00
Jeff Johnston 8ee939ea9f 2008-11-19 Jeff Johnston <jjohnstn@redhat.com>
* libc/sys/linux/bits/dirent.h: New header file.
        * libc/sys/linux/sys/dirent.h: Include <bits/dirent.h> instead of
        <linux/dirent.h>.
        * libc/posix/Makefile.am: Remove reallocf.
        * libc/posix/Makefile.in: Regenerated.
        * libc/posix/reallocf.c: Moved to...
        * libc/stdlib/reallocf.c: Here
        * libc/stdlib/malloc.c: Add reallocf documentation.
        * libc/include/stdlib.h: Add reallocf and _reallocf_r prototypes.
        * libc/stdlib/Makefile.am: Add reallocf.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/posix/_isatty.c: Set errno.
2008-11-19 20:56:22 +00:00
Jeff Johnston 34ff0a4e6f 2008-11-19 Ralf Corsepius <ralf.corsepius@rtems.org>
* libc/include/sys/config.h: Don't put
        __ATTRIBUTE_IMPURE_PTR__ into .sdata section for mips-rtems.
2008-11-19 19:48:31 +00:00
Jeff Johnston b8e9a7c099 2008-11-19 Ralf Corsepius <ralf.corsepius@rtems.org>
* libc/include/pthread.h: Remove prototypes for
        pthread_attr_getcputime and pthread_attr_setcputime which
        were proposed but never approved by the POSIX standard.
2008-11-19 17:02:34 +00:00
Jeff Johnston d456d606e3 2008-10-31 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/limits.h: Add ARG_MAX, PATH_MAX, and _POSIX2_RE_DUP_MAX.
        * libc/include/envlock.h: New file.
        * libc/include/fnmatch.h: Ditto.
        * libc/include/glob.h: Ditto.
        * libc/include/regex.h: Ditto.
        * libc/include/wordexp.h: Ditto.
        * libc/posix/Makefile.am: Add new files moved from
        libc/sys/linux/stdlib.
        * libc/posix/Makefile.in: Regenerated.
        * libc/posix/COPYRIGHT: New file moved from libc/sys/linux/stdlib.
        * libc/posix/cclass.h: Ditto.
        * libc/posix/cname.h: Ditto.
        * libc/posix/collate.c: Ditto.
        * libc/posix/collate.h: Ditto.
        * libc/posix/collcmp.c: Ditto.
        * libc/posix/engine.c: Ditto.
        * libc/posix/fnmatch.3: Ditto.
        * libc/posix/glob.3: Ditto.
        * libc/posix/fnmatch.c: Ditto.
        * libc/posix/glob.c: Ditto.
        * libc/posix/namespace.h: Ditto.
        * libc/posix/reallocf.c: Ditto.
        * libc/posix/regcomp.c: Ditto.
        * libc/posix/regerror.c: Ditto.
        * libc/posix/regex.3: Ditto.
        * libc/posix/regex2.h: Ditto.
        * libc/posix/regexec.c: Ditto.
        * libc/posix/regfree.c: Ditto.
        * libc/posix/rune.h: Ditto.
        * libc/posix/runetype.h: Ditto.
        * libc/posix/scandir.c: Remove advertising clause which is not in
        effect.
        * libc/posix/sysexits.h: Ditto.
        * libc/posix/un-namespace.h: Ditto.
        * libc/posix/utils.h: Ditto.
        * libc/posix/wordexp.c: Ditto.
        * libc/posix/wordfree.c: Ditto.
        * libc/posix/execl.c: Add !_NO_EXECVE flag check.
        * libc/posix/execle.c: Ditto.
        * libc/posix/execlp.c: Ditto.
        * libc/posix/execv.c: Ditto.
        * libc/posix/execve.c: Ditto.
        * libc/posix/execvp.c: Ditto.
        * libc/posix/popen.c: Add !_NO_POPEN flag check.
        * libc/sys/linux/configure: Regenerated.
        * libc/sys/linux/configure.in: Remove stdlib.
        * libc/sys/linux/include/limits.h: Add include of linux/limits.h.
        * libc/sys/linux/stdlib/Makefile.am: Removed.
        * libc/sys/linux/stdlib/Makefile.in: Ditto.
        * libc/sys/linux/stdlib/COPYRIGHT: Moved to libc/posix.
        * libc/sys/linux/stdlib/cclass.h: Ditto.
        * libc/sys/linux/stdlib/cname.h: Ditto.
        * libc/sys/linux/stdlib/collate.c: Ditto.
        * libc/sys/linux/stdlib/collate.h: Ditto.
        * libc/sys/linux/stdlib/collcmp.c: Ditto.
        * libc/sys/linux/stdlib/engine.c: Ditto.
        * libc/sys/linux/stdlib/fnmatch.3: Ditto.
        * libc/sys/linux/stdlib/fnmatch.c: Ditto.
        * libc/sys/linux/stdlib/glob.3: Ditto.
        * libc/sys/linux/stdlib/glob.c: Ditto.
        * libc/sys/linux/stdlib/reallocf.c: Ditto.
        * libc/sys/linux/stdlib/regcomp.c: Ditto.
        * libc/sys/linux/stdlib/regerror.c: Ditto.
        * libc/sys/linux/stdlib/regex.3: Ditto.
        * libc/sys/linux/stdlib/regex2.h: Ditto.
        * libc/sys/linux/stdlib/regexec.c: Ditto.
        * libc/sys/linux/stdlib/regfree.c: Ditto.
        * libc/sys/linux/stdlib/utils.h: Ditto.
        * libc/sys/linux/stdlib/wordexp.c: Ditto.
        * libc/sys/linux/stdlib/wordfree.c: Ditto.
2008-10-31 21:03:42 +00:00
Jeff Johnston 5d2b3a0a5a 2008-10-16 Joel Sherrill <joel.sherrill@oarcorp.com>
* libc/include/sys/unistd.h: RTEMS follows standard for sync().
2008-10-16 23:03:40 +00:00
Jeff Johnston 01bf0593df 2008-10-16 Joel Sherrill <joel.sherrill@oarcorp.com>
* libc/include/time.h: Add CLOCK_MONOTONIC.
   * libc/include/sys/features.h: Define
   _POSIX_MONOTONIC_CLOCK for RTEMS.
2008-10-16 21:53:58 +00:00
Jeff Johnston baa9e037cc 2008-10-15 Joel Sherrill <joel.sherrill@oarcorp.com>
* libc/include/sys/unistd.h: Enable ttyname_r() for RTEMS.
2008-10-15 21:37:54 +00:00
Jeff Johnston 6b35caa257 Fix typo and make C99 check the same as is used in math.h 2008-10-15 20:49:56 +00:00
Jeff Johnston bc5585e6e5 2008-10-15 Craig Howland <howland@LGSInnovations.com>
* libc/include/ctype.h (isblank):  isblank is C99.
	* libc/ctype/isblank.c (isblank comments):  ditto.  isblank does not
	have a macro version (as was claimed in the description).
2008-10-15 20:36:26 +00:00
Jeff Johnston 9d36d24f6e 2008-10-02 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/reent.h[_REENT_SMALL](_REENT_INIT_RAND48): Add
        initialization of _rand_next to 1.
2008-10-02 16:43:23 +00:00
Jeff Johnston 610eefefdd 2008-09-25 Raphael Derossa Pereira <raphaelpereira@gmail.com>
* libc/include/pthread.h[_UNIX98_THREAD_MUTEX_ATTRIBUTES]: Add
        new pthread_mutexattr_gettype and pthread_mutexattr_settype
        prototypes.
        * libc/include/sys/types.h[_UNIX98_THREAD_MUTEX_ATTRIBUTES]: Add
        new mutex type values.
        (pthread_mutexattr_t)[_UNIX98_THREAD_MUTEX_ATTRIBUTES]: Add type
        field.
2008-09-26 16:15:50 +00:00
Jeff Johnston 37f996a2b2 2008-09-24 Pawel Veselov <pawel.veselov@gmail.com>
Fix setenv/getenv/unsetenv to be OpenGroup compliant:
        * libc/include/stdlib.h (unsetenv, _unsetenv_r): Redefine with integer
        return types.
        * libc/stdlib/getenv_r.c (_findenv_r): Do no special processing with
        names that contain equal chars.
        * libc/stdlib/setenv.c: Redefine _unsetenv_r as returning int.
        * libc/stdlib/setenv_r.c (_setenv_r): Return -1 and set errno to
        EINVAL if name contains an equal sign.  Do not remove any equal signs
        from the value.
        (_unsetenv_r): Modified to return int.  Return -1 and set EINVAL
        if name contains equal sign.  Return -1 if no variable(s) were found
        and return 0 otherwise.
2008-09-25 01:23:08 +00:00
Jeff Johnston 29212ab3cd 2008-09-19 Eric Blake <ebb9@byu.net>
Supply missing POSIX errno values.
        * libc/include/sys/errno.h (ENOTRECOVERABLE, EOWNERDEAD): Define.
        * libc/string/strerror.c (strerror): Decode them, and ECANCELED.
2008-09-19 16:11:35 +00:00
Jeff Johnston 410c1d122d 2008-07-24 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/ctype.h (_ctype_): Restore for C++ backward
        compatability only.
2008-07-24 17:55:26 +00:00
Jeff Johnston fa914bf8ab 2008-07-21 Jeff Johnston <jjohnstn@redhat.com>
* libc/ctype/ctype_.c: Add new pointer __ctype_ptr__ which is one
        less than the old __ctype_ptr.
        * libc/ctype/isalnum.c: Use __ctype_ptr__.
        * libc/ctype/isalpha.c: Ditto.
        * libc/ctype/iscntrl.c: Ditto.
        * libc/ctype/isdigit.c: Ditto.
        * libc/ctype/islower.c: Ditto.
        * libc/ctype/isprint.c: Ditto.
        * libc/ctype/ispunct.c: Ditto.
        * libc/ctype/isspace.c: Ditto.
        * libc/ctype/isupper.c: Ditto.
        * libc/ctype/isxdigit.c: Ditto.
        * libc/include/ctype.h: Change ctype macros to use new __ctype_ptr__
        and add declaration of __ctype_ptr__.  Remove older ctype table pointers
        from here even though they can still work.
2008-07-21 21:28:34 +00:00
Jeff Johnston d2af9effc5 2008-07-17 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/assert.h (__ASSERT_FUNC): Define to __FUNCTION__ when
        __STDC_VERSION__ < 199901L and __GNUC__ >= 2.
2008-07-17 20:56:51 +00:00
Corinna Vinschen eb3f08acf8 * libc/include/machine/setjmp.h (_longjmp): Define as function on
Cygwin.
	(_setjmp): Ditto.
2008-06-21 18:48:45 +00:00
Eric Blake 8fa475e4b1 Per Posix, strsignal returns non-const char*.
* libc/include/string.h (strsignal): Fix return type.
2008-06-18 15:27:41 +00:00
Jeff Johnston 2b4c1b417f 2008-06-11 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/machine/_default_types.h: Fix GNUC check to
        handle 4.0 and greater.
2008-06-11 22:14:54 +00:00
Corinna Vinschen 1fc3031588 * libc/include/sys/_default_fcntl.h: Include <sys/time.h> on Cygwin. 2008-05-23 12:33:50 +00:00
Jeff Johnston 3c77dcff9e 2008-05-22 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/reent.h: Add _h_errno field.
	* libc/sys/linux/libc-symbols.h: Add default stubs for new libc macros
	now used in net directory.
	* libc/sys/linux/bits/libc-lock.h: Always define _IO_MTSAFE_IO.
	* libc/sys/linux/include/hesiod.h: Add needed macros for new code
	in net directory.
	* libc/sys/linux/include/netdb.h: Ditto.
	* libc/sys/linux/include/resolv.h: Ditto.
	* libc/sys/linux/include/stdint.h: Ditto.
	* libc/sys/linux/include/arpa/nameser.h: Ditto.
	* libc/sys/linux/include/net/ethernet.h: Ditto.
	* libc/sys/linux/include/net/if_ppp.h: Ditto.
	* libc/sys/linux/include/netinet/if_ether.h: Ditto.
	* libc/sys/linux/machine/i386/get_clockfreq.c: Remove static memmem.
	* libc/sys/linux/machine/i386/include/endian.h: Protect macros with
	flags to avoid duplicate definition.
	* libc/sys/linux/machine/i386/include/param.h: Ditto.
	* libc/sys/linux/net/Makefile.am: Modified to account for removed and
	added files.
	* libc/sys/linux/net/Makefile.in: Regenerated.
	* libc/sys/linux/net/base64.c: Replaced with glibc version of code.
	* libc/sys/linux/net/getaddrinfo.c: Ditto.
	* libc/sys/linux/net/getnameinfo.c: Ditto.
	* libc/sys/linux/net/getproto.c: Ditto.
	* libc/sys/linux/net/getservent.c: Ditto.
	* libc/sys/linux/net/inet_netof.c: Ditto.
	* libc/sys/linux/net/inet_lnaof.c: Ditto.
	* libc/sys/linux/net/ns_name.c: Ditto.
	* libc/sys/linux/net/ns_netint.c: Ditto.
	* libc/sys/linux/net/inet_ntoa.c: Ditto.
	* libc/sys/linux/net/ns_parse.c: Ditto.
	* libc/sys/linux/net/ns_print.c: Ditto.
	* libc/sys/linux/net/ns_ttl.c: Ditto.
	* libc/sys/linux/net/nsap_addr.c: Ditto.
	* libc/sys/linux/net/rcmd.c: Ditto.
	* libc/sys/linux/net/res_comp.c: Ditto.
	* libc/sys/linux/net/res_data.c: Ditto.
	* libc/sys/linux/net/res_debug.c: Ditto.
	* libc/sys/linux/net/res_init.c: Ditto.
	* libc/sys/linux/net/res_mkquery.c: Ditto.
	* libc/sys/linux/net/res_query.c: Ditto.
	* libc/sys/linux/net/res_send.c: Ditto.
	* libc/sys/linux/net/send.c: Ditto.
	* libc/sys/linux/stdlib/collate.c: Ditto.
	* libc/sys/linux/sys/ioctl.h: Ditto.
	* libc/sys/linux/sys/socket.h: Ditto.
	* libc/sys/linux/sys/unistd.h: Ditto.
	* libc/sys/linux/iconv/iconvconfig.c: Removed either because no longer
	used or because licensing includes advertising clause that cannot be
	ignored.
	* libc/sys/linux/iconv/strtab.c: Ditto.
	* libc/sys/linux/include/libc_private.h: Ditto.
	* libc/sys/linux/include/nsswitch.h: Ditto.
	* libc/sys/linux/include/net/if_atm.h: Ditto.
	* libc/sys/linux/include/net/if_media.h: Ditto.
	* libc/sys/linux/include/net/if_pppvar.h: Ditto.
	* libc/sys/linux/include/netinet/if_atm.h: Ditto.
	* libc/sys/linux/include/netinet/ip_flow.h: Ditto.
	* libc/sys/linux/intl/locale.alias: Ditto.
	* libc/sys/linux/net/addr2ascii.3: Ditto.
	* libc/sys/linux/net/bindresvport.c: Ditto.
	* libc/sys/linux/net/byteorder.3: Ditto.
	* libc/sys/linux/net/res_config.h: Ditto.
	* libc/sys/linux/net/ether_addr.c: Ditto.
	* libc/sys/linux/net/ethers.3: Ditto.
	* libc/sys/linux/net/getaddrinfo.3: Ditto.
	* libc/sys/linux/net/gethostbydns.c: Ditto.
	* libc/sys/linux/net/gethostbyht.c: Ditto.
	* libc/sys/linux/net/gethostbyname.3: Ditto.
	* libc/sys/linux/net/gethostbynis.c: Ditto.
	* libc/sys/linux/net/gethostnamadr.c: Ditto.
	* libc/sys/linux/net/getifaddrs.3: Ditto.
	* libc/sys/linux/net/getifaddrs.c: Ditto.
	* libc/sys/linux/net/getipnodebyname.3: Ditto.
	* libc/sys/linux/net/getnameinfo.3: Ditto.
	* libc/sys/linux/net/getnetbydns.c: Ditto.
	* libc/sys/linux/net/getnetbyht.c: Ditto.
	* libc/sys/linux/net/getnetbynis.c: Ditto.
	* libc/sys/linux/net/getnetent.3: Ditto.
	* libc/sys/linux/net/getnetnamadr.c: Ditto.
	* libc/sys/linux/net/getprotoent.3: Ditto.
	* libc/sys/linux/net/getprotoent.c: Ditto.
	* libc/sys/linux/net/getprotoname.c: Ditto.
	* libc/sys/linux/net/getservbyname.c: Ditto.
	* libc/sys/linux/net/getservbyport.c: Ditto.
	* libc/sys/linux/net/getservent.3: Ditto.
	* libc/sys/linux/net/herror.c: Ditto.
	* libc/sys/linux/net/hesiod.3: Ditto.
	* libc/sys/linux/net/hesiod.c: Ditto.
	* libc/sys/linux/net/if_indextoname.3: Ditto.
	* libc/sys/linux/net/inet.3: Ditto.
	* libc/sys/linux/net/inet6_option_space.3: Ditto.
	* libc/sys/linux/net/inet6_rthdr_space.3: Ditto.
	* libc/sys/linux/net/inet_makeaddr.c: Ditto.
	* libc/sys/linux/net/inet_net.3: Ditto.
	* libc/sys/linux/net/inet_network.c: Ditto.
	* libc/sys/linux/net/innetgr-stub.c: Ditto.
	* libc/sys/linux/net/ip6opt.c: Ditto.
	* libc/sys/linux/net/iso_addr.3: Ditto.
	* libc/sys/linux/net/iso_addr.c: Ditto.
	* libc/sys/linux/net/linkaddr.3: Ditto.
	* libc/sys/linux/net/linkaddr.c: Ditto.
	* libc/sys/linux/net/map_v4v6.c: Ditto.
	* libc/sys/linux/net/name6.c: Ditto.
	* libc/sys/linux/net/namespace.h: Ditto.
	* libc/sys/linux/net/ns.3: Ditto.
	* libc/sys/linux/net/ns_addr.c: Ditto.
	* libc/sys/linux/net/ns_ntoa.c: Ditto.
	* libc/sys/linux/net/nsdispatch.3: Ditto.
	* libc/sys/linux/net/nsdispatch.c: Ditto.
	* libc/sys/linux/net/nslexer.c: Ditto.
	* libc/sys/linux/net/nslexer.l: Ditto.
	* libc/sys/linux/net/nsparser.c: Ditto.
	* libc/sys/linux/net/nsparser.h: Ditto.
	* libc/sys/linux/net/nsparser.y: Ditto.
	* libc/sys/linux/net/rcmd.3: Ditto.
	* libc/sys/linux/net/rcmdsh.3: Ditto.
	* libc/sys/linux/net/res_mkupdate.c: Ditto.
	* libc/sys/linux/net/res_update.c: Ditto.
	* libc/sys/linux/net/resolver.3: Ditto.
	* libc/sys/linux/net/rthdr.c: Ditto.
	* libc/sys/linux/net/vars.c: Ditto.
	* libc/sys/linux/shlib-compat.h: New file.
	* libc/sys/linux/machine/i386/atomic.h: Ditto.
	* libc/sys/linux/net/XXX-lookup.c: Ditto.
	* libc/sys/linux/net/alias-lookup.c: Ditto.
	* libc/sys/linux/net/res_libc.c: Ditto.
	* libc/sys/linux/net/aliases.h: Ditto.
	* libc/sys/linux/net/check_pf.c: Ditto.
	* libc/sys/linux/net/databases.def: Ditto.
	* libc/sys/linux/net/digits_dots.c: Ditto.
	* libc/sys/linux/net/ether_aton.c: Ditto.
	* libc/sys/linux/net/ether_aton_r.c: Ditto.
	* libc/sys/linux/net/ether_hton.c: Ditto.
	* libc/sys/linux/net/ether_line.c: Ditto.
	* libc/sys/linux/net/ether_ntoa.c: Ditto.
	* libc/sys/linux/net/ether_ntoa_r.c: Ditto.
	* libc/sys/linux/net/ether_ntoh.c: Ditto.
	* libc/sys/linux/net/etherent.h: Ditto.
	* libc/sys/linux/net/ethers-lookup.c: Ditto.
	* libc/sys/linux/net/function.def: Ditto.
	* libc/sys/linux/net/getXXbyYY.c: Ditto.
	* libc/sys/linux/net/getXXbyYY_r.c: Ditto.
	* libc/sys/linux/net/getXXent.c: Ditto.
	* libc/sys/linux/net/getXXent_r.c: Ditto.
	* libc/sys/linux/net/getaliasent.c: Ditto.
	* libc/sys/linux/net/getaliasent_r.c: Ditto.
	* libc/sys/linux/net/getaliasname.c: Ditto.
	* libc/sys/linux/net/getaliasname_r.c: Ditto.
	* libc/sys/linux/net/gethstbyad.c: Ditto.
	* libc/sys/linux/net/gethstbyad_r.c: Ditto.
	* libc/sys/linux/net/gethstbynm.c: Ditto.
	* libc/sys/linux/net/gethstbynm2.c: Ditto.
	* libc/sys/linux/net/gethstbynm2_r.c: Ditto.
	* libc/sys/linux/net/gethstbynm_r.c: Ditto.
	* libc/sys/linux/net/gethstent.c: Ditto.
	* libc/sys/linux/net/gethstent_r.c: Ditto.
	* libc/sys/linux/net/getnetbyad.c: Ditto.
	* libc/sys/linux/net/getnetbyad_r.c: Ditto.
	* libc/sys/linux/net/getnetbynm.c: Ditto.
	* libc/sys/linux/net/getnetbynm_r.c: Ditto.
	* libc/sys/linux/net/getnetent.c: Ditto.
	* libc/sys/linux/net/getnetent_r.c: Ditto.
	* libc/sys/linux/net/getnetgrent.c: Ditto.
	* libc/sys/linux/net/getnetgrent_r.c: Ditto.
	* libc/sys/linux/net/getnssent.c: Ditto.
	* libc/sys/linux/net/getnssent_r.c: Ditto.
	* libc/sys/linux/net/getproto_r.c: Ditto.
	* libc/sys/linux/net/getprtent.c: Ditto.
	* libc/sys/linux/net/getprtent_r.c: Ditto.
	* libc/sys/linux/net/getprtname.c: Ditto.
	* libc/sys/linux/net/getprtname_r.c: Ditto.
	* libc/sys/linux/net/getrpcbyname.c: Ditto.
	* libc/sys/linux/net/getrpcbyname_r.c: Ditto.
	* libc/sys/linux/net/getrpcbynumber.c: Ditto.
	* libc/sys/linux/net/getrpcbynumber_r.c: Ditto.
	* libc/sys/linux/net/getrpcent.c: Ditto.
	* libc/sys/linux/net/getrpcent_r.c: Ditto.
	* libc/sys/linux/net/getservent_r.c: Ditto.
	* libc/sys/linux/net/getsrvbynm.c: Ditto.
	* libc/sys/linux/net/getsrvbynm_r.c: Ditto.
	* libc/sys/linux/net/getsrvbypt.c: Ditto.
	* libc/sys/linux/net/getsrvbypt_r.c: Ditto.
	* libc/sys/linux/net/grp-lookup.c: Ditto.
	* libc/sys/linux/net/herrno.c: Ditto.
	* libc/sys/linux/net/hosts-lookup.c: Ditto.
	* libc/sys/linux/net/ifaddrs.h: Ditto.
	* libc/sys/linux/net/ifreq.c: Ditto.
	* libc/sys/linux/net/ifreq.h: Ditto.
	* libc/sys/linux/net/in6_addr.c: Ditto.
	* libc/sys/linux/net/inet6_option.c: Ditto.
	* libc/sys/linux/net/inet_mkadr.c: Ditto.
	* libc/sys/linux/net/inet_net.c: Ditto.
	* libc/sys/linux/net/key-lookup.c: Ditto.
	* libc/sys/linux/net/local.h: Ditto.
	* libc/sys/linux/net/netgroup.h: Ditto.
	* libc/sys/linux/net/netgrp-lookup.c: Ditto.
	* libc/sys/linux/net/network-lookup.c: Ditto.
	* libc/sys/linux/net/not-cancel.h: Ditto.
	* libc/sys/linux/net/ns_samedomain.c: Ditto.
	* libc/sys/linux/net/nscd-types.h: Ditto.
	* libc/sys/linux/net/nss.h: Ditto.
	* libc/sys/linux/net/nsswitch.c: Ditto.
	* libc/sys/linux/net/nsswitch.h: Ditto.
	* libc/sys/linux/net/opensock.c: Ditto.
	* libc/sys/linux/net/proto-lookup.c: Ditto.
	* libc/sys/linux/net/pwd-lookup.c: Ditto.
	* libc/sys/linux/net/res_debug.h: Ditto.
	* libc/sys/linux/net/res_hconf.c: Ditto.
	* libc/sys/linux/net/res_hconf.h: Ditto.
	* libc/sys/linux/net/rexec.c: Ditto.
	* libc/sys/linux/net/rpc-lookup.c: Ditto.
	* libc/sys/linux/net/ruserpass.c: Ditto.
	* libc/sys/linux/net/service-lookup.c: Ditto.
	* libc/sys/linux/net/spwd-lookup.c: Ditto.
	* libc/sys/linux/net/nscd/nscd-client.h: Ditto.
	* libc/sys/linux/net/nscd/nscd_proto.h: Ditto.
2008-05-22 21:30:28 +00:00
Jeff Johnston 26432b0bb5 2008-05-14 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/reent.h: Change _REENT_INIT... macros to
        access macro parameter with parentheses around it.
2008-05-14 22:09:10 +00:00
Mark Mitchell df93e6f193 * libc/include/stdint.h (SIZE_MIN): Remove.
(SIZE_MAX): Define.
	* testsuite/newlib.stdlib/stdlib.exp: New.
	* testsuite/newlib.stdlib/size_max.c: Likewise.
2008-05-02 14:52:56 +00:00
Corinna Vinschen 78970a51f3 * libc/include/sys/stat.h: Guard at-functions with !__INSIDE_CYGWIN__.
(fstatat): Fix type of third parameter.
2008-04-26 07:49:39 +00:00
Nick Clifton 51bef6a9c6 * libc/include/machine/ieeefp.h: Fix typo: _DOUBLE_IS_32_BITS
should be _DOUBLE_IS_32BITS.
2008-04-24 11:26:41 +00:00
Corinna Vinschen 0d02384a48 * libc/include/sys/stat.h (UTIME_NOW): Define for Cygwin.
(UTIME_OMIT): Ditto.
	(utimensat): Declare for Cygwin.
	(futimens): Ditto.
2008-04-24 09:39:21 +00:00
Jeff Johnston e2af45bfd1 2008-04-23 Ken Werner <ken.werner@de.ibm.com>
* libc/include/_ansi.h: _LONG_LONG renamed to _LONG_LONG_TYPE.
        * libc/include/math.h: Likewise.
2008-04-23 23:10:54 +00:00
Corinna Vinschen ca48eb65e9 * libc/include/stdio.h (renameat): Declare for Cygwin.
(symlinkat): Ditto.
	* libc/include/sys/unistd.h (readlink): Align declaration to POSIX.
	(faccessat): Declare for Cygwin.
	(fchownat): Ditto.
	(linkat): Ditto.
	(readlinkat): Ditto.
	* libc/include/sys/_default_fcntl.h (AT_FDCWD): Define for Cygwin.
	(AT_EACCESS): Ditto.
	(AT_SYMLINK_NOFOLLOW): Ditto.
	(AT_SYMLINK_FOLLOW): Ditto.
	(AT_REMOVEDIR): Ditto.
	(futimesat): Declare for Cygwin.
	(openat): Ditto.
	(unlinkat): Ditto.
	* libc/include/sys/stat.h (fchmodat): Ditto.
	(fstatat): Ditto.
	(mkdirat): Ditto.
	(mkfifoat): Ditto.
	(mknodat): Ditto.
2008-04-23 11:13:24 +00:00
Jeff Johnston 3ab380aaa8 2008-03-27 Patrick Mansfield <patmans@us.ibm.com>
* libc/include/reent.h: Define _func_r functions in this file to
        func if REENTRANT_SYSCALLS_PROVIDED and MISSING_SYSCALL_NAMES are
        defined.
2008-03-27 23:28:17 +00:00
Corinna Vinschen 4af0c5e8f3 * libc/include/sys/unistd.h: Declare lockf(2) and define lockf
constants when building for Cygwin.
2008-03-27 09:55:05 +00:00
Jeff Johnston c622842865 2008-03-07 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/getopt.h: Hide newlib extensions under
        the __need_getopt_newlib flag.
        * libc/stdlib/getopt.c: #define __need_getopt_newlib before including
        getopt.h.  Put entire code under !HAVE_GETOPT to support platforms
        with their own getopt implementation.
        * configure.host: Specify HAVE_GETOPT for x86-linux.
2008-03-07 18:16:35 +00:00
Jeff Johnston 0382d26727 2008-03-07 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/reent.h(_REENT_SMALL_CHECK_INIT): Specify
        this macro completely instead of referring to CHECK_STD_INIT which
        is only found in libc/stdio/local.h.
        * libc/stdio/dprintf.c: Add include of local.h.
        * libc/stdio/vdprintf.c: Ditto.
        * libc/stdio/vdiprintf.c: Ditto.
2008-03-07 16:45:04 +00:00
Jeff Johnston be62101c60 2008-03-02 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/getopt.h (no_argument): Added for glibc compatibility.
        (required_argument, optional_argument): Ditto.
2008-03-03 19:47:59 +00:00
Jeff Johnston 76ff710cfa 2008-02-29 Gregory Pietsch <gpietsch@comcast.net>
* libc/stdlib/getopt.c (getopt_internal): Rewrite to accept
        data area so as to support reentrant calls.  Change all callers
        to fill in data area with global values and restore any changes
        to the global values after call.
        (__getopt_r, __getopt_long_r, __getopt_long_only_r): New routines
        to support reentrancy that add a data area argument.
        * libc/include/getopt.h: Add new _r routines and provide macros
        so they can be called with using double-underscores.
2008-02-29 21:11:57 +00:00
Corinna Vinschen 12df8a5b53 * libc/include/machine/setjmp.h (__SIGMASK_FUNC): Define as
pthread_sigmask or sigprocmask depending on _POSIX_THREADS.
	(sigsetjmp): Use __SIGMASK_FUNC.
	(siglongjmp): Ditto.
	(_setjmp): Define as macro.
	(_longjmp): Ditto.
2008-01-15 09:41:06 +00:00
Eric Blake 40617efc8b Make strstr and strcasestr O(n), not O(n^2); add memmem.
* libc/string/str-two-way.h: New file.
* libc/string/memmem.c (memmem): New file.
* libc/include/string.h (memmem): Declare for all platforms.
* libc/string/strstr.c (strstr): Provide O(n) implementation when
not optimizing for space.
* libc/string/strcasestr.c (strcasestr): Likewise.
* libc/string/Makefile.am (ELIX_SOURCES): Rename to...
(ELIX_2_SOURCES): ...this.
(ELIX_4_SOURCES): New category, for memmem.
(lib_a_SOURCES, libstring_la_SOURCES): Build new file.
(CHEWOUT_FILES): Build documentation for memmem.
* libc/string/strings.tex: Include new docs.
2008-01-12 04:25:55 +00:00
Jeff Johnston a639937a9a 2008-01-03 Jeff Johnston <jjohnstn@redhat.com>
Make isatty syscall handling consistent with other newlib syscalls.

        * libc/include/_syslist.h: Add _isatty.
        * libc/include/reent.h: Add _isatty_r.
        * libc/include/sys/unistd.h: Add _isatty.
        * libc/posix/Makefile.am: Add new _isatty.c file.
        * libc/posix/Makefile.in: Regenerated.
        * libc/posix/_isatty.c: New file.
        * libc/posix/isatty.c: Changed to call _isatty().
        * libc/reent/Makefile.am: Add new isattyr.c file.
        * libc/reent/Makefile.in: Regenerated.
        * libc/reent/isattyr.c: New file.
        * libc/stdio/freopen.c: Changed to call _isatty_r().
        * libc/stdio/makebuf.c: Ditto.
        * libc/sys/a29khif/_isatty.S: Change isatty to _isatty.
        * libc/sys/arc/isatty.c: Ditto.
        * libc/sys/arm/syscalls.c: Ditto.
        * libc/sys/d10v/syscalls.c: Ditto.
        * libc/sys/h8300hms/syscalls.c: Ditto.
        * libc/sys/h8500hms/syscalls.c: Ditto.
        * libc/sys/linux/Makefile.am: Add new isatty.c file.
        * libc/sys/linux/Makefile.in: Regenerated.
        * libc/sys/linux/isatty.c: New file.
        * libc/syscalls/Makefile.am: Add new sysisatty.c file.
        * libc/syscalls/Makefile.in: Regenerated.
        * libc/syscalls/sysisatty.c: New file.
2008-01-03 22:33:37 +00:00
Jeff Johnston 3cc8a378d1 2007-12-19 Dave Korn <dave.korn@artimi.com>
Jeff Johnston  <jjohnstn@redhhat.com>

        * libc/include/_ansi.h: Add _LONG_LONG definition.
        * libc/include/math.h (llrint, llrintf, rintl, lrintl, llrintl): Add
        prototypes.
        * libc/machine/i386/machine/fastmath.h: Add support for new i386
        fast math versions of rint, lrint, and llrint family functions.
        * libm/machine/i386/Makefile.am: Add new files.
        * libm/machine/i386/Makefile.in: Regenerated.
        * libm/machine/i386/f_llrint.c, libm/machine/i386/f_lrint.c,
        libm/machine/i386/f_rint.c, libm/machine/i386/f_llrintf.c,
        libm/machine/i386/f_lrintf.c, libm/machine/i386/f_rintf.c,
        libm/machine/i386/f_llrintl.c, libm/machine/i386/f_lrintl.c,
        libm/machine/i386/f_rintl.c:  New files with fast math implementations.
2007-12-19 22:20:25 +00:00
Jeff Johnston 41e94f2488 2007-12-19 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/features.h: Add checks for C90 compilers using
        -ansi.
2007-12-19 18:51:19 +00:00
Jeff Johnston 7f9b49e427 2007-11-15 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/_default_fcntl.h: New header file that
        is the default version of sys/fcntl.h.
        * libc/include/sys/fcntl.h: Changed to simply include
        sys/_default_fcntl.h.
        * libc/sys/arm/sys/fcntl.h: New file that includes
        sys/_default_fcntl.h and defines O_BINARY.
2007-12-19 18:49:17 +00:00
Corinna Vinschen ac26b72723 * libc/include/wchar.h: Add prototypes for wcpcpy and wcpncpy.
* libc/string/Makefile.am (ELIX_SOURCES): Add wcpcpy.c and
	wcpncpy.c.
	(CHEWOUT_FILES): Add wcpcpy.def and wcpncpy.def.
	* libc/string/Makefile.in: Regenerate.
	* libc/string/wcpcpy.c: New file.
	* libc/string/wcpncpy.c: New file.
	* libc/string/wcstrings.tex: Add wcpcpy and wcpncpy.
2007-12-19 17:33:12 +00:00
Corinna Vinschen 815774e87f * libc/include/sys/unistd.h: Remove Cygwin definition of MAXPATHLEN. 2007-11-08 16:20:12 +00:00
Dave Brolley 7b4cad4ae6 2007-11-07 Dave Brolley <brolley@redhat.com>
* libc/machine/configure: Regenerated to pick up mep-elf changes.

        * Contribute mep-elf from Red Hat
        2006-10-27  DJ Delorie  <dj@redhat.com>

        * libc/include/machine/setjmp.h: Add MeP support.

        2003-04-17  DJ Delorie  <dj@redhat.com>

        * configure.host (mep-*-*): Support "long long" type.

        2001-06-06  DJ Delorie  <dj@redhat.com>

        * libc/include/machine/ieeefp.h (mep): Support little endian too.

        2001-05-14  DJ Delorie  <dj@redhat.com>

        * configure.host: Add mep's machine_dir.
        * libc/include/setjmp.h: Add mep support.
        * libc/machine/mep: New.
        * libc/machine/mep/setjmp.S: New, support mep's setjmp/longjmp.

        2001-05-04  DJ Delorie  <dj@redhat.com>

        * configure.host: Add mep.
        * libc/include/machine/ieeefp.h: Ditto.
2007-11-07 21:42:24 +00:00
Jeff Johnston 2f3d28fca2 2007-09-21 Patrick Mansfield <patmans@us.ibm.com>
* libc/include/sched.h: New file, just include sys/sched.h.
        * libc/machine/spu/sys/sched.h: New file, has just sched_yield
        prototype.
        * libc/machine/spu/sys/utime.h: New file, has utime prototype and
        struct utimbuf definition.
2007-09-21 21:02:15 +00:00
Jeff Johnston cebf33e402 2007-09-18 Patrick Mansfield <patmans@us.ibm.com>
* libc/include/sys/types.h: Use __dev_t, __uid_t, and __gid_t to
        typedef dev_t, gid_t, and uid_t.
        * libc/include/sys/_types.h: Move previous dev_t, uid_t and gid_t
        types.h code to here, but typedef __dev_t, __uid_t, and __gid_t instead.
        Change to lower case for all __foo_t_defined names.
        * libc/machine/spu/machine/_types.h: Add SPU specific __dev_t,
        __uid_t, and __gid_t making them all four bytes. Change to lower case
        for all __foo_t_defined names.
2007-09-18 20:05:17 +00:00
Jeff Johnston e5ae72300f 2007-09-07 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/_types.h: Protect all types with flag
        checks to allow definition in machine/_types.h.
2007-09-07 21:24:55 +00:00
Jeff Johnston dde223343c 2007-09-07 Patrick Mansfield <patmans@us.ibm.com>
* libc/include/machine/_default_types.h: New file, contains what
	was previously in libc/include/machine/_types.h.
	* libc/include/machine/_types.h: Now only includes
	machine/_default_types.h.
	* libc/include/sys/reent.h: Remove _fpos_t and _fpos64_t.
	* libc/include/sys/_types.h: Move _fpos_t and _fpos64_t to here,
	with conditional declarations.
	* libc/machine/spu/machine/_types.h: New file, add SPU specific
	typedefs for _fpos_t and _fpos64_t.
2007-09-07 21:16:25 +00:00