Commit Graph

1734 Commits

Author SHA1 Message Date
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
Jeff Johnston 0de7cf04f3 2010-08-03 Craig Howland <howland@LGSInnovations.com>
* libm/common/s_lrint.c (lrint):  Annotate shift operations with
        possible shift amount ranges, and use SAFE_RIGHT_SHIFT to avoid
        undefined behaviour.
        * libm/common/s_llrint.c (llrint):  Likewise.
        * libm/common/s_lround.c (lround):  Correct some comments on ranges.
        * libm/common/s_llround.c (llround):  Likewise.
2010-08-03 18:21:20 +00:00
Anthony Green 5a7e00a866 Add moxie-rtems support. 2010-07-30 07:40:26 +00:00
Jeff Johnston d95769ebd6 2010-07-23 Naveen.H.S <naveenh1@kpitcummins.com>
Gina Verlekar <gina.verlekar@kpitcummins.com>

        * configure.host: Compact v850* support and add
        check for newlib_may_supply_syscalls.
        * libc/sys/sysnecv850/Makefile.am: Add support for
        '--disable-newlib-supplied-syscalls' option.
        * libc/sys/sysnecv850/Makefile.in: Regenerated.
2010-07-23 18:11:27 +00:00
Dave Korn e561d3e77e * libm/common/fdlibm.h (SAFE_LEFT_SHIFT): New macro definition.
(SAFE_RIGHT_SHIFT): Likewise.
	* libm/common/s_llround.c (llround): Annotate shift operations with
	possible shift amount ranges, and use SAFE_RIGHT_SHIFT to avoid
	undefined behaviour.
	* libm/common/s_lround.c (lround): Likewise.
2010-07-20 01:33:05 +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 efc428827b * libc/posix/rewinddir.c (rewinddir): Remove incorrect cast to off_t.
* libc/sys/rtems/sys/dirent.h (_seekdir): Add prototype.
	* libc/sys/linux/sys/dirent.h (_seekdir): Fix prototype to use long
	rather than off_t.
2010-07-06 15:23:27 +00:00
Corinna Vinschen deb427382c Fix email address 2010-07-01 19:04:28 +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
Jeff Johnston 58d6976a6e 2010-06-08 Jeff Johnston <jjohnstn@redhat.com>
* configure.in: Add test for enable-newlib-register-fini
        to set the _WANT_REGISTER_FINI flag.
        * configure: Regenerated.
        * Makefile.in: Ditto.
        * newlib.hin: Add _WANT_REGISTER_FINI flag.
        * libc/stdlib/__call_atexit.c: Add test for
        _WANT_REGISTER_FINI to enable the register_fini function.
2010-06-08 18:44:14 +00:00
Jeff Johnston ced5f59df9 2010-06-04 Mark Mitchell <mark@codesourcery.com>
* libc/stdlib/__call_atexit.c (__libc_fini): Declare.
        (register_fini): New function.
        * libc/misc/init.c (_fini): Remove.
        (__libc_fini_array): Likewise.
        * libc/misc/fini.c: New file.
        * libc/misc/Makefile.am (LIB_SOURCES): Add fini.c.
        * libc/misc/Makefile.in: Regenerate.
2010-06-04 15:30:40 +00:00
Jeff Johnston 4f5feab5ea 2010-05-31 Kazu Hirata <kazu@codesourcery.com>
* libc/stdlib/mallocr.c (malloc_extend_top): Backport the
        difference between versions 2.6.4 and 2.6.5.
2010-05-31 19:15:41 +00:00
Christopher Faylor 8f01c77516 * libc/string/strsignal.c (strsignal): Avoid duplicate case statement where
SIGPWR == SIGLOST.
2010-05-18 14:52:38 +00:00
Jeff Johnston ca52bf1705 2010-05-11 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/__call_atexit.c: Fix lock to be of type
        _LOCK_RECURSIVE_T as recursive usage is needed.
2010-05-11 20:41:37 +00:00
Jeff Johnston 60bdafbbda 2010-05-11 Jeff Johnston <jjohnstn@redhat.com>
* libc/locale/locale.c (loadlocale): Fix dangling
        switch statement caused by __HAVE_LOCALE_INFO__ not being
        defined.
2010-05-11 20:40:14 +00:00
Jeff Johnston eb2c2b6e6e 2010-05-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* libc/string/strsignal.c: New file.
        * libc/string/Makefile.am: Add support for strsignal.
        * libc/string/strings.tex: Ditto.
        * libc/string/Makefile.in: Regenerated.
2010-05-11 20:27:20 +00:00
DJ Delorie 93b103586f * libc/Makefile.am (stmp-sigset, stmp-iconvset, stmp-extra,
stmp-stdio64, stmp-posix,stmp-targetdep): Use unique temporary
file names to allow for parallel installs.
(CLEANFILES): Add new temporary file names.
* libc/Makefile.in: Regenerate.
2010-05-06 23:25:16 +00:00
Corinna Vinschen 7edacc4997 * libc/locale/lctype.c: Include <string.h> and "setlocale.h".
(_C_ctype_locale): Add braces to initializer.
	(__ctype_load_locale): Fix compiler warnings in non-Cygwin case.
	* libc/locale/nl_langinfo.c (nl_langinfo): Expose _NL_CTYPE_MB_CUR_MAX
	case only if __HAVE_LOCALE_INFO__ is defined.
2010-05-03 09:25:32 +00:00
Corinna Vinschen ffa42cf6a0 * libc/stdlib/wctob.c (wctob): Reorganize and fix WEOF check. Rename
pwc to pmb and convert to array to avoid buffer overflow.  Rename c to
	wc.  Check wc for WEOF instead of for EOF.  Return first byte of pmb if
	__wctomb conversion returned exactly one byte, EOF otherwise.
2010-05-02 11:55:01 +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
DJ Delorie 948214b000 * libc/Makefile.am (SUBDEFS): Add LIBC_POSIX_DEF.
(libc.info): Add posix.texi.
(libc.dvi): Likewise.
(stmp-posix): New.
(posix.texi): New.
(libc_TEXINFOS): Add posix.texi.
* libc/configure.in (LIBC_POSIX_LIB, LIBC_POSIX_DEF): Add
tests.
* libc/libc.texinfo: Include posix.texi
* libc/locale/locale.c: Fix texinfo typo.
* libc/time/strftime.c: Fix texinfo typo.

* libc/configure: Regenerate.
* libc/Makefile.in: Regenerate.
* libc/argz/Makefile.in: Regenerate.
* libc/ctype/Makefile.in: Regenerate.
* libc/errno/Makefile.in: Regenerate.
* libc/iconv/Makefile.in: Regenerate.
* libc/iconv/ccs/Makefile.in: Regenerate.
* libc/iconv/ccs/binary/Makefile.in: Regenerate.
* libc/iconv/ces/Makefile.in: Regenerate.
* libc/iconv/lib/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.
* libc/xdr/Makefile.in: Regenerate.
2010-04-22 23:32:42 +00:00
Jeff Johnston 5f46e4094f 2010-04-06 Dave Korn <dave.korn.cygwin@googlemail.com>
* libc/stdlib/__atexit.c (__atexit_lock): Initialise as recursive
        rather than non-recursive lock type.
        (__register_exitproc): Use recursive locking APIs on it.
        * libc/stdlib/__call_atexit.c (__call_exitprocs): Likewise.
2010-04-06 20:20:36 +00:00
Corinna Vinschen 65ee447a02 * libc/stdlib/btowc.c (btowc): Reorganize EOF check. Fix incorrect
return value if input byte is ASCII NUL.
2010-04-06 14:46:31 +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 eca2df4f01 * libc/locale/locale.c (loadlocale): Optimize "EUC" charset check.
Cygwin only: Allow GB2312 and EUC-CN as alternative codeset names
	for GBK.  Add to documentation.
	* libc/locale/nl_langinfo.c (nl_langinfo): On Cygwin, translate EUCCN
	to GB2312.
2010-03-27 21:04:49 +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 fab7d5988a 2010-03-09 Jeff Johnston <jjohnstn@redhat.com>
* libc/posix/telldir.c (dd_loccnt): Change start index to be 1
        instead of 0.
        (_seekdir): A loc of 0 now means rewind dir.
2010-03-09 20:38:18 +00:00
Jeff Johnston 23a6adc2c3 2010-03-08 Craig Howland <howland@LGSInnovations.com>
* libm/common/s_rint.c:  Fix error when integral part had 18 bits and
        fraction had bits set beyond first radix bit.  Also, make 2-part
        adjustment consistent with 1-part adjustment when adjusting fractional
        bits.
        * libm/common/sf_rint.c:  Make fractional-bit adjustment consistent
        with s_rint.c by setting 0b.01 instead of 0b.001.
2010-03-08 17:16:37 +00:00
Corinna Vinschen b73e65bb44 * libm/math/ef_sqrt.c: Delete unused variable sign.
* libc/stdlib/getenv.c: Delete "char *_findenv_r ();", as is not a
	proper prototype, and is properly prototyped in stdlib.h, anyway.
	* libc/stdlib/getenv_r.c: Ditto.
	* libc/search/hash.c: Add _DEFUN to __hash_open() declaration; add
	#define __DBINTERFACE_PRIVATE to activate prototypes from db_local.h.
	* libc/search/db_local.h: Correct __hash_open() prototype.
	* libc/sys/linux/cmath/math_private.h:  Eliminate compiler warnings:
	Remove #define INFINITY (redefines from math.h); remove #define __isnanf
	and #define __isinff isinff.
2010-03-05 08:55:16 +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 8acb1969b5 * libc/xdr/Makefile.in: Regenerate. 2010-03-02 12:21:52 +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 79ca6b6fd2 * libm/common/s_ilogb.c: Fix typo in comments that causes doc
generation to fail.
2010-02-26 09:44:25 +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 7c3c3fea6d * libc/locale/locale.c (loadlocale): Fix typo in comment. 2010-02-25 16:16:16 +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 9035cfbd12 2010-02-24 Charles Wilson <...>
Work around issues with new libtool files in ..
        * configure.in: Unconditionally call _LT_PROG_ECHO_BACKSLASH.
        * iconvdata/configure.in: Ditto.
        * libc/configure.in: Ditto.
        * libc/machine/configure.in: Ditto.
        * libc/machine/i386/configure.in: Ditto.
        * libc/sys/configure.in: Ditto.
        * libc/sys/linux/configure.in: Ditto.
        * libc/sys/linux/linuxthreads/configure.in: Ditto.
        * libc/sys/linux/linuxthreads/machine/configure.in: Ditto.
        * libc/sys/linux/linuxthreads/machine/i386/configure.in: Ditto.
        * libc/sys/linux/machine/configure.in: Ditto.
        * libc/sys/linux/machine/i386/configure.in: Ditto.
        * libm/configure.in: Ditto.
        * libm/machine/configure.in: Ditto.
        * libm/machine/i386/configure.in: Ditto.
        * libc/machine/sh/configure.in: Ditto.  Also, call
        AC_NO_EXECUTABLES before NEWLIB_CONFIGURE.
        * aclocal.m4: Regenerated.
        * configure: Ditto.
        * Makefile.in: Ditto.
        * doc/aclocal.m4: Ditto.
        * doc/Makefile.in: Ditto.
        * libc/*/aclocal.m4: Ditto.
        * libc/*/Makefile.in: Ditto.
        * libc/*/configure: Ditto.
        * libm/*/aclocal.m4: Ditto.
        * libm/*/Makefile.in: Ditto.
        * libm/*/configure: Ditto.
2010-02-24 21:00:08 +00:00
Jeff Johnston ba7b214766 2010-02-24 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/__call_exit.c: Add include of sys/lock.h.
2010-02-24 19:58:17 +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
Corinna Vinschen 7ab414f5a0 * libc/ctype/iswalpha.c (iswalpha): Update to Unicode 5.2.
* libc/ctype/iswprint.c (iswprint): Ditto.
	* libc/ctype/iswpunct.c (iswpunct): Drop standalone implementation.
	Define in terms of other wctype functions instead.
	* libc/ctype/towlower.c (towlower): Update to Unicode 5.2.  Add comment
	to explain how to fetch the data from the Unicode database.
	* libc/ctype/towupper.c (towupper): Ditto.
	* libc/ctype/utf8alpha.h: Ditto.
	* libc/ctype/utf8print.h: Ditto.
	* libc/ctype/utf8punct.h: Remove.
	* libc/ctype/iswcntrl.c (iswcntrl): Add comment to explain how to
	fetch the data from the Unicode database.
2010-02-18 20:37:19 +00:00
Corinna Vinschen f723b60cf2 * libc/locale/timelocal.h (struct lc_time_T): Add missing ERA-related
members.
	* libc/locale/timelocal.c (_C_time_local): Set new members to empty
	strings.
	* libc/locale/nl_langinfo.c (nl_langinfo): Return values from
	__get_current_time_locale() for ERA related requests.
2010-02-18 17:35:15 +00:00
Corinna Vinschen dc7992f47e * libc/ctype/iswblank.c (iswblank): Remove Unicode characters
U+00A0 and U+200B.  Add Unicode character U+180E.  Add comment
	to explain how to generate from Unicode data file.
	* libc/ctype/iswspace.c (iswspace): Ditto.
2010-02-17 09:14:35 +00:00
Corinna Vinschen 38d09c90de * libc/stdio/vfwprintf.c (_VFWPRINTF_R): Apply previous patch here
as well.
2010-02-15 16:29:15 +00:00
Corinna Vinschen b85c06ba36 * libc/stdio/vfprintf.c (_VFPRINTF_R): Drop printing a redundant
decimal point in case the float argument is an integral value.
2010-02-15 16:10:28 +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
Jeff Johnston 451a8eb09a 2010-02-11 Craig Howland <howland@LGSInnovations.com>
* libm/common/s_ilogb.c:  Adjust documentation to reflect new returns
        (see next items) and that ilogb() and ilogbf() are C99/POSIX.
        * libm/common/s_ilogb.c (ilogb):  Use C99/POSIX FP_ILOGB0 and
        FP_ILOGBNAN returns for 0 and NAN arguments, respectively, instead of
        the prior -INT_MAX and INT_MAX.  The FP_ILOGBx defines in math.h
        presently match the prior hard-codes, so no functional change is
        actually introduced.  (Not at this time, nor planned, but the values
        are permitted to be different, so subsequent edits of math.h could
        possibly cause a functional change.)
        * libm/common/sf_ilogb.c (ilogbf):  Ditto.
2010-02-11 21:00:33 +00:00
Jeff Johnston 5880fbf783 2010-02-09 Daniel Gutson <dgutson@codesourcery.com>
* libc/machine/arm/arm_asm.h (_ISA_THUMB_2): __ARM_ARCH_7EM__
        added to the preprocessor condition.
2010-02-09 22:52:21 +00:00
Corinna Vinschen 1cea6189a3 * libc/locale/lmessages.c (__messages_load_locale): Take additional
parameters for wide char to multibyte conversion.  Call
	__set_lc_messages_from_win on Cygwin.
	* libc/locale/lmessages.h: Make C++-safe.
	(__messages_load_locale): Change declaration.
	* libc/locale/lmonetary.c (__monetary_load_locale): Use
	_monetary_locale_buf as buffer pointer.
	* libc/locale/lnumeric.c (__numeric_load_locale): Use
	_numeric_locale_buf as buffer pointer.
	* libc/locale/timelocal.c (__time_load_locale): Use time_locale_buf
	as buffer pointer.
	* libc/locale/locale.c (loadlocale): Enable loading LC_MESSAGES data
	on Cygwin.
2010-02-09 08:58:38 +00:00
Jeff Johnston cf9d06b149 2010-02-08 Josef Wolf <jw@raven.inka.de>
* libc/machine/m68k/memcpy.S: MISALIGEND_OK should not be set for
        __mcpu32__.
2010-02-08 17:24:22 +00:00
Corinna Vinschen 9ac5e663e8 * libc/locale/locale.c: Add Cygwin's /usr/share/locale/locale.alias
support to documentation.
	(__set_locale_from_locale_alias): Declare when build for Cygwin.
	(loadlocale): On Cygwin, if locale can't be recognized, call
	__set_locale_from_locale_alias to check for locale alias.
	Define FAIL macro to replace `return NULL' statements.  Replace
	throughout.
2010-02-07 13:52:34 +00:00
Corinna Vinschen bc3677c557 * libc/locale/locale.c: Fix typo in documentation. Remove useless
_MB_CAPABLE guards within other _MB_CAPABLE guards.  Add comment
	to remaining #endif's.
2010-02-07 12:57:48 +00:00
Corinna Vinschen 5eb556c849 * libc/ctype/ctype_cp.h (_CTYPE_GEORGIAN_PS_128_254): Define.
(_CTYPE_GEORGIAN_PS_255): Define.
	(_CTYPE_PT154_128_254): Define.
	(_CTYPE_PT154_255): Define.
	(__ctype_cp): Add array members for above ctype definitions.
	* libc/locale/locale.c (loadlocale): Make TIS-620 charset name
	available for all targets.  Add guards for setting the conversion
	function pointers.  Add support for GEORGIAN-PS and PT154 charsets.
	Change documentation to reflect current behaviour more closely.
	* libc/locale/nl_langinfo.c (nl_langinfo): On Cygwin, translate
	"CP101" to "GEORGIAN-PS" and "CP102" to "PT154".
	* libc/stdlib/sb_charsets.c (__cp_conv): Add conversion arrays
	for GEORGIAN-PS and PT154.
	(__cp_index): Map invalid Windows codepage number 101 to
	GEORGIAN-PS conversion array, 102 to PT154 conversion array.
2010-02-06 18:28:33 +00:00
Corinna Vinschen ff348d86cc * libc/posix/telldir.c: Remove bogus nested prototype of lseek(). 2010-02-06 10:32:20 +00:00
Corinna Vinschen 837dda8652 * libc/locale/locale.c (loadlocale): Handle ISO-8859 and KOI8 charsets
so that the dashes are optional.  Align documentation.
2010-02-05 21:24:42 +00:00
Corinna Vinschen b0776ebd41 * libc/stdio/vfprintf.c: Include locale.h also if _WANT_IO_C99_FORMATS
is defined.  Raise conversion buffer size to make sure it has enough
	room for numbers plus grouping character.  Define GROUPING flag.
	(_VFPRINTF_R): Add PRINTANDPAD macro.  Handle grouping flag character.
	Handle grouping for decimal integer and float values.
	* libc/stdio/vfwprintf.c: Ditto.
2010-02-05 08:35:35 +00:00
Christopher Faylor fa40bd922e * libc/stdlib/__atexit.c (__atexit_lock): Define a global lock for atexit
functions.
(__register_exitproc): Use __atexit_lock rather than a local static lock.
* libc/stdlib/__call_atexit.c: Ditto.
2010-02-04 17:57:30 +00:00
Jeff Johnston 2d69f00e6e 2010-01-29 Jeff Johnston <jjohnstn@redhat.com>
* libc/search/Makefile.am: Create .def files for bsearch and qsort.
        * libc/search/Makefile.in: Regenerated.
        * libc/stdlib/stdlib.tex: Add bsearch and qsort.
2010-01-29 23:04:21 +00:00
Corinna Vinschen 88116ad22e * libc/locale/nl_langinfo.c (nl_langinfo): Return "CP932" when using
SJIS on Cygwin.  Explain why.
2010-01-24 12:18:20 +00:00
Corinna Vinschen b0466b3702 * libc/locale/locale.c (loadlocale): Allow CP932 as alias for SJIS.
Add to documentation.  Add a few comments to #endif's for Cygwin.
2010-01-23 16:41:08 +00:00
Corinna Vinschen c631824a8e * libc/locale/locale.c (loadlocale): Disable JIS entirely on Cygwin.
Allow TIS620 and TIS-620 as aliases for CP874 on Cygwin.
2010-01-23 14:32:25 +00:00
Corinna Vinschen fe57329f99 * libc/locale/lmonetary.c (__monetary_load_locale): Take additional
parameters for wide char to multibyte conversion.  Call
	__set_lc_monetary_from_win on Cygwin.
	* libc/locale/lmonetary.h: Make C++-safe.
	(__monetary_load_locale): Change declaration.
	* libc/locale/lnumeric.c (__numeric_load_locale): Take additional
	parameters for wide char to multibyte conversion.  Call
	__set_lc_numeric_from_win on Cygwin.
	* libc/locale/lnumeric.h: Make C++-safe.
	(__numeric_load_locale): Change declaration.
	* libc/locale/locale.c (lconv): De-constify for Cygwin.
	(__set_charset_from_locale): Rename from
	__set_charset_from_codepage.  Take locale as parameter instead of
	a codepage.
	(loadlocale): Allow "EUC-JP" for "EUCJP" and "EUC-KR" for "EUCKR".
	Change documnetation accordingly.  Enable LC_COLLATE, LC_MONETARY,
	LC_NUMERIC, and LC_TIME handling on Cygwin.
	(_localeconv_r): On Cygwin, copy values from monetary and numeric
	domain if change has been noted.
	* libc/locale/nl_langinfo.c (nl_langinfo): Accommodate change of
	am/pm layout in struct lc_time_T.
	* libc/locale/timelocal.c (_C_time_locale): Accommodate
	redefinition of am/pm members.
	(__time_load_locale): Take additional parameters for wide char
	to multibyte conversion.  Call __set_lc_time_from_win on Cygwin.
	* libc/locale/timelocal.h: Make C++-safe.
	(struct lc_time_T): Convert am and pm to a am_pm array for easier
	consumption by strftime and strptime.
	(__time_load_locale): Change declaration.
	* libc/time/strftime.c: Change documentation to reflect changes to
	strftime.  Remove locale constant strings in favor of access to
	locale-specifc data.
	(_ctloc): Define access method for locale-specifc data.
	(TOLOWER): Define for tolower conversion.
	(strftime): Throughout, convert locale-specific formats to use
	locale-specific data.  Add GNU-specific "%P" format.
	* libc/time/strptime.c: Remove locale constant strings in favor of
	access to locale-specifc data.
	(_ctloc): Define access method for locale-specifc data.
	(strptime): Throughout, convert locale-specific formats to use
	locale-specific data.
2010-01-22 13:03:42 +00:00
Corinna Vinschen 514329a7ec * libc/locale/nl_langinfo.c (nl_langinfo): On Cygwin, translate
often-used charsets into Linux compatible codesets.
2010-01-20 13:18:24 +00:00
Jeff Johnston 044cd63533 2010-01-19 Andy Koppe <andy.koppe@gmail.com>
* libc/stdio/vfscanf.c (__SVFSCANF_R): Fix handling of non-ASCII
        characters and allow invalid bytes in format string.
2010-01-19 23:16:45 +00:00
Corinna Vinschen 8c72ebb7e0 * libc/stdlib/wcstombs_r.c (_wcstombs_r): Handle invalid characters
correctly also in the s==NULL case.
2010-01-19 21:14:53 +00:00
Corinna Vinschen da5f018bef * libc/locale/locale.c (loadlocale): Change comments to refer to
ISO 639-3 rather than 639-2.
2010-01-17 14:57:32 +00:00
Corinna Vinschen d24015235c * libc/locale/locale.c (loadlocale): Allow three character
language codes to accommodate ISO 639-2 codes.
2010-01-17 14:41:58 +00:00
Corinna Vinschen 32cb8c8cfe * libc/locale/locale.c (lc_ctype_charset): Disable defaulting to
"UTF-8" on Cygwin.
	(lc_message_charset): Ditto.
	(loadlocale): Disable setting charset of the "C" locale to "UTF-8" on
	Cygwin.
	* libc/stdlib/mbtowc_r.c (__mbtowc): Add Cygwin-specific comment.
	* libc/stdlib/wctomb_r.c (__wctomb): Ditto.
2010-01-17 09:39:06 +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
Corinna Vinschen 131dbdfccb Drop accidentally applied ChangeLog entry. 2010-01-14 12:49:43 +00:00
Corinna Vinschen 0b82c17d57 * libc/stdio/vfprintf.c (_VFPRINTF_R): Just wave bytes invalid in
the current charset through.
2010-01-14 12:48:58 +00:00
Jeff Johnston eeda30d7d5 2010-01-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libc/posix/telldir.c (_cleanupdir): Fixed usage of freed memory.
2010-01-11 23:24:47 +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
Corinna Vinschen 2b77087a48 * libc/stdlib/mbtowc_r.c (__ascii_mbtowc): Disallow conversion of
non-ASCII chars on Cygwin.
	* libc/stdlib/wctomb_r.c (__ascii_wctomb): Ditto.
2010-01-10 13:54:34 +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 a390368122 2009-12-17 Jeff Johnston <jjohnstn@redhat.com>
* NEWS: Update with 1.18.0 info.
        * README: Ditto.
        * acinclude.m4: Change version number to 1.18.0.
        * aclocal.m4: Regenerated.
        * configure: Ditto.
        * doc/aclocal.m4: Ditto.
        * doc/configure: Ditto.
        * libc/*/aclocal.m4: Ditto.
        * libc/*/configure: Ditto.
        * libc/libc.texinfo: Ditto.
        * libm/*/aclocal.m4: Ditto.
        * libm/*/configure: Ditto.
        * libm/libm.texinfo: Ditto.
        * libc/sys/linux/shared.ld: Add VERS_1.18
2009-12-17 20:41:44 +00:00
Jeff Johnston 296df5189a 2008-12-17 Jeff Johnston <jjohnstn@redhat.com>
* NEWS: Update with 1.18.0 info.
        * README: Ditto.
        * acinclude.m4: Change version number to 1.18.0.
        * aclocal.m4: Regenerated.
        * configure: Ditto.
        * doc/aclocal.m4: Ditto.
        * doc/configure: Ditto.
        * libc/*/aclocal.m4: Ditto.
        * libc/*/configure: Ditto.
        * libc/libc.texinfo: Ditto.
        * libm/*/aclocal.m4: Ditto.
        * libm/*/configure: Ditto.
        * libm/libm.texinfo: Ditto.
        * libc/sys/linux/shared.ld: Add VERS_1.18
2009-12-17 20:40:06 +00:00
Jeff Johnston bbe9636fd8 2009-12-17 Jerker Back <jerker.back@gmail.com>
* libc/iconv/lib/local.h[!__GNUC__]: Add alternative version of
        ICONV_ZERO_MB_STATE_T macro.
        * libc/iconv/lib/ucsconv.c (ucs_based_conversion_get_state): Use
        temporary local variable nullstate to hold empty mbstate_t.
2009-12-17 20:04:43 +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 375dbb9d4c 2009-12-16 Ralf Corsépius <ralf.corsepius@rtems.org>
* libc/sys/rtems/machine/_types.h: New (Derived from
        machine/_default_types.h).
        * libc/sys/rtems/crt0.c: Rework. Introduce macro RTEMS_STUB.
        * libc/sys/rtems/sys/param.h:
        Update copyright notice from FreeBSD.
        Remove HZ.
        Add #include <sys/priority.h>
        Remove priority handling (moved to sys/priority.h).
        Remove CLBYTES (Unused, abandoned in BSD).
        * libc/sys/rtems/sys/queue.h: Update copyright (from FreeBSD).
        Remove CIRCLEQ_*.

2
2009-12-17 16:10:41 +00:00
Jeff Johnston 377b190270 2009-12-16 Joel Sherrill <joel.sherrill@oarcorp.com>
* libc/sys/rtems/machine/param.h: Only use sizeof(double) -1
        for ALIGNBYTES on SPARC.
2009-12-16 21:35:51 +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 39e5af4aed 2009-12-16 Ralf Corsépius <ralf.corsepius@rtems.org>
* libc/search/hcreate.c: Don't include <sys/queue.h> (Unused).
2009-12-16 18:30:20 +00:00
Jeff Johnston 32a08d0e75 2009-12-16 Ralf Corsépius <ralf.corsepius@rtems.org>
* libc/sys/rtems/machine/_types.h: New (Derived from
        machine/_default_types.h).
        * libc/sys/rtems/crt0.c: Rework. Introduce macro RTEMS_STUB.
        * libc/sys/rtems/sys/param.h:
        Update copyright notice from FreeBSD.
        Remove HZ.
        Add #include <sys/priority.h>
        Remove priority handling (moved to sys/priority.h).
        Remove CLBYTES (Unused, abandoned in BSD).
        * libc/sys/rtems/sys/queue.h: Update copyright (from FreeBSD).
        Remove CIRCLEQ_*.
2009-12-16 18:28:15 +00:00
Jeff Johnston 47c756dd7a 2009-12-15 Conny Marco Menebrocker <c-m-m@gmx.de>
* libc/machine/xc16x/Makefile.am: Fix typo and refer
        to puts.c instead of putc.c.
        * libc/machine/xc16x/Makefile.in: Regenerated.
2009-12-15 19:34:08 +00:00
Jeff Johnston 531e23564b 2009-12-14 Maxim Kuvyrkov <maxim@codesourcery.com>
* libc/machine/m68k/memcpy.S: Patch to support
        boards which do not support unaligned read/write.
2009-12-14 20:50:53 +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
Jeff Johnston df8d921e12 2009-12-03 Craig Howland <howland@LGSInnovations.com>
* libc/stdlib/strtod.c:  Correct "NO_REENT" to "_REENT_ONLY".
        * libc/stdlib/wcstod.c:  Ditto.
        * libc/stdlib/dtoastub.c:  Ditto.
2009-12-03 16:11:27 +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
Nick Clifton 0680fe0a6e * libc/machine/rx/strncat.S (_strncat): Replace use of r6
(call-saved) with r14 (call-used).
2009-11-20 12:54:29 +00:00
Jeff Johnston b425cbf482 2009-11-18 Dave Korn <dave.korn.cygwin@googlemail.com>
* libm/machine/i386/f_tan.S (_f_tan): Free fp stack register
        containing useless constant before advancing fp sp over it.
        (_f_tanf): Likewise.
2009-11-18 17:50:20 +00:00
Corinna Vinschen b4fee5273e * libc/stdio/vfprintf.c: Include ../stdlib/local.h. Replace call to
_mbtowc_r with direct call to __mbtowc.
	* libc/stdio/vfscanf.c: Ditto.
	* libc/stdlib/btowc.c: Include local.h.  Replace call to _mbtowc_r
	with direct call to __mbtowc.
	* libc/stdlib/mblen.c: Ditto.
	* libc/stdlib/mblen_r.c: Ditto.
	* libc/stdlib/mbrtowc.c: Ditto.
	* libc/stdlib/mbstowcs_r.c: Ditto.
	* libc/stdlib/mbtowc.c: Ditto.
	* libc/stdlib/wcrtomb.c: Include local.h.  Replace call to _wctomb_r
	with direct call to __wctomb.
	* libc/stdlib/wcsnrtombs.c: Ditto.
	(_wcsnrtombs_r): Ditto.
	* libc/stdlib/wcstombs_r.c: Ditto.
	* libc/stdlib/wctob.c: Ditto.
	* libc/stdlib/wctomb.c: Ditto.

	* libc/stdlib/mbrtowc.c (mbrtowc): Implement independently from
	_mbrtowc_r, unless PREFER_SIZE_OVER_SPEED or __OPTIMIZE_SIZE__ are
	defined.
	* libc/stdlib/wcrtomb.c (wcrtomb): Implement independently from
	_wcrtomb_r, unless PREFER_SIZE_OVER_SPEED or __OPTIMIZE_SIZE__ are
	defined.

	* libc/stdlib/mbtowc_r.c (__utf8_mbtowc): Drop unnecessary test for
	ch >= 0.
2009-11-18 09:49:57 +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
Corinna Vinschen dc3d6d9093 * libc/stdio/fflush.c (_fflush_r): Store old errno to check for
low-level seek error condition.  Restore old errno in case of
	success.  Don't use new position after seek as error condition,
	rather check for return value of -1 and errno.  Handle EINVAL
	just like ESPIPE.  Only set fp->_offset if errno is 0.
2009-10-30 08:26:41 +00:00
Nick Clifton a861373585 * MAINTAINERS (ARM): Add myself as an ARM maintainer. 2009-10-27 10:31:06 +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 3a2f070f31 2009-10-20 Jeff Johnston <jjohnstn@redhat.com>
* configure.host: Don't set -O2 flag in newlib_cflags.  Leave
        that to CFLAGS.
        * acinclude.m4: Don't reset CFLAGS before calling _AC_PROG_CC_G
        as it sets the same flags as we are using.
        * aclocal.m4: Regenerated.
        * configure: Ditto.
        * Makefile.in: Ditto.
        * iconvdata/aclocal.m4: Ditto.
        * iconvdata/configure: Ditto.
        * iconvdata/Makefile.in: Ditto.
        * doc/aclocal.m4: Ditto.
        * doc/configure: Ditto.
        * doc/Makefile.in: Ditto.
        * libc/aclocal.m4: Ditto.
        * libc/configure: Ditto.
        * libc/Makefile.in: Ditto.
        * libc/*Makefile.in: Ditto.
        * libc/*aclocal.m4: Ditto.
        * libc/*configure: Ditto.
        * libm/*Makefile.in: Ditto.
        * libm/*aclocal.m4: Ditto.
        * libm/*configure: Ditto.
2009-10-20 22:44:28 +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
Corinna Vinschen 597441d79b * libc/locale/nl_langinfo.c (nl_langinfo): Add Cygwin-specific temporary
exception for KOI8 charsets.
2009-10-15 08:08:50 +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
Corinna Vinschen ec4e5025e9 * libc/locale/locale.c (DEFAULT_LOCALE): New define.
(__default_locale): New global variable set to the default locale.
	(__get_locale_env): Return __default_locale rather than fixed "C".
2009-10-09 08:25:28 +00:00
Jeff Johnston a3a62ae7a5 2009-10-08 Jeff Johnston <jjohnstn@redhat.com>
* configure.host: For RTEMS, define HAVE_ASSERT_FUNC.
        * libc/stdlib/assert.c (_assert_func): Do not specify
        __assert_func if HAVE_ASSERT_FUNC flag is set.
2009-10-08 16:44:10 +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
Corinna Vinschen 8bd7bd3bc0 * libc/locale/nl_langinfo.c (nl_langinfo): Just return current locale
charset on Cygwin.
2009-10-07 16:45:23 +00:00
Corinna Vinschen 6ff28fc3b1 * libc/stdlib/mbtowc_r.c (__utf8_mbtowc): Allow CESU-8 surrogate
value encoding.
	* libc/stdlib/wctomb_r.c (__utf8_mbtowc): Allow CESU-8 surrogate
	value decoding.
2009-10-03 08:51:07 +00:00
Corinna Vinschen 50e4e69c42 * libc/locale/locale.c (loadlocale): Allow "C." same as "C-" as locale
prefix.  Add some words to documentation.
2009-09-29 19:12:28 +00:00
Corinna Vinschen 99dbad651c * libc/stdlib/sb_charsets.c: Throughout, translate undefined
characters to their corresponding Windows Unicode value.
2009-09-29 19:11:01 +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
Corinna Vinschen a58d484bcf * libc/locale/locale.c (lc_ctype_charset): Set to "UTF-8" on Cygwin.
(lc_message_charset): Ditto.
	(loadlocale): Set charset of the "C" locale to "UTF-8" on Cygwin.
	* libc/stdlib/mbtowc_r.c (__mbtowc): Default to __utf8_mbtowc on
	Cygwin.
	* libc/stdlib/wctomb_r.c (__wctomb): Default to __utf8_wctomb on
	Cygwin.
2009-09-27 12:21:16 +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
Corinna Vinschen c1754722ee * libc/locale/locale.c: Drop Cygwin-specific windows.h include.
(loadlocale): Call __set_charset_from_codepage with 0 codepage.
2009-09-23 17:19:00 +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
Jeff Johnston bdb08ed44f 2009-09-22 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.host (*-rtems*): Remove -DMISSING_SYSCALL_NAMES.
        Add -DHAVE_BLKSIZE, -D_NO_WORDEXP -D_NO_POPEN.
2009-09-22 21:24:55 +00:00
Jeff Johnston c3f3d59e43 2009-09-22 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.host (m32c): Move setting -DABORT_PROVIDED to second
        "case $host".
2009-09-22 21:23:13 +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
Jeff Johnston a9dd632461 2009-08-31 Takaki Makino <t@snowelm.com>
* libm/machine/i386/f_pow.c(_f_pow): Alter ASM so it works with
        newer gcc versions.
        * libm/maachine/i386/f_powf.c(_f_powf): Ditto.
2009-08-31 22:12:41 +00:00
Jeff Johnston eb9194f52c 2009-08-25 Andy Koppe <andy.koppe@gmail.com>
* libc/stdlib/sb_charsets.c (__micro_atoi): Allow five-digit codepage
        numbers.
        * libc/locale/locale.c (loadlocale): Set MB_CUR_MAX to 1 for KOI8
        charsets.
        * libc/stdlib/local.h (__cp_conv): Remove incorrect number of codepages.
2009-08-25 18:47:24 +00:00
Jeff Johnston 162a23c504 2009-08-24 Corinna Vinschen <corinna@vinschen.de>
* libc/locale/locale.c: Update documentation.
        (loadlocale): Map "KOI8-R" and "KOI8-U" to CP20866 and CP21866.

2009-08-24  Andy Koppe  <andy.koppe@gmail.com>

        * libc/stdlib/sb_charsets.c (__cp_conv): Add KOI8-R (Russian, CP20866)
        and KOI8-U (Ukrainian, CP21866) to Windows codepage conversion tables.
        * libc/ctype/ctype_cp.h (__ctype_cp): Likewise for ctype tables.
2009-08-24 22:11:11 +00:00
Jeff Johnston 4b4a1363aa 2009-08-24 Andy Koppe <andy.koppe@gmail.com>
* libc/ctype/iswspace.c (iswspace): Include "non-breaking
        space" (U+00A0).
        * libc/ctype/iswblank.c (iswblank): Likewise.
2009-08-24 16:59:35 +00:00
Corinna Vinschen 24149e4aa9 * libc/locale/locale.c (loadlocale): Throughout check charset string
case insensitive and store internal charset string uppercased.  Allow
	"UTF8" additionally to "UTF-8".  Add this change to documentation.
2009-08-21 20:56:13 +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 c11ba63d52 2009-08-21 Craig Howland <howland@LGSInnovations.com>
* libm/common/s_remquo.c (remquo):  Fix sign of quotient when |x|==|y|.
        * libc/stdio/mktemp.c:  Add #include <stdlib.h> for function prototypes.
2009-08-21 20:25:28 +00:00
Ralf Wildenhues 04189ff92e all-local should depend upon crt0, not all.
* iconvdata/Makefile.am (all): Remove.
	* libc/sys/a29khif/Makefile.am (all-am): Rename from ...
	(all): ... this.
	* libc/sys/arc/Makefile.am: Likewise.
	* libc/sys/arm/Makefile.am: Likewise.
	* libc/sys/d10v/Makefile.am: Likewise.
	* libc/sys/decstation/Makefile.am: Likewise.
	* libc/sys/h8300hms/Makefile.am: Likewise.
	* libc/sys/h8500hms/Makefile.am: Likewise.
	* libc/sys/linux/Makefile.am: Likewise.
	* libc/sys/linux/machine/i386/Makefile.am: Likewise.
	* libc/sys/m88kbug/Makefile.am: Likewise.
	* libc/sys/mmixware/Makefile.am: Likewise.
	* libc/sys/netware/Makefile.am: Likewise.
	* libc/sys/rdos/Makefile.am: Likewise.
	* libc/sys/rtems/Makefile.am: Likewise.
	* libc/sys/sh/Makefile.am: Likewise.
	* libc/sys/sparc64/Makefile.am: Likewise.
	* libc/sys/sun4/Makefile.am: Likewise.
	* libc/sys/sysmec/Makefile.am: Likewise.
	* libc/sys/sysnec810/Makefile.am: Likewise.
	* libc/sys/sysnecv850/Makefile.am: Likewise.
	* libc/sys/sysvi386/Makefile.am: Likewise.
	* libc/sys/sysvnecv70/Makefile.am: Likewise.
	* libc/sys/tic80/Makefile.am: Likewise.
	* libc/sys/w65/Makefile.am: Likewise.
	* libc/sys/z8ksim/Makefile.am: Likewise.
	* iconvdata/Makefile.in: Regenerate.
	* libc/sys/a29khif/Makefile.in: Likewise.
	* libc/sys/arc/Makefile.in: Likewise.
	* libc/sys/arm/Makefile.in: Likewise.
	* libc/sys/d10v/Makefile.in: Likewise.
	* libc/sys/decstation/Makefile.in: Likewise.
	* libc/sys/h8300hms/Makefile.in: Likewise.
	* libc/sys/h8500hms/Makefile.in: Likewise.
	* libc/sys/linux/Makefile.in: Likewise.
	* libc/sys/linux/machine/i386/Makefile.in: Likewise.
	* libc/sys/m88kbug/Makefile.in: Likewise.
	* libc/sys/mmixware/Makefile.in: Likewise.
	* libc/sys/netware/Makefile.in: Likewise.
	* libc/sys/rdos/Makefile.in: Likewise.
	* libc/sys/rtems/Makefile.in: Likewise.
	* libc/sys/sh/Makefile.in: Likewise.
	* libc/sys/sparc64/Makefile.in: Likewise.
	* libc/sys/sun4/Makefile.in: Likewise.
	* libc/sys/sysmec/Makefile.in: Likewise.
	* libc/sys/sysnec810/Makefile.in: Likewise.
	* libc/sys/sysnecv850/Makefile.in: Likewise.
	* libc/sys/sysvi386/Makefile.in: Likewise.
	* libc/sys/sysvnecv70/Makefile.in: Likewise.
	* libc/sys/tic80/Makefile.in: Likewise.
	* libc/sys/w65/Makefile.in: Likewise.
	* libc/sys/z8ksim/Makefile.in: Likewise.
2009-08-19 20:04:45 +00:00
Ralf Wildenhues 2f0e5052d3 * configure.in (newlib_cv_ldbl_eq_dbl): Rename cache variable
from newlib_ldbl_eq_dbl.
	* configure: Regenerate.
2009-08-19 19:56:05 +00:00
Eric Blake 84d6be5fa3 Fix 'make info' to work again.
* libc/Makefile.am (SUBDEFS): Correctly build popen docs.
* libc/libc.texinfo (Top): Add posix node to menu.
2009-08-19 12:38:09 +00:00
Jeff Johnston 7dc54c36da 2009-08-18 Jeff Johnston <jjohnstn@redhat.com>
* newlib.hin: Add comment regarding file being manually edited.
        * Makefile.am: Add no-op rule for newlib.hin.
        * Makefile.in: Regenerated.
2009-08-18 21:48:05 +00:00
Jeff Johnston 66b452d6f0 2009-08-18 Jeff Johnston <jjohnstn@redhat.com>
* acconfig.h: Add templates for _HAVE_LONG_DOUBLE and _LDBL_EQ_DBL.
2009-08-18 19:57:59 +00:00
Jeff Johnston fd226e98a4 2009-08-18 Eric Blake <ebb9@byu.net>
* libc/posix/popen.c (popen): Fix documented prototype.

        Improve popen compatibility with glibc.
        * libc/posix/popen.c (popen): The 2006-08-22 change to use
        FD_CLOEXEC disagrees with other implementations; instead, use
        pidlist to work even when fcntl is not available.  Meanwhile,
        support the 'e' modifier to set CLOEXEC, as in glibc.  Drop
        cygwin-specific code, now that cygwin has its own version.
        * libc/posix/Makefile.am (CHEWOUT_FILES): Document popen.
        * libc/posix/posix.tex: New file.
2009-08-18 18:34:57 +00:00
Eric Blake e9708d920c * libc/posix/popen.c (popen): Fix documented prototype. 2009-08-18 17:07:55 +00:00
Eric Blake a051160962 Improve popen compatibility with glibc.
* libc/posix/popen.c (popen): The 2006-08-22 change to use
FD_CLOEXEC disagrees with other implementations; instead, use
pidlist to work even when fcntl is not available.  Meanwhile,
support the 'e' modifier to set CLOEXEC, as in glibc.  Drop
cygwin-specific code, now that cygwin has its own version.
* libc/posix/Makefile.am (CHEWOUT_FILES): Document popen.
* libc/posix/posix.tex: New file.
2009-08-18 16:43:21 +00:00
Jeff Johnston 56dbf99329 2009-08-17 Craig Howland <howland@LGSInnovations.com>
* libc/string/wcsncpy.c (wcsncpy):  Re-write function based on small
        version of strncpy() (fixing two bugs).
2009-08-18 16:03:06 +00:00
Corinna Vinschen af0a038ecb ChangeLog: Fix typo in "typo". 2009-08-13 07:41:35 +00:00
Corinna Vinschen 61189f19de * libc/stdio/mktemp.c (mkdtemp): Fix type in function name. 2009-08-13 07:19:33 +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 5f8c90bbc0 2009-08-10 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/wcstombs.c: Change documentation to specify size_t
        return type instead of int.
2009-08-10 16:23:20 +00:00
Jeff Johnston 1cc1af42c1 2009-07-29 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/a64l.c: Fix to use 'a' instead of 'A' in calculation
        when a lower-case character is detected.
2009-07-29 22:33:40 +00:00
Corinna Vinschen a67f77af1a * libc/stdlib/mbtowc_r.c (__utf8_mbtowc): Rework UTF-16 surrogate
pair handling to be more bullet-proof even with incomplete UTF-8
	sequences.  Add check for 4 byte sequences resulting in values
	outside the valid Unicode range.  Add a comment to clarify checking
	for invalid CESU-8 sequences.
2009-07-29 08:31:30 +00:00
Corinna Vinschen ecf5c883df * libc/stdlib/mbtowc_r.c (__utf8_mbtowc): Fix incrementing n in case
of handling incomplete sequences.
2009-07-28 16:49:19 +00:00
Eric Blake d6438f13d1 Avoid a fault from locking a closed standard file.
* libc/stdio/fflush.c (_fflush_r): Give up early if stream has
been previously closed.
2009-07-22 02:17:12 +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 4f4622807f 2009-06-23 Jeff Johnston <jjohnstn@redhat.com>
* Makefile.am (MATHOBJS_IN_LIBC): Add s_fpclassify and
        sf_fpclassify as these are now used for infinity testing.
        * Makefile.in: Regenerated.
2009-06-23 16:04:33 +00:00
Jeff Johnston ab9ef0fa5f 2009-06-19 Joel Sherrill <joel.sherrill@oarcorp.com>
* libc/sys/rtems/machine/param.h: Change ALIGNBYTES
        so it can point to an aligned structure or double.
2009-06-19 18:15:35 +00:00
Corinna Vinschen e53c92a80e * libc/locale/locale.c (loadlocale): Add handling of "@cjknarrow"
modifier on _MB_CAPABLE targets.  Add comment to explain.  Improve
	documentation.
2009-06-18 09:13:39 +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
Corinna Vinschen 1c5e84dd08 * libc/stdio/vfprintf.c (_VFPRINTF_R): Use actual length of
radix char instead of assuming length 1.
	* libc/stdlib/gdtoa-gethex.c: Remove use of USE_LOCALE.
	(gethex): Allow multibyte decimal point.
	Fix compiler warnings due to different signedness of pointer types.
	* libc/stdlib/strtod.c: Remove use of USE_LOCALE.
	(_strtod_r): Allow multibyte decimal point.
	* libc/stdlib/wcstod.c (_wcstod_r): Evaluate correct wide char
	endptr position if the decimal point is a multibyte char.
2009-06-16 17:44:20 +00:00
Jeff Johnston 1a99b6f85a 2009-06-16 Craig Howland <howland@LGSInnovations.com>
* libc/ctype/local.h (__locale_charset): Add arguments to
        prototype
        * libc/stdlib/local.h (__locale_charset): Ditto.
2009-06-16 16:02:07 +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
Corinna Vinschen 5c1939c8c4 * libc/ctype/tolower.c (tolower): Cast conversion result from
mbtowc/wctomb to unsigned char to avoid negative return values.
	* libc/ctype/toupper.c (toupper): Ditto.
2009-06-09 11:33:57 +00:00
Corinna Vinschen c801709ed5 * libc/string/wcwidth.c: Optimize for speed.
* libc/locale/locale.c (lc_ctype_cjk_lang): New static int.
	(loadlocale): In case of setting LC_CTYPE, set lc_ctype_cjk_lang
	to 1 if the language is "jp", "ko", or "zh", to 0 otherwise.
	(__locale_cjk_lang): New function.
	* libc/string/local.h (__locale_cjk_lang): Declare.
	* libc/string/wcwidth.c: Fix comments.
	(__wcwidth): Handle CJK Ambiguous Width characters according
	to setting returned by __locale_cjk_lang.
2009-06-03 19:28:22 +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
Corinna Vinschen e17c0a23e3 * libc/ctype/jp2uc.c: Skip all definition if defined __CYGWIN__.
(__jp2uc): Change the scope to static function.
	* libc/ctype/local.h (_jp2uc): Define as macro if defined __CYGWIN__.
	* libc/string/local.h (_jp2uc): Include ../ctype/local.h.
2009-06-02 09:41:06 +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
Corinna Vinschen 098a75dc51 * libc/string/local.h: New file.
* libc/string/wcswidth.c (wcswidth):  Convert japanese wide
	characters to Unicode here.  Handle surrogate pairs for UTF-16
	systems.  Call __wcwidth rather than wcwidth.
	* libc/string/wcwidth.c: New implementation using Markus Kuhn's
	wcwidth implementation for Unicode.
	(bisearch): New static function.
	(__wcwidth): New function.  Take wint_t rather than wchar_t as
	parameter to allow full Unicode handling on UTF-16 systems.
	Move old wcwidth implementation here for non-multibyte aware
	systems.
	(wcwidth): Convert japanese wide characters to Unicode here.
	Call __wcwidth rather than using iswprint/iswcntrl.
2009-05-15 11:40:28 +00:00
Corinna Vinschen 1cf38d075c * libc/ctype/local.h (JP_JIS, JP_SJIS, JP_EUCJP): Move definition
to jp2uc.c.
	(__jp2uc): Remove declaration.
	(_jp2uc): Declare.
	* libc/ctype/jp2uc.c (JP_JIS, JP_SJIS, JP_EUCJP): Define.
	(__jp2uc): Remove Cygwin special case.
	(_jp2uc): New function.  On Cygwin, just return c.
	* libc/ctype/iswalpha.c (iswalpha): Just call _jp2uc.
	* libc/ctype/iswblank.c (iswblank): Ditto.
	* libc/ctype/iswcntrl.c (iswcntrl): Ditto.
	* libc/ctype/iswprint.c (iswprint): Ditto.
	* libc/ctype/iswpunct.c (iswpunt): Ditto.
	* libc/ctype/iswspace.c (iswspace): Ditto.
	* libc/ctype/towlower.c (towlower): Ditto.
	* libc/ctype/towupper.c (towupper): Ditto.
2009-05-14 20:16:21 +00:00
Jeff Johnston 5900080d7d 2009-05-13 Paul Brook <paul@codesourcery.com>
* libc/machine/arm/setjmp.S: Don't bother saving IP.  Copy SP to
        IP before saving.  Likewise when restoring.
2009-05-13 18:31:55 +00:00
Jeff Johnston eba36c51fa 2009-05-13 Paul Brook <paul@codesourcery.com>
* libc/machine/arm/setjmp.S: Add ARMv6-M implementation.
2009-05-13 18:28:49 +00:00
Corinna Vinschen 136033a852 * libc/locale/locale.c (setlocale): Don't build on Cygwin. 2009-05-13 14:54:11 +00:00
Jeff Johnston ca3a040abf 2009-05-11 Craig Howland <howland@LGSInnovations.com>
* libm/machine/i386/f_llrint.c: Remove llrint() definition.
        * libm/machine/i386/f_llrintf.c: Remove llrintf() definition.
2009-05-11 21:58:05 +00:00
Nick Clifton 5796080933 * MAINTAINERS: Add myself as a maintainer for the MN10300 and to
the write-after-approval list.
2009-05-08 10:00:25 +00:00
Anthony Green 2585eb1832 Add self to MAINTAINERS file. Tweak moxie stack position. 2009-05-01 02:53:25 +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 bcde129400 2009-04-24 Jeff johnston <jjohnstn@redhat.com>
* libc/stdio/fgetc.c: Make sure sfp lock is acquired before the
        file lock and released before the file lock to avoid a deadlock
        scenario.
        * libc/stdio/fgets.c: Ditto.
        * libc/stdio/fgetwc.c: Ditto.
        * libc/stdio/fgetws.c: Ditto.
        * libc/stdio/fread.c: Ditto.
        * libc/stdio/fseek.c: Ditto.
        * libc/stdio/getc.c: Ditto.
        * libc/stdio/getdelim.c: Ditto.
        * libc/stdio/gets.c: Ditto.
2009-04-24 22:52:52 +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 5921804481 2009-04-23 Mike Burgess <wizardsguild@earthlink.net>
* libc/string/strcasecmp.c: Optimized rewrite.
        * libc/string/strncasecmp.c: Fix description.
        * libc/string/strlwr.c: Avoid passing signed char to tolower.
        * libc/string/strupr.c: Avoid passing signed char to tolower.
2009-04-23 18:11:22 +00:00
Jeff Johnston bbb9d4fde3 2009-04-23 Paul Brook <paul@codesourcery.com>
Kazu Hirata  <kazu@codesourcery.com>

        * libc/stdlib/__atexit.c (__register_exitproc): Use weak reference
        to malloc.  Allocate dynamically only if it is present.
        * libc/stdlib/__call_atexit.c (__call_exitprocs): Use weak
        reference to free.  Call free only if it is present.
2009-04-23 17:54:22 +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
Corinna Vinschen 755b125b77 * libc/stdio/local.h (__chclass, __state_table, __action_table):
Add extern to the declarations.
	* libc/stdlib/local.h (__iso_8859_conv, __cp_conv): Likewise.
2009-04-22 08:30:03 +00:00
Corinna Vinschen c28545227a * libc/ctype/ctype_.c (_CTYPE_DATA_128_255): Rename from
_CTYPE_DATA_128_256.
	* libc/ctype/ctype_cp.h: Split off all character class values for
	character 255 from the rest of the definitions.
	(__ctype_cp): Use the new definitions.  Make sure that the table
	always contains 0 for EOF (-1).
	* libc/ctype/ctype_iso.h: Ditto.
2009-04-21 20:09:01 +00:00
Jeff Johnston 161e368ac4 2009-04-21 Sandra Loosemore <sandra@codesourcery.com>
* libc/reent/impure.c (__sf_fake_stdin, __sf_fake_stdout)
        (__sf_fake_stderr): Declare locally with weak attribute.
2009-04-21 18:38:53 +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