Commit Graph

51 Commits

Author SHA1 Message Date
Corinna Vinschen 7e4840bc45 newlib.hin: regenerate
The last two patches to configure.ac missed regeneration of newlib.hin.

Fixes: 64a11fded1 ("Fix problem with _newlib_version.h not being filled in correctly")
Fixes: 39f734a857 ("newlib: fix AC_DEFINE quoting style with version macros")
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2023-11-17 13:10:20 +01:00
Matt Joyce ea99f21ce6 Add --enable-newlib-reent-thread-local option
By default, Newlib uses a huge object of type struct _reent to store
thread-specific data.  This object is returned by __getreent() if the
__DYNAMIC_REENT__ Newlib configuration option is defined.

The reentrancy structure contains for example errno and the standard input,
output, and error file streams.  This means that if an application only uses
errno it has a dependency on the file stream support even if it does not use
it.  This is an issue for lower end targets and applications which need to
qualify the software according to safety standards (for example ECSS-E-ST-40C,
ECSS-Q-ST-80C, IEC 61508, ISO 26262, DO-178, DO-330, DO-333).

If the new _REENT_THREAD_LOCAL configuration option is enabled, then struct
_reent is replaced by dedicated thread-local objects for each struct _reent
member.  The thread-local objects are defined in translation units which use
the corresponding object.
2022-07-13 06:55:46 +02:00
Sebastian Huber e84814b3e4 Regenerate configure and newlib.hin
In commit b0cb9f85ca the regeneration of the
configure and newlib.hin files was missing.
2022-06-21 08:56:33 +02:00
Sebastian Huber 2faeaf50fd Use global atexit data for all configurations
For the exit processing only members of _GLOBAL_REENT were used by default.  If
the _REENT_GLOBAL_ATEXIT option was enabled, then the data structures were
provided through dedicated global objects.  Make this option the default.
Remove the option.  Rename struct _reent members _atexit and _atexit0 to
_reserved_6 and _reserved_7, respectively.  Provide them only if
_REENT_BACKWARD_BINARY_COMPAT is defined.
2022-05-18 07:45:09 +02:00
Sebastian Huber 065d77dd02 Add --enable-newlib-reent-binary-compat
Add the --enable-newlib-reent-binary-compat configure option.  This option is
disabled by default.  If enabled, then unused members in struct _reent are
preserved to maintain the structure layout.
2022-05-18 07:45:09 +02:00
Mike Frysinger 006da84337 newlib: drop libtool support
This was only ever used for i?86-pc-linux-gnu targets, but that's been
broken for years, and has since been dropped.  So clean this up too.

This also deletes the funky objectlist logic since it only existed for
the libtool libraries.  Since it was the only thing left in the small
Makefile.shared file, we can punt that too.
2022-02-09 20:27:37 -05:00
Mike Frysinger 55e09d5e8c newlib: switch to autoconf long double macro
Now that we require a recent version of autoconf, we can rely on this
macro working.  This change was already made to libm, but these other
dirs were missed as I didn't notice it being duplicated in 3 places.
2022-01-21 07:07:15 -05:00
Mike Frysinger 0a67325726 newlib: switch newlib.h to autoheader
Now that newlib.hin has been brought up to date and all of its defines
are produced by configure, we can switch it to using autoheader without
manual editing.  This relies on a few pieces:
* Moving the header & footer into configure.ac via AH_TOP & AH_BOTTOM.
* Running a post-process step on newlib.h to delete all the defines we
  didn't export ourselves.  Basically, anything without a _ prefix.

This will leave behind some spurious comments in newlib.h related to
the defines we filtered out, but should be harmless, so it's probably
not worth the effort to construct a more complicated sed expression to
also strip those out.
2022-01-19 19:59:16 -05:00
Mike Frysinger b86dc2dab4 newlib: iconv: autogenerate iconv define list
The list of iconv to/from defines is hand maintained in newlib.hin.
Lets leverage mkdeps.pl to generate this list automatically from the
list of known encodings.  The newlib.hin list is up-to-date, so the
list in iconv.m4 matches the list already generated.
2022-01-19 19:59:16 -05:00
Mike Frysinger 15c091ad73 newlib: add missing _NANO_MALLOC to newlib.hin
This was added to configure, but never to the header file.  Nothing
uses this currently, so it's not a big deal (as all the dynamic logic
is via automake conditionals), but might as well restore it now to
keep autoheader output in sync.
2022-01-19 19:59:16 -05:00
Mike Frysinger 850e08fedb newlib: sort newlib.h output
Sort the symbols lexically like autoheader does.  There are no other
changes in here.  This will make it easier to sync with autoheader.
2022-01-19 19:59:16 -05:00
Mike Frysinger 810c5e5979 newlib: clean up autoheader templates
Sync these back from newlib.hin to configure.ac, and touchup some of
the forms to be consistent (like being full sentences).  Also use the
AC_DEFINE-vs-AC_DEFINE_UNQUOTED macros correctly.  This will make it
easier to re-enable autoheader for managing newlib.hin.
2022-01-19 19:59:16 -05:00
Mike Frysinger ff5be4ab83 newlib: merge acconfig.h changes into newlib.hin
The acconfig.h header was used to run autoheader and then manually
sync the output into newlib.hin.  Based on how the files have fallen
out of sync (with newlib.hin having many more templates), this has
not been run in a long time, and attempts to do so now would break
newlib.hin.

Further, if you try to run autoheader now, it will automatically
replace _newlib_version.hin since it's the first entry in the call
to AC_CONFIG_HEADERS.

So let's throw away acconfig.h entirely.  It only had 2 slightly
better comments, and the rest were either worse, missing, or stale.
This has the side benefit of avoiding autoheader warning about the
deprecated use of acconfig.h since newer autoconf only wants macro
calls in configure.ac.
2022-01-19 19:59:16 -05:00
Mike Frysinger 437c5c5085 newlib: internalize HAVE_INITFINI_ARRAY
This define is only used by newlib internally, so stop exporting it
as HAVE_INITFINI_ARRAY since this can conflict with defines packages
use themselves.

We don't really need to add _ to HAVE_INIT_FINI too since it isn't
exported in newlib.h, but might as well be consistent here.

We can't (easily) add this to newlib_cflags like HAVE_INIT_FINI is
because this is based on a compile-time test in the top configure,
not on plain shell code in configure.host.  We'd have to replicate
the test in every subdir in order to have it passed down.
2022-01-19 19:59:16 -05:00
Takashi Yano a4705d387f ldtoa: Import gdtoa from OpenBSD.
- This patch uses gdtoa imported from OpenBSD if newlib configure
  option "--enable-newlib-use-gdtoa=no" is NOT specified.  gdtoa
  provides more accurate output and faster conversion than legacy
  ldtoa, while it requires more heap memory.
2021-12-03 19:20:17 +09:00
Jeff Johnston e06f2fbde7 Allow verifying _REENT_CHECK macros memory allocation
- change sys/reent.h to replace _REENT_CHECK_DEBUG with
  _REENT_CHECK_VERIFY which when set asserts that any memory
  allocated is non-NULL and calls __assert_func directly
- add new --enable-newlib-reent-check-verify configure option
- add support for configure.host to specify default for
  newlib_reent_check_verify
- add _REENT_CHECK_VERIFY macro support to acconfig.h and newlib.hin
2019-10-07 15:36:03 -04:00
Sebastian Huber 4de8754bac Change time_t to 64-bit by default
In order to avoid the year 2038 problem, define time_t to a signed
integer with at least 64-bits.  The type for time_t can be forced to
long with the --enable-newlib-long-time_t configure option or with the
_USE_LONG_TIME_T system configuration define.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2017-09-07 15:39:34 +02:00
Sebastian Huber a254c82486 Add --enable-newlib-global-stdio-streams
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2017-06-30 07:45:16 +02:00
Thomas Preud'homme bd54749095 Allow locking routine to be retargeted
At the moment when targeting bare-metal targets or systems without
definition for the locking primitives newlib, uses dummy empty macros.
This has the advantage of reduced size and faster implementation but
does not allow the application to retarget the locking routines.
Retargeting is useful for a single toolchain to support multiple systems
since then it's only at link time that you know which system you are
targeting.

This patch adds a new configure option
--enable-newlib-retargetable-locking to use dummy empty functions
instead of dummy empty macros. The default is to keep the current
behavior to not have any size or speed impact on targets not interested
in this feature. To allow for any size of lock, the _LOCK_T type is
changed into pointer to struct _lock and the _init function are tasked
with allocating the locks. The platform being targeted must provide the
static locks. A dummy implementation of the locking routines and static
lock is provided for single-threaded applications to link successfully
out of the box.

To ensure that the behavior is consistent (either no locking whatsoever
or working locking), the dummy implementation is strongly defined such
that a partial retargeting will cause a doubly defined link error.
Indeed, the linker will only pull in the file providing the dummy
implementation if it cannot find an implementation for one of the
routine or lock.
2017-02-13 17:07:11 -05:00
Pieter du Preez 264b817b8e Define the newlib version macros in one place: _newlib_version.h.
Currently, the newlib version information needs to be updated in two places:
 - newlib/acinclude.m4
 - newlib/libc/include/sys/features.h

The goal of this patch is to:
 - supply a single location for defining the newlib version
   information: newlib/acinclude.m4
 - define __NEWLIB__, __NEWLIB_MINOR__ and __NEWLIB_PATCHLEVEL__
   This is in line with what gcc does for its version macros. See:
   https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html

This patch moves the definition of the _NEWLIB_VERSION, __NEWLIB__
and __NEWLIB_MINOR__ macros from newlib/libc/include/sys/features.h,
to the newly generated newlib/_newlib_version.h file. Additionally,
the __NEWLIB_PATCHLEVEL__ macro was created, for completeness.

In order to stay backwards compatible, newlib/_newlib_version.h gets
included by newlib/newlib.h and newlib/libc/include/sys/features.h.

Note: This patch does _not_ include the modifications to the following
files, as these should all be generated any way.
      *Makefile.in,
      *aclocal.m4,
      *configure
      stamp-* files

Signed-off-by: Pieter du Preez <pdupreez@gmail.com>
2016-02-17 16:04:09 -05:00
Joel Sherrill 839cba2b14 * newlib.hin: Remove _UINTPTR_EQ_ULONG and _UINTPTR_EQ_ULONGLONG.
2013-03-23  Joel Sherrill <joel.sherrill@oarcorp.com>

	* newlib.hin: Remove _UINTPTR_EQ_ULONG and _UINTPTR_EQ_ULONGLONG.
2015-04-23 21:57:06 +02:00
Jeff Johnston 85907fe082 2014-11-06 Joel Sherrill <joel.sherrill@oarcorp.com>
* configure.in: Add autoconf test to determine size of uintptr_t.
        * newlib.hin: Add new autoconf feature variables.
        * libc/include/inttypes.h: Use new feature variables.
        * configure: Regenerate.
2014-11-06 17:45:14 +00:00
Jeff Johnston d34336767e 2014-07-04 Bin Cheng <bin.cheng@arm.com>
* README (--enable-newlib-nano-formatted-io): Describe.
        * acconfig.h (_NANO_FORMATTED_IO): Undef.
        * newlib.hin (_NANO_FORMATTED_IO): Undef.
        * configure.in (--enable-newlib-nano-formatted-io): New option.
        * configure: Regenerated.
        * libc/configure.in (--enable-newlib-nano-formatted-io): New option.
        * libc/configure: Regenerated.
        * libc/stdio/Makefile.am (NEWLIB_NANO_FORMATTED_IO): Support new
        configuration option.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio/asnprintf.c (_asniprintf_r, asniprintf): Use
        _NANO_FORMATTED_IO to declare alias prototypes.
        * libc/stdio/asprintf.c (_asiprintf_r, asiprintf): Ditto.
        * libc/stdio/dprintf.c (_diprintf_r, diprintf): Ditto.
        * libc/stdio/fprintf.c (_fiprintf_r, fiprintf): Ditto.
        * libc/stdio/fscanf.c (fiscanf, _fiscanf_r): Ditto.
        * libc/stdio/printf.c (_iprintf_r, iprintf): Ditto.
        * libc/stdio/scanf.c (iscanf, _iscanf_r): Ditto.
        * libc/stdio/snprintf.c (_sniprintf_r, sniprintf): Ditto.
        * libc/stdio/sprintf.c (_siprintf_r, siprintf): Ditto.
        * libc/stdio/sscanf.c (siscanf, _siscanf_r): Ditto.
        * libc/stdio/vasnprintf.c (_vasniprintf_r, vasniprintf): Ditto.
        * libc/stdio/vasprintf.c (vasiprintf, _vasiprintf_r): Ditto.
        * libc/stdio/vdprintf.c (_vdiprintf_r, vdiprintf): Ditto.
        * libc/stdio/vprintf.c (viprintf, _viprintf_r): Ditto.
        * libc/stdio/vscanf.c (viscanf, _viscanf_r): Ditto.
        * libc/stdio/vsnprintf.c (vsniprintf, _vsniprintf_r): Ditto.
        * libc/stdio/vsprintf.c (vsiprintf, _vsiprintf_r): Ditto.
        * libc/stdio/vsscanf.c (vsiscanf, _vsiscanf_r): Ditto.
        * libc/stdio/nano-vfprintf.c: New file.
        * libc/stdio/nano-vfprintf_float.c: New file.
        * libc/stdio/nano-vfprintf_i.c: New file.
        * libc/stdio/nano-vfprintf_local.h: New file.
        * libc/stdio/nano-vfscanf.c: New file.
        * libc/stdio/nano-vfscanf_float.c: New file.
        * libc/stdio/nano-vfscanf_i.c: New file.
        * libc/stdio/nano-vfscanf_local.h: New file.
2014-07-04 17:21:45 +00:00
Jeff Johnston 10e4d79a19 2013-12-10 Jeff Johnston <jjohnstn@redhat.com>
* acconfig.h: Add _HAVE_CC_INHIBIT_LOOP_TO_LIBCALL.
        * newlib.hin: Ditto.
        * configure: Regenerate.
        * configure.in: Add setting of _HAVE_CC_INHIBIT_LOOP_TO_LIBCALL.
        * libc/string/local.h: Add check for _HAVE_CC_INHIBIT_LOOP_TO_LIBCALL
        and set __inhibit_loop_to_libcall macro appropriately.
        * libc/string/memmove.c: Use __inhibit_loop_to_libcall macro in
        function declaration.
        * libc/string/memset.c: Ditto.
2013-12-10 18:57:30 +00:00
Corinna Vinschen e4aa6ea112 * configure.in (enable-newlib-global-atexit): New option.
* configure: Regenerated.
	* newlib.hin (_REENT_GLOBAL_ATEXIT): Place-holder.
	* README (enable-newlib-global-atexit): Description for
	new option.
2013-10-18 08:43:05 +00:00
Jeff Johnston e2ac49d3d7 2013-07-02 Joey Ye <joey.ye@arm.com>
Lite exit support.
        * README: Add information about lite-exit.
        * acconfig.h (_LITE_EXIT): New macro.
        * configure.in (enable-lite-exit): New option.
        (_LITE_EXIT): Define new macro.
        * configure: Regenerated.
        * newlib.hin (_LITE_EXIT): New macro.
        * libc/stdlib/__atexit.c [_LITE_EXIT]: Add dummy explicit
        reference to __call_exitprocs.
        * libc/stdlib/cxa_atexit.c [_LITE_EXIT]: Make __register_exitproc a
        weak reference.
        * libc/stdlib/exit.c (exit)[_LITE_EXIT]: Remove TWS and weakly reference
        __call_exitprocs.
2013-07-02 21:30:57 +00:00
Corinna Vinschen 82c19d335a * acconfig.h (_UNBUF_STREAM_OPT): Undefine.
* newlib.hin (_UNBUF_STREAM_OPT): Undefine.
	* configure.in (--enable-newlib-unbuf-stream-opt): New option.
	* configure: Regenerate.
	* libc/stdio/vfprintf.c (_VFPRINTF_R): Don't do optimization on
	unbuffered stream files.
	* libc/stdio/vfwprintf.c (_VFWPRINTF_R): Likewise.
	* README: Add description about the option.
	* newlib.hin (_UNBUF_STREAM_OPT): Undefine.
	* configure.in (--enable-newlib-unbuf-stream-opt): New option.
	* configure: Regenerate.
	* libc/stdio/vfprintf.c (_VFPRINTF_R): Don't do optimization on
	unbuffered stream files.
	* libc/stdio/vfwprintf.c (_VFWPRINTF_R): Likewise.
	* README: Add description about the option.
2013-06-19 15:58:50 +00:00
Corinna Vinschen f7a4b388b0 * acconfig.h (_WCHAR_ORIENT): Undef
* newlib.hin (_WCHAR_ORIENT): Undef
	* configure.in (--enable-newlib-wchar-orient): New option.
	* configure: Regenerated.
	* libc/configure.in (--enable-newlib-wchar-orient): New option.
	* libc/configure: Regenerated.
	* libc/stdio/Makefile.am (NEWLIB_WIDE_ORIENT): Use.
	* libc/stdio/Makefile.in: Regenerated.
	* libc/stdio/local.h (ORIENT): Use _WCHAR_ORIENT to control
	the definition. Add alternative definition.
	* libc/stdio/vfprintf.c (__sfputs_r, __sprint_r): Use _WCHAR_ORIENT
	to control the wide char output.
2013-04-12 12:05:31 +00:00
Jeff Johnston 602cec7f1e 2013-04-10 Bin Cheng <bin.cheng@arm.com>
* acconfig.h (_FSEEK_OPTIMIZATION): Undef
        * newlib.hin (_FSEEK_OPTIMIZATION): Undef
        * configure.in (--disable-newlib-fseek-optimization): New option.
        * configure: Regenerated.
        * libc/stdio/fflush.c (__sflush_r): Use _FSEEK_OPTIMIZATION to
        control fseek optimization.
        * libc/stdio/fseeko.c (_fseeko_r): Ditto.
        * libc/stdio/makebuf.c (__smakebuf_r): Ditto.
        * libc/stdio64/fseeko64.c (_fseeko64_r): Ditto.
2013-04-10 18:47:46 +00:00
Corinna Vinschen 409c27f834 * acconfig.h (_FVWRITE_IN_STREAMIO): Undefine.
* newlib.hin (_FVWRITE_IN_STREAMIO): Undefine.
	* configure.in (--disable-newlib-fvwrite-in-streamio): New option.
	* configure: Regenerated.
	* libc/stdio/fputs.c (_fputs_r): Use _FVWRITE_IN_STREAMIO to
	control __sfvwrite_r.  Add alternative implementation.
	* libc/stdio/fputws.c (_fputws_r): Ditto.
	* libc/stdio/fwrite.c (_fwrite_r): Ditto.
	* libc/stdio/puts.c (_puts_r): Ditto.
	* libc/stdio/vfprintf.c (__ssputs_r, __sfputs_r): New function.
	(_VFPRINTF_R): Use _FVWRITE_IN_STREAMIO to control vector buffer.
	(__SPRINT): Use _FVWRITE_IN_STREAMIO to control macro definition.
	* libc/stdio/vfwprintf.c (_VFWPRINTF_R): Use _FVWRITE_IN_STREAMIO
	to control vector buffer.
2013-03-27 09:38:39 +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 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 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
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 9c4032e768 2009-04-17 Jeff johnston <jjohnstn@redhat.com>
* configure.in: Remove _HAVE_ARRAY_ALIASING check.
        * configure: Regenerated.
        * newlib.hin: Remove _HAVE_ARRAY_ALIASING flag.
        * libc/ctype/ctype_.c: Do not check for _HAVE_ARRAY_ALIASING.
        * libm/configure.in: Change AC_TRY_COMPILE to AC_TRY_COMMAND to
        avoid executable test.
        * libm/configure: Regenerated.
2009-04-17 16:18:17 +00:00
Jeff Johnston f7b03c3c5b 2008-10-15 Jeff Johnston <jjohnstn@redhat.com>
* newlib.hin: Restore to previous 1.14 version which has no
        PACKAGE_ macros.
2008-10-16 19:38:15 +00:00
Steve Ellcey fab8d8d808 * configure: Regenerate for new libtool.
* aclocal.m4: Ditto.
	* Makefile.in: Ditto.
	* newlib.hin: Ditto.
	* doc/Makefile.in: Ditto.
	* doc/configure: Ditto.
	* iconvdata/Makefile.in: Ditto.
	* iconvdata/aclocal.m4: Ditto.
	* iconvdata/configure: Ditto.
	* libc/Makefile.in: Ditto.
	* libc/aclocal.m4: Ditto.
	* libc/configure: Ditto.
	* libc/argz/Makefile.in: Ditto.
	* libc/ctype/Makefile.in: Ditto.
	* libc/errno/Makefile.in: Ditto.
	* libc/iconv/Makefile.in: Ditto.
	* libc/iconv/ccs/Makefile.in: Ditto.
	* libc/iconv/ccs/binary/Makefile.in: Ditto.
	* libc/iconv/ces/Makefile.in: Ditto.
	* libc/iconv/lib/Makefile.in: Ditto.
	* libc/locale/Makefile.in: Ditto.
	* libc/machine/Makefile.in: Ditto.
	* libc/machine/aclocal.m4: Ditto.
	* libc/machine/configure: Ditto.
	* libc/machine/a29k/Makefile.in: Ditto.
	* libc/machine/a29k/configure: Ditto.
	* libc/machine/arm/Makefile.in: Ditto.
	* libc/machine/arm/configure: Ditto.
	* libc/machine/bfin/Makefile.in: Ditto.
	* libc/machine/bfin/configure: Ditto.
	* libc/machine/cris/Makefile.in: Ditto.
	* libc/machine/cris/configure: Ditto.
	* libc/machine/crx/Makefile.in: Ditto.
	* libc/machine/crx/configure: Ditto.
	* libc/machine/d10v/Makefile.in: Ditto.
	* libc/machine/d10v/configure: Ditto.
	* libc/machine/d30v/Makefile.in: Ditto.
	* libc/machine/d30v/configure: Ditto.
	* libc/machine/fr30/Makefile.in: Ditto.
	* libc/machine/fr30/configure: Ditto.
	* libc/machine/frv/Makefile.in: Ditto.
	* libc/machine/frv/configure: Ditto.
	* libc/machine/h8300/Makefile.in: Ditto.
	* libc/machine/h8300/configure: Ditto.
	* libc/machine/h8500/Makefile.in: Ditto.
	* libc/machine/h8500/configure: Ditto.
	* libc/machine/hppa/Makefile.in: Ditto.
	* libc/machine/hppa/configure: Ditto.
	* libc/machine/i386/Makefile.in: Ditto.
	* libc/machine/i386/aclocal.m4: Ditto.
	* libc/machine/i386/configure: Ditto.
	* libc/machine/i960/Makefile.in: Ditto.
	* libc/machine/i960/configure: Ditto.
	* libc/machine/iq2000/Makefile.in: Ditto.
	* libc/machine/iq2000/configure: Ditto.
	* libc/machine/m32c/Makefile.in: Ditto.
	* libc/machine/m32c/configure: Ditto.
	* libc/machine/m32r/Makefile.in: Ditto.
	* libc/machine/m32r/configure: Ditto.
	* libc/machine/m68hc11/Makefile.in: Ditto.
	* libc/machine/m68hc11/configure: Ditto.
	* libc/machine/m68k/Makefile.in: Ditto.
	* libc/machine/m68k/configure: Ditto.
	* libc/machine/m88k/Makefile.in: Ditto.
	* libc/machine/m88k/configure: Ditto.
	* libc/machine/mep/Makefile.in: Ditto.
	* libc/machine/mep/configure: Ditto.
	* libc/machine/mips/Makefile.in: Ditto.
	* libc/machine/mips/configure: Ditto.
	* libc/machine/mn10200/Makefile.in: Ditto.
	* libc/machine/mn10200/configure: Ditto.
	* libc/machine/mn10300/Makefile.in: Ditto.
	* libc/machine/mn10300/configure: Ditto.
	* libc/machine/mt/Makefile.in: Ditto.
	* libc/machine/mt/configure: Ditto.
	* libc/machine/necv70/Makefile.in: Ditto.
	* libc/machine/necv70/configure: Ditto.
	* libc/machine/powerpc/Makefile.in: Ditto.
	* libc/machine/powerpc/configure: Ditto.
	* libc/machine/sh/Makefile.in: Ditto.
	* libc/machine/sh/configure: Ditto.
	* libc/machine/sparc/Makefile.in: Ditto.
	* libc/machine/sparc/configure: Ditto.
	* libc/machine/spu/Makefile.in: Ditto.
	* libc/machine/spu/configure: Ditto.
	* libc/machine/tic4x/Makefile.in: Ditto.
	* libc/machine/tic4x/configure: Ditto.
	* libc/machine/tic80/Makefile.in: Ditto.
	* libc/machine/tic80/configure: Ditto.
	* libc/machine/v850/Makefile.in: Ditto.
	* libc/machine/v850/configure: Ditto.
	* libc/machine/w65/Makefile.in: Ditto.
	* libc/machine/w65/configure: Ditto.
	* libc/machine/x86_64/Makefile.in: Ditto.
	* libc/machine/x86_64/configure: Ditto.
	* libc/machine/xscale/Makefile.in: Ditto.
	* libc/machine/xscale/configure: Ditto.
	* libc/machine/xstormy16/Makefile.in: Ditto.
	* libc/machine/xstormy16/configure: Ditto.
	* libc/machine/z8k/Makefile.in: Ditto.
	* libc/machine/z8k/configure: Ditto.
	* libc/misc/Makefile.in: Ditto.
	* libc/posix/Makefile.in: Ditto.
	* libc/reent/Makefile.in: Ditto.
	* libc/search/Makefile.in: Ditto.
	* libc/signal/Makefile.in: Ditto.
	* libc/stdio/Makefile.in: Ditto.
	* libc/stdio64/Makefile.in: Ditto.
	* libc/stdlib/Makefile.in: Ditto.
	* libc/string/Makefile.in: Ditto.
	* libc/sys/Makefile.in: Ditto.
	* libc/sys/aclocal.m4: Ditto.
	* libc/sys/configure: Ditto.
	* libc/sys/a29khif/Makefile.in: Ditto.
	* libc/sys/a29khif/configure: Ditto.
	* libc/sys/arc/Makefile.in: Ditto.
	* libc/sys/arc/configure: Ditto.
	* libc/sys/arm/Makefile.in: Ditto.
	* libc/sys/arm/configure: Ditto.
	* libc/sys/d10v/Makefile.in: Ditto.
	* libc/sys/d10v/configure: Ditto.
	* libc/sys/decstation/Makefile.in: Ditto.
	* libc/sys/decstation/configure: Ditto.
	* libc/sys/h8300hms/Makefile.in: Ditto.
	* libc/sys/h8300hms/configure: Ditto.
	* libc/sys/h8500hms/Makefile.in: Ditto.
	* libc/sys/h8500hms/configure: Ditto.
	* libc/sys/linux/Makefile.in: Ditto.
	* libc/sys/linux/aclocal.m4: Ditto.
	* libc/sys/linux/configure: Ditto.
	* libc/sys/linux/argp/Makefile.in: Ditto.
	* libc/sys/linux/cmath/Makefile.in: Ditto.
	* libc/sys/linux/dl/Makefile.in: Ditto.
	* libc/sys/linux/iconv/Makefile.in: Ditto.
	* libc/sys/linux/intl/Makefile.in: Ditto.
	* libc/sys/linux/linuxthreads/Makefile.in: Ditto.
	* libc/sys/linux/linuxthreads/aclocal.m4: Ditto.
	* libc/sys/linux/linuxthreads/configure: Ditto.
	* libc/sys/linux/linuxthreads/machine/Makefile.in: Ditto.
	* libc/sys/linux/linuxthreads/machine/aclocal.m4: Ditto.
	* libc/sys/linux/linuxthreads/machine/configure: Ditto.
	* libc/sys/linux/linuxthreads/machine/i386/Makefile.in: Ditto.
	* libc/sys/linux/linuxthreads/machine/i386/aclocal.m4: Ditto.
	* libc/sys/linux/linuxthreads/machine/i386/configure: Ditto.
	* libc/sys/linux/machine/Makefile.in: Ditto.
	* libc/sys/linux/machine/aclocal.m4: Ditto.
	* libc/sys/linux/machine/configure: Ditto.
	* libc/sys/linux/machine/i386/Makefile.in: Ditto.
	* libc/sys/linux/machine/i386/aclocal.m4: Ditto.
	* libc/sys/linux/machine/i386/configure: Ditto.
	* libc/sys/linux/net/Makefile.in: Ditto.
	* libc/sys/linux/stdlib/Makefile.in: Ditto.
	* libc/sys/m88kbug/Makefile.in: Ditto.
	* libc/sys/m88kbug/configure: Ditto.
	* libc/sys/mmixware/Makefile.in: Ditto.
	* libc/sys/mmixware/configure: Ditto.
	* libc/sys/netware/Makefile.in: Ditto.
	* libc/sys/netware/configure: Ditto.
	* libc/sys/rdos/Makefile.in: Ditto.
	* libc/sys/rdos/configure: Ditto.
	* libc/sys/rtems/Makefile.in: Ditto.
	* libc/sys/rtems/configure: Ditto.
	* libc/sys/sh/Makefile.in: Ditto.
	* libc/sys/sh/configure: Ditto.
	* libc/sys/sparc64/Makefile.in: Ditto.
	* libc/sys/sparc64/configure: Ditto.
	* libc/sys/sun4/Makefile.in: Ditto.
	* libc/sys/sun4/configure: Ditto.
	* libc/sys/sysmec/Makefile.in: Ditto.
	* libc/sys/sysmec/configure: Ditto.
	* libc/sys/sysnec810/Makefile.in: Ditto.
	* libc/sys/sysnec810/configure: Ditto.
	* libc/sys/sysnecv850/Makefile.in: Ditto.
	* libc/sys/sysnecv850/configure: Ditto.
	* libc/sys/sysvi386/Makefile.in: Ditto.
	* libc/sys/sysvi386/configure: Ditto.
	* libc/sys/sysvnecv70/Makefile.in: Ditto.
	* libc/sys/sysvnecv70/configure: Ditto.
	* libc/sys/tic80/Makefile.in: Ditto.
	* libc/sys/tic80/configure: Ditto.
	* libc/sys/w65/Makefile.in: Ditto.
	* libc/sys/w65/configure: Ditto.
	* libc/sys/z8ksim/Makefile.in: Ditto.
	* libc/sys/z8ksim/configure: Ditto.
	* libc/syscalls/Makefile.in: Ditto.
	* libc/time/Makefile.in: Ditto.
	* libc/unix/Makefile.in: Ditto.
	* libm/Makefile.in: Ditto.
	* libm/aclocal.m4: Ditto.
	* libm/configure: Ditto.
	* libm/common/Makefile.in: Ditto.
	* libm/machine/Makefile.in: Ditto.
	* libm/machine/aclocal.m4: Ditto.
	* libm/machine/configure: Ditto.
	* libm/machine/i386/Makefile.in: Ditto.
	* libm/machine/i386/aclocal.m4: Ditto.
	* libm/machine/i386/configure: Ditto.
	* libm/machine/spu/Makefile.in: Ditto.
	* libm/machine/spu/configure: Ditto.
	* libm/math/Makefile.in: Ditto.
	* libm/mathfp/Makefile.in: Ditto.
2008-09-29 15:40:48 +00:00
Eric Blake 0962fe9178 Minimize printf/scanf size on platforms that don't need C99.
* acconfig.h (_WANT_IO_C99_FORMATS): New macro.
* newlib.hin (_WANT_IO_C99_FORMATS): Likewise.
* configure.in (newlib-io-c99-formats): New configure option.
(_WANT_IO_C99_FORMATS): Define appropriately.
* configure.host (*-linux*, cygwin): Default c99-formats to yes.
* libc/stdio/vfprintf.c (_VFPRINTF_R) [!_WANT_IO_C99_FORMATS]:
Cripple ' flag; hh, z, j, t sizes; a, A, F, C, S specifiers.
* libc/stdio/vfscanf.c (_VFSCANF_R) [!_WANT_IO_C99_FORMATS]:
Likewise.
* configure: Regenerate.
2007-05-11 20:09:00 +00:00
Jeff Johnston 826b5591dd 2007-03-15 Jeff Johnston <jjohnstn@redhat.com>
* configure.in: Add new --enable-newlib-reent-small option.
        * configure: Regenerated.
        * acconfig.h: Add _WANT_REENT_SMALL.
        * newlib.hin: Regenerated minus PACKAGE macros to add
        _WANT_REENT_SMALL macro.
        * libc/include/sys/config.h[_WANT_REENT_SMALL]: Set _REENT_SMALL
        if not already set.
        * libc/stdio/fflush.c[_REENT_SMALL]: Return immediately if
        there is no buffer.
        * libc/stdio/local.h[_REENT_SMALL]: Fix CHECK_INIT macro to
        use reentrant pointer passed in when resetting the file
        pointer to one of the std streams.
2007-03-15 21:32:13 +00:00
Mark Mitchell 3078fb4f36 * acconfig.h (_ATEXIT_DYNAMIC_ALLOC): Undef.
* configure.in (--disable-newlib-atexit-dynamic-alloc): New
	option.
	* configure: Regenerated.
	* newlib.hin: Regenerated.
	* libc/stdlib/__atexit.c (__register_exitproc): Don't call malloc
	if _ATEXIT_DYNAMIC_ALLOC is undefined.
	* libc/stdlib/__call_atexit.c (__call_exitprocs): Don't call free
	if _ATEXIT_DYNAMIC_ALLOC is undefined.
2006-03-21 00:57:34 +00:00
Jeff Johnston 3acaaf543f 2006-01-24 Jeff Johnston <jjohnstn@redhat.com>
* acinclude.m4: Add nodefine to AM_INIT_AUTOMAKE macro invocation
        so as not to define PACKAGE and VERSION in newlib.h.
        * aclocal.m4: Regenerated.
        * configure: Ditto.
        * newlib.hin: Ditto.
2006-01-24 17:24:02 +00:00
Jeff Johnston 54abc854d0 2006-01-20 Jeff Johnston <jjohnstn@redhat.com>
* acconfig.h: New file to generate newlib.hin from.
        * newlib.hin: Regenerated.
        * stamp-h.in: Regenerated.
        * Makefile.am: Add ACLOCAL_AMFLAGS so aclocal can be
        called automatically.
        * Makefile.in: Regenerated.
        * acinclude.m4: Add proper comment for hack in previous change.
        * aclocal.m4 */aclocal.m4: Regenerated.
        * configure */configure: Regenerated.
2006-01-20 22:42:46 +00:00
Jeff Johnston dd801fdabd 2005-03-17 Jeff Johnston <jjohnstn@redhat.com>
* configure.in: Add new check to see if compiler supports
        aliasing of arrays and define _HAVE_ARRAY_ALIASING if true.
        * configure: Regenerated.
        * Makefile.in: Ditto.
        * newlib.hin: Add _HAVE_ARRAY_ALIASING.
        * libc/ctype/ctype_.c: Check for _HAVE_ARRAY_ALIASING before
        aliasing the _ctype_ array to _ctype_b.
        * libc/include/ctype.h: Change macros to use __ctype_ptr.  Mark
        _ctype_ as deprecated.
2005-03-17 20:11:23 +00:00
Jeff Johnston f7a74742e6 2005-01-07 Paul Brook <paul@codesourcery.com>
* configure.in: Add test for .init_array.
        * configure: Regenerate.
        * newlib.hin: Add HAVE_INITFINI_ARRAY.
        * libc/misc/Makefile.am: Add init.c
        * libc/misc/Makefile.in: Regenerate.
        * libc/misc/init.c: New file.
        * libc/sys/arm/crt0.S: Call __libc_{init,fini}_array instead of
        _init/_fini if they exist.
2005-01-07 18:04:39 +00:00
Jeff Johnston 660dade387 2004-06-25 Artem B. Bityuckiy <dedekind@oktetlabs.ru>
* acinclude.m4: Move iconv options into configure.in.
	* aclocal.m4: Regenerated.
	* configure: Ditto.
	* configure.in: Add iconv options.
	* newlib.hin: Add new iconv encodings and remove deleted ones.
	* doc/aclocal.m4: Regenerated.
	* doc/configure: Ditto.
	* iconvdata/aclocal.m4: Ditto.
	* iconvdata/configure: Ditto.
	* libc/iconv: Design change.  New size-optimized ccs format.
	* libc/iconv/AUTHORS: Removed.
	* libc/iconv/COPYING: Ditto.
	* libc/iconv/README.ORIGINAL: Ditto.
	* libc/iconv/README.TODO: Ditto.
	* libc/iconv/charset.aliases: Ditto.
	* libc/iconv/encoding.aliases: New file.
	* libc/iconv/Makefile.am: Updated.
	* libc/iconv/Makefile.in: Regenerated.
	* libc/iconv/iconv.tex: Updated.
	* libc/iconv/ccs/Makefile.am: Ditto.
	* libc/iconv/ccs/Makefile.in: Regenerated.
	* libc/iconv/ccs/big5.c: Updated.
	* libc/iconv/ccs/cns11643_plane1.c: Ditto.
	* libc/iconv/ccs/cns11643_plane14.c: Ditto.
	* libc/iconv/ccs/cns11643_plane2.c: Ditto.
	* libc/iconv/ccs/cp775.c: Ditto.
	* libc/iconv/ccs/cp850.c: Ditto.
	* libc/iconv/ccs/cp852.c: Ditto.
	* libc/iconv/ccs/cp855.c: Ditto.
	* libc/iconv/ccs/cp866.c: Ditto.
	* libc/iconv/ccs/iso_8859_1.c: Ditto.
	* libc/iconv/ccs/README.CCS.SOURCES: Removed.
	* libc/iconv/ccs/gb_2312_80.c: Ditto.
	* libc/iconv/ccs/iconv_mktbl: Ditto.
	* libc/iconv/ccs/jis_x0201.c: Ditto.
	* libc/iconv/ccs/jis_x0208_1983.c: Ditto.
	* libc/iconv/ccs/shift_jis.c: Ditto.
	* libc/iconv/ccs/us_ascii.c: Ditto.
	* libc/iconv/ccs/ccs.h: New file.
	* libc/iconv/ccs/ccsbi.c: Ditto.
	* libc/iconv/ccs/ccsbi.h: Ditto.
	* libc/iconv/ccs/ccsnames.h: Ditto.
	* libc/iconv/ccs/iso_8859_10.c: Ditto.
	* libc/iconv/ccs/iso_8859_11.c: Ditto.
	* libc/iconv/ccs/iso_8859_13.c: Ditto.
	* libc/iconv/ccs/iso_8859_14.c: Ditto.
	* libc/iconv/ccs/iso_8859_3.c: Ditto.
	* libc/iconv/ccs/iso_8859_6.c: Ditto.
	* libc/iconv/ccs/iso_8859_7.c: Ditto.
	* libc/iconv/ccs/iso_8859_8.c: Ditto.
	* libc/iconv/ccs/iso_8859_9.c: Ditto.
	* libc/iconv/ccs/iso_ir_111.c: Ditto.
	* libc/iconv/ccs/jis_x0201_1976.c: Ditto.
	* libc/iconv/ccs/jis_x0208_1990.c: Ditto.
	* libc/iconv/ccs/koi8_ru.c: Ditto.
	* libc/iconv/ccs/koi8_uni.c: Ditto.
	* libc/iconv/ccs/mktbl.pl: Ditto.
	* libc/iconv/ccs/win_1250.c: Ditto.
	* libc/iconv/ccs/win_1251.c: Ditto.
	* libc/iconv/ccs/win_1252.c: Ditto.
	* libc/iconv/ccs/win_1253.c: Ditto.
	* libc/iconv/ccs/win_1254.c: Ditto.
	* libc/iconv/ccs/win_1255.c: Ditto.
	* libc/iconv/ccs/win_1256.c: Ditto.
	* libc/iconv/ccs/win_1257.c: Ditto.
	* libc/iconv/ccs/win_1258.c: Ditto.
	* libc/iconv/ccs/iso_8859_15.c
	* libc/iconv/ccs/iso_8859_2.c
	* libc/iconv/ccs/iso_8859_4.c
	* libc/iconv/ccs/iso_8859_5.c
	* libc/iconv/ccs/jis_x0212_1990.c
	* libc/iconv/ccs/koi8_r.c
	* libc/iconv/ccs/koi8_u.c
	* libc/iconv/ccs/ksx1001.c
	* libc/iconv/ccs/binary/gb_2312_80.cct: Removed.
	* libc/iconv/ccs/binary/jis_x0201.cct: Ditto.
	* libc/iconv/ccs/binary/shift_jis.cct: Ditto.
	* libc/iconv/ccs/binary/us_ascii.cct: Ditto.
	* libc/iconv/ccs/binary/jis_x0208_1983.cct: Ditto.
	* libc/iconv/ccs/binary/Makefile.am: Updated.
	* libc/iconv/ccs/binary/Makefile.in: Regenerated.
	* libc/iconv/ccs/binary/big5.cct: Updated.
	* libc/iconv/ccs/binary/cns11643_plane1.cct: Ditto.
	* libc/iconv/ccs/binary/cns11643_plane14.cct: Ditto.
	* libc/iconv/ccs/binary/cns11643_plane2.cct: Ditto.
	* libc/iconv/ccs/binary/cp775.cct: Updated.: Ditto.
	* libc/iconv/ccs/binary/cp850.cct: Ditto.: Ditto.
	* libc/iconv/ccs/binary/cp852.cct: Ditto.: Ditto.
	* libc/iconv/ccs/binary/cp855.cct: Ditto.: Ditto.
	* libc/iconv/ccs/binary/cp866.cct: Ditto.: Ditto.
	* libc/iconv/ccs/binary/iso_8859_1.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_15.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_4.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_5.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_2.cct: Ditto.
	* libc/iconv/ccs/binary/jis_x0212_1990.cct: Ditto.
	* libc/iconv/ccs/binary/koi8_r.cct: Ditto.
	* libc/iconv/ccs/binary/koi8_u.cct: Ditto.
	* libc/iconv/ccs/binary/ksx1001.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_10.cct: New file.
	* libc/iconv/ccs/binary/iso_8859_11.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_13.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_14.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_3.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_6.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_7.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_8.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_9.cct: Ditto.
	* libc/iconv/ccs/binary/iso_ir_111.cct: Ditto.
	* libc/iconv/ccs/binary/jis_x0201_1976.cct: Ditto.
	* libc/iconv/ccs/binary/jis_x0208_1990.cct: Ditto.
	* libc/iconv/ccs/binary/koi8_ru.cct: Ditto.
	* libc/iconv/ccs/binary/koi8_uni.cct: Ditto.
	* libc/iconv/ccs/binary/win_1250.cct: Ditto.
	* libc/iconv/ccs/binary/win_1251.cct: Ditto.
	* libc/iconv/ccs/binary/win_1252.cct: Ditto.
	* libc/iconv/ccs/binary/win_1253.cct: Ditto.
	* libc/iconv/ccs/binary/win_1254.cct: Ditto.
	* libc/iconv/ccs/binary/win_1255.cct: Ditto.
	* libc/iconv/ccs/binary/win_1256.cct: Ditto.
	* libc/iconv/ccs/binary/win_1257.cct: Ditto.
	* libc/iconv/ccs/binary/win_1258.cct: Ditto.
	* libc/iconv/ces/Makefile.am: Updated.
	* libc/iconv/ces/Makefile.in: Regenerated.
	* libc/iconv/ces/ucs-2-internal.c: Updated.
	* libc/iconv/ces/ucs-4-internal.c: Ditto.
	* libc/iconv/ces/utf-16.c: Ditto.
	* libc/iconv/ces/utf-8.c: Ditto.
	* libc/iconv/ces/cesbi.c: New file.
	* libc/iconv/ces/cesbi.h: Ditto.
	* libc/iconv/ces/cesdeps.h: Ditto.
	* libc/iconv/ces/euc.c: Ditto.
	* libc/iconv/ces/mkdeps.pl: Ditto.
	* libc/iconv/ces/table-pcs.c: Ditto.
	* libc/iconv/ces/table.c: Ditto.
	* libc/iconv/ces/ucs-2.c: Ditto.
	* libc/iconv/ces/ucs-4.c: Ditto.
	* libc/iconv/ces/us-ascii.c: Ditto.
	* libc/iconv/ces/euc-jp.c: Removed.
	* libc/iconv/ces/euc-kr.c: Ditto.
	* libc/iconv/ces/euc-tw.c: Ditto.
	* libc/iconv/ces/gb2312.c: Ditto.
	* libc/iconv/ces/iso-10646-ucs-2.: Ditto.c
	* libc/iconv/ces/iso-10646-ucs-4.c: Ditto.
	* libc/iconv/lib/Makefile.am: Updated.
	* libc/iconv/lib/Makefile.in: Regenerated.
	* libc/iconv/lib/endian.h: Updated.
	* libc/iconv/lib/iconv.c: Ditto.
	* libc/iconv/lib/local.h: Ditto.
	* libc/iconv/lib/aliases.c: Removed.
	* libc/iconv/lib/bialiasesi.c: Ditto.
	* libc/iconv/lib/biccs.c: Ditto.
	* libc/iconv/lib/bices.c: Ditto.
	* libc/iconv/lib/ccs.c: Ditto.
	* libc/iconv/lib/ces.c: Ditto.
	* libc/iconv/lib/ces_euc.c: Ditto.
	* libc/iconv/lib/ces_iso2022.c: Ditto.
	* libc/iconv/lib/ces_table.c: Ditto.
	* libc/iconv/lib/converter.c: Ditto.
	* libc/iconv/lib/deps.h: Ditto.
	* libc/iconv/lib/aliasesbi.c: Ditto.
	* libc/iconv/lib/aliasesi.c: Ditto.
	* libc/iconv/lib/conv.h: Ditto.
	* libc/iconv/lib/encnames.h: Ditto.
	* libc/iconv/lib/encoding.deps: Ditto.
	* libc/iconv/lib/iconvnls.c: Ditto.
	* libc/iconv/lib/iconvnls.h: Ditto.
	* libc/iconv/lib/loaddata.c: Ditto.
	* libc/iconv/lib/nullconv.c: Ditto.
	* libc/iconv/lib/ucsconv.c: Ditto.
	* libc/iconv/lib/ucsconv.h: Ditto.
	* libc/include/iconv.h: Update copyright.
	* libc/*/aclocal.m4: Regenerated.
	* libc/*/configure: Ditto.
	* libm/*/aclocal.m4: Ditto.
	* libm/*/configure: Ditto.
2004-06-25 20:33:28 +00:00
Jeff Johnston 227e6ef6c3 2004-05-25 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* newlib.hin: (_WANT_IO_POS_ARGS): New define.
        (_WANT_IO_LONG_LONG): Ditto.
        (_WANT_IO_LONG_DOUBLE): Ditto.
        * configure.in: Add new configuration options
        --enable-newlib-io-long-long and --enable-newlib-io-long-double
        which tie to new defines in newlib.hin.
        * configure: Regenerated.
        * configure.host: Add checks for new configuration options.  Also
        fix up check for --enable-newlib-io-pos-args so configuration
        option will override any default for a given platform.
        Remove defining compiler flags for the _WANT_IO* options.
        * libc/stdio/vfprintf.c: Change to use new newlib.hin defines
        instead of looking for old compiler flags.
        * libc/stdio/vfscanf.c: Ditto.
        * libc/stdio/vfieeefp.h: Ditto.
        * libc/machine/powerpc/vfprintf.c: Ditto.
        * libc/machine/powerpc/vfscanf.c: Ditto.
2004-05-26 00:19:14 +00:00
Jeff Johnston f777e3a5ac 2004-04-23 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* configure.in: Define _MB_CAPABLE if mb supported.
        * configure: Regenerated.
        * configure.host: Remove manual setting of MB_CAPABLE compiler
        flag.
        * newlib.hin: Add _MB_CAPABLE flag.
        * libc/ctype/iswalpha.c, libc/ctype/iswblank.c: Include <newlib.h>
        and check for _MB_CAPABLE flag instead of MB_CAPABLE.
        * libc/ctype/iswcntrl.c, libc/ctype/iswprint.c: Ditto.
        * libc/ctype/iswpunct.c, libc/ctype/iswspace.c: Ditto.
        * libc/ctype/jp2uc.c: Ditto.
        * libc/ctype/towlower.c, libc/ctype/towupper.c: Ditto.
        * libc/locale/locale.c: Ditto
        * libc/machine/powerpc/vfscanf.c: Ditto
        * libc/stdio/vfprintf.c, libc/stdio/vfscanf.c: Ditto
        * libc/stdlib/mblen.c: Ditto
        * libc/stdlib/mblen_r.c, libc/stdlib/mbrlen.c: Ditto
        * libc/stdlib/mbrtowc.c, libc/stdlib/mbsrtowcs.c: Ditto
        * libc/stdlib/mbstowcs.c, libc/stdlib/mbtowc.c: Ditto
        * libc/stdlib/mbtowc_r.c, libc/stdlib/wcrtomb.c: Ditto
        * libc/stdlib/wcsrtombs.c, libc/stdlib/wcstombs.c: Ditto
        * libc/stdlib/wctomb.c, libc/sys/linux/intl/dcigettext.c: Ditto
        * libc/sys/linux/intl/explodename.c: Ditto
        * libc/sys/linux/intl/finddomain.c: Ditto
        * libc/sys/linux/intl/l10nflist.c: Ditto
        * libc/sys/linux/intl/loadmsgcat.c: Ditto
        * libc/sys/linux/intl/localealias.c: Ditto
2004-04-23 21:44:22 +00:00
Jeff Johnston 1a4f1aef1f 2004-01-27 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* configure.in: Add support to generate iconv converter flags
	for newlib.h
	* newlib.hin: Add iconv converter flags.
	* configure: Regenerated.
	* libc/Makefile.in: Ditto.
	* libc/configure.in: Moved iconv converter parsing logic to
	top level newlib configure.in.
	* libc/configure: Regenerated.
	* libc/iconv/Makefile.in: Ditto.
	* libc/iconv/README.TODO
	* libc/iconv/charset.aliases: Remove wrong BE aliases for
	UCS2/UCS4/UTF8.
	* libc/iconv/ccs/Makefile.am: Remove C flag setting now that
	newlib.h can be used.
	* libc/iconv/ces/Makefile.am: Ditto.
	* libc/iconv/lib/Makefile.am: Ditto.
	* libc/iconv/ccs/Makefile.in: Regenerated.
	* libc/iconv/ces/Makefile.in: Ditto.
	* libc/iconv/lib/Makefile.in: Ditto.
	* libc/iconv/ccs/README.CCS.SOURCES: Updated.
	* libc/iconv/ccs/iconv_mktbl: Don't write junk strings to binaries.
	* libc/iconv/ccs/big5.c: Switch to use new underscored flags
	defined in newlib.h.
	* libc/iconv/ccs/cns11643_plane1.c: Ditto.
	* libc/iconv/ccs/cns11643_plane14.c: Ditto.
	* libc/iconv/ccs/cns11643_plane2.c: Ditto.
	* libc/iconv/ccs/cp775.c: Ditto.
	* libc/iconv/ccs/cp850.c: Ditto.
	* libc/iconv/ccs/cp852.c: Ditto.
	* libc/iconv/ccs/cp855.c: Ditto.
	* libc/iconv/ccs/cp866.c: Ditto.
	* libc/iconv/ccs/gb_2312_80.c: Ditto.
	* libc/iconv/ccs/iso_8859_1.c: Ditto.
	* libc/iconv/ccs/iso_8859_15.c: Ditto.
	* libc/iconv/ccs/iso_8859_2.c: Ditto.
	* libc/iconv/ccs/iso_8859_4.c: Ditto.
	* libc/iconv/ccs/iso_8859_5.c: Ditto.
	* libc/iconv/ccs/jis_x0201.c: Ditto.
	* libc/iconv/ccs/jis_x0208_1983.c: Ditto.
	* libc/iconv/ccs/jis_x0212_1990.c: Ditto.
	* libc/iconv/ccs/koi8_r.c: Ditto.
	* libc/iconv/ccs/koi8_u.c: Ditto.
	* libc/iconv/ccs/ksx1001.c: Ditto.
	* libc/iconv/ccs/shift_jis.c: Ditto.
	* libc/iconv/ccs/us_ascii.c: Ditto.
	* libc/iconv/ccs/binary/big5.cct: Newly generated.
	* libc/iconv/ccs/binary/cns11643_plane1.cct: Ditto.
	* libc/iconv/ccs/binary/cns11643_plane14.cct: Ditto.
	* libc/iconv/ccs/binary/cns11643_plane2.cct: Ditto.
	* libc/iconv/ccs/binary/cp775.cct: Ditto.
	* libc/iconv/ccs/binary/cp850.cct: Ditto.
	* libc/iconv/ccs/binary/cp852.cct: Ditto.
	* libc/iconv/ccs/binary/cp855.cct: Ditto.
	* libc/iconv/ccs/binary/cp866.cct: Ditto.
	* libc/iconv/ccs/binary/gb_2312_80.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_1.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_15.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_2.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_4.cct: Ditto.
	* libc/iconv/ccs/binary/iso_8859_5.cct: Ditto.
	* libc/iconv/ccs/binary/jis_x0201.cct: Ditto.
	* libc/iconv/ccs/binary/jis_x0208_1983.cct: Ditto.
	* libc/iconv/ccs/binary/jis_x0212_1990.cct: Ditto.
	* libc/iconv/ccs/binary/koi8_r.cct: Ditto.
	* libc/iconv/ccs/binary/koi8_u.cct: Ditto.
	* libc/iconv/ccs/binary/ksx1001.cct: Ditto.
	* libc/iconv/ccs/binary/shift_jis.cct: Ditto.
	* libc/iconv/ccs/binary/us_ascii.cct: Ditto.
	* libc/iconv/lib/bialiasesi.c: Sync with charset.aliases.
	* libc/iconv/ces/euc-jp.c: Use newlib.h macros.
	* libc/iconv/ces/euc-kr.c: Ditto.
	* libc/iconv/ces/euc-tw.c: Ditto.
	* libc/iconv/ces/gb2312.c: Ditto.
	* libc/iconv/ces/iso-10646-ucs-2.c: Ditto.
	* libc/iconv/ces/iso-10646-ucs-4.c: Ditto.
	* libc/iconv/ces/ucs-2-internal.c: Ditto.
	* libc/iconv/ces/ucs-4-internal.c: Ditto.
	* libc/iconv/ces/utf-16.c: Ditto.
	* libc/iconv/ces/utf-8.c: Ditto.
	* libc/iconv/lib/aliases.c: Ditto.
	* libc/iconv/lib/biccs.c: Ditto.
	* libc/iconv/lib/bices.c: Ditto.
	* libc/iconv/lib/ccs.c: Ditto.
	* libc/iconv/lib/ces.c: Ditto.
	* libc/iconv/lib/ces_euc.c: Ditto.
	* libc/iconv/lib/ces_iso2022.c: Ditto.
	* libc/iconv/lib/ces_table.c: Ditto.
	* libc/iconv/lib/converter.c: Ditto.
	* libc/iconv/lib/deps.h: Ditto.
	* libc/iconv/lib/endian.h: Ditto.
	* libc/iconv/lib/iconv.c: Ditto.
	* libc/iconv/lib/loaddata.c: Ditto.
	* libc/iconv/lib/local.h: Include newlib.h.
	* libc/argz/Makefile.in: Regenerated.
	* libc/ctype/Makefile.in: Ditto.
	* libc/errno/Makefile.in: Ditto.
	* libc/iconv/ccs/binary/Makefile.in: Ditto.
	* libc/locale/Makefile.in: Ditto.
	* libc/misc/Makefile.in: Ditto.
	* libc/posix/Makefile.in: Ditto.
	* libc/reent/Makefile.in: Ditto.
	* libc/search/Makefile.in: Ditto.
	* libc/signal/Makefile.in: Ditto.
	* libc/stdio/Makefile.in: Ditto.
	* libc/stdio64/Makefile.in: Ditto.
	* libc/stdlib/Makefile.in: Ditto.
	* libc/string/Makefile.in: Ditto.
	* libc/syscalls/Makefile.in: Ditto.
	* libc/time/Makefile.in: Ditto.
	* libc/unix/Makefile.in: Ditto.
	* testsuite/newlib.iconv/iconv.exp: New file.
	* testsuite/newlib.iconv/iconvjp.c: Ditto.
	* testsuite/newlib.iconv/iconvnm.c: Ditto.
	* testsuite/newlib.iconv/iconvru.c: Ditto.
2004-01-29 17:12:36 +00:00
Jeff Johnston 786ab12ce2 2004-01-23 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* acinclude.m4 (--enable-newlib-iconv): New configuration option.
	(--enable-newlib-builtin-converters): Ditto.
	* configure.in: Add code to set _ICONV_ENABLED flag.
	Set _MB_LEN_MAX to 1 if not mb enabled.
	* configure: Regenerated.
	* aclocal.m4: Ditto.
	* Makefile.in: Ditto.
	* newlib.hin: Add _ICONV_ENABLED flag.
	* libc/Makefile.am: Add support for iconv.
	* libc/configure.in: Ditto.
	* libc/Makefile.in: Regenerated.
	* libc/aclocal.m4: Ditto.
	* libc/configure: Ditto.
	* libc/libc.texinfo: Add iconv documentation.
	* libc/iconv/AUTHORS, libc/iconv/COPYING, libc/iconv/Makefile.am,
	libc/iconv/Makefile.in, libc/iconv/README.ORIGINAL,
	libc/iconv/README.TODO, libc/iconv/charset.aliases,
	libc/iconv/iconv.tex, libc/iconv/ccs/Makefile.am,
	libc/iconv/ccs/Makefile.in, libc/iconv/ccs/README.CCS.SOURCES,
	libc/iconv/ccs/big5.c, libc/iconv/ccs/cns11643_plane1.c,
	libc/iconv/ccs/cns11643_plane14.c, libc/iconv/ccs/cns11643_plane2.c,
	libc/iconv/ccs/cp775.c, libc/iconv/ccs/cp850.c,
	libc/iconv/ccs/cp852.c, libc/iconv/ccs/cp855.c,
	libc/iconv/ccs/cp866.c, libc/iconv/ccs/gb_2312_80.c,
	libc/iconv/ccs/iconv_mktbl, libc/iconv/ccs/iso_8859_1.c,
	libc/iconv/ccs/iso_8859_15.c, libc/iconv/ccs/iso_8859_2.c,
	libc/iconv/ccs/iso_8859_4.c, libc/iconv/ccs/iso_8859_5.c,
	libc/iconv/ccs/jis_x0201.c, libc/iconv/ccs/jis_x0208_1983.c,
	libc/iconv/ccs/jis_x0212_1990.c, libc/iconv/ccs/koi8_r.c,
	libc/iconv/ccs/koi8_u.c, libc/iconv/ccs/ksx1001.c,
	libc/iconv/ccs/shift_jis.c, libc/iconv/ccs/us_ascii.c,
	libc/iconv/ccs/binary/Makefile.am, libc/iconv/ccs/binary/Makefile.in,
	libc/iconv/ccs/binary/big5.cct,
	libc/iconv/ccs/binary/cns11643_plane1.cct,
	libc/iconv/ccs/binary/cns11643_plane14.cct,
	libc/iconv/ccs/binary/cns11643_plane2.cct,
	libc/iconv/ccs/binary/cp775.cct, libc/iconv/ccs/binary/cp850.cct,
	libc/iconv/ccs/binary/cp852.cct, libc/iconv/ccs/binary/cp855.cct,
	libc/iconv/ccs/binary/cp866.cct, libc/iconv/ccs/binary/gb_2312_80.cct,
	libc/iconv/ccs/binary/iso_8859_1.cct,
	libc/iconv/ccs/binary/iso_8859_15.cct,
	libc/iconv/ccs/binary/iso_8859_2.cct,
	libc/iconv/ccs/binary/iso_8859_4.cct,
	libc/iconv/ccs/binary/iso_8859_5.cct,
	libc/iconv/ccs/binary/jis_x0201.cct,
	libc/iconv/ccs/binary/jis_x0208_1983.cct,
	libc/iconv/ccs/binary/jis_x0212_1990.cct,
	libc/iconv/ccs/binary/koi8_r.cct, libc/iconv/ccs/binary/koi8_u.cct,
	libc/iconv/ccs/binary/ksx1001.cct,
	libc/iconv/ccs/binary/shift_jis.cct,
	libc/iconv/ccs/binary/us_ascii.cct,
	libc/iconv/ces/Makefile.am, libc/iconv/ces/Makefile.in,
	libc/iconv/ces/euc-jp.c, libc/iconv/ces/euc-kr.c,
	libc/iconv/ces/euc-tw.c, libc/iconv/ces/gb2312.c,
	libc/iconv/ces/iso-10646-ucs-2.c, libc/iconv/ces/iso-10646-ucs-4.c,
	libc/iconv/ces/ucs-2-internal.c, libc/iconv/ces/ucs-4-internal.c,
	libc/iconv/ces/utf-16.c, libc/iconv/ces/utf-8.c,
	libc/iconv/lib/Makefile.am, libc/iconv/lib/Makefile.in,
	libc/iconv/lib/aliases.c, libc/iconv/lib/bialiasesi.c,
	libc/iconv/lib/biccs.c, libc/iconv/lib/bices.c,
	libc/iconv/lib/ccs.c, libc/iconv/lib/ces.c,
	libc/iconv/lib/ces_euc.c, libc/iconv/lib/ces_iso2022.c,
	libc/iconv/lib/ces_table.c, libc/iconv/lib/converter.c,
	libc/iconv/lib/deps.h, libc/iconv/lib/endian.h,
	libc/iconv/lib/iconv.c, libc/iconv/lib/loaddata.c,
	libc/iconv/lib/local.h, libc/include/iconv.h: New files.
	* libc/sys/linux/include/iconv.h: Ditto.
	* libc/include/sys/_types.h (_iconv_t): Added.
	* doc/aclocal.m4: Regenerated.
	* doc/configure: Ditto.
	* doc/Makefile.in: Ditto.
	* iconvdata/Makefile.in: Ditto.
	* iconvdata/aclocal.m4: Ditto.
	* iconvdata/configure: Ditto.
	* libc/*aclocal.m4: Ditto.
	* libc/*Makefile.in: Ditto.
	* libc/*configure: Ditto.
	* libm/*aclocal.m4: Ditto.
	* libm/*Makefile.in: Ditto.
	* libm/*configure: Ditto.
2004-01-23 21:37:46 +00:00
Jeff Johnston a861509239 2002-09-11 Jeff Johnston <jjohnstn@redhat.com>
* acinclude.m4 (enable-newlib-mb): Change check to
        default newlib_mb variable to empty string rather than "no".
        * configure.host: Remove hard-coding of -DMB_CAPABLE for
        x86-linux and Cygwin.  Add code to check for newlib_mb
        being unset in which case set to "yes" for x86-linux and
        Cygwin.  Change check for newlib_mb being "yes" to allow
        for an empty string.
        * configure.in (_MB_LEN_MAX): New AC_DEFINE.
        * newlib.hin (_MB_LEN_MAX): New define to configure.
        * aclocal.m4: Regenerated.
        * configure: Ditto.
        * libc/include/limits.h: New file.
        * libc/sys/linux/include/limits.h: Ditto.
        * doc/aclocal.m4 doc/configure libc/aclocal.m4
          libc/configure libc/machine/aclocal.m4
          libc/machine/configure libc/machine/a29k/aclocal.m4
          libc/machine/a29k/configure libc/machine/arm/aclocal.m4
          libc/machine/arm/configure libc/machine/d10v/aclocal.m4
          libc/machine/d10v/configure libc/machine/d30v/aclocal.m4
          libc/machine/d30v/configure libc/machine/fr30/aclocal.m4
          libc/machine/fr30/configure libc/machine/frv/aclocal.m4
          libc/machine/frv/configure libc/machine/h8300/aclocal.m4
          libc/machine/h8300/configure libc/machine/h8500/aclocal.m4
          libc/machine/h8500/configure libc/machine/hppa/aclocal.m4
          libc/machine/hppa/configure libc/machine/i386/aclocal.m4
          libc/machine/i386/configure libc/machine/i960/aclocal.m4
          libc/machine/i960/configure libc/machine/m32r/aclocal.m4
          libc/machine/m32r/configure libc/machine/m68hc11/aclocal.m4
          libc/machine/m68hc11/configure libc/machine/m68k/aclocal.m4
          libc/machine/m68k/configure libc/machine/m88k/aclocal.m4
          libc/machine/m88k/configure libc/machine/mips/aclocal.m4
          libc/machine/mips/configure libc/machine/mn10200/aclocal.m4
          libc/machine/mn10200/configure libc/machine/mn10300/aclocal.m4
          libc/machine/mn10300/configure libc/machine/necv70/aclocal.m4
          libc/machine/necv70/configure libc/machine/powerpc/aclocal.m4
          libc/machine/powerpc/configure libc/machine/sh/aclocal.m4
          libc/machine/sh/configure libc/machine/sparc/aclocal.m4
          libc/machine/sparc/configure libc/machine/tic80/aclocal.m4
          libc/machine/tic80/configure libc/machine/v850/aclocal.m4
          libc/machine/v850/configure libc/machine/w65/aclocal.m4
          libc/machine/w65/configure libc/machine/xscale/aclocal.m4
          libc/machine/xscale/configure
          libc/machine/xstormy16/aclocal.m4
          libc/machine/xstormy16/configure libc/machine/z8k/aclocal.m4
          libc/machine/z8k/configure libc/sys/aclocal.m4
          libc/sys/configure libc/sys/a29khif/aclocal.m4
          libc/sys/a29khif/configure libc/sys/arc/aclocal.m4
          libc/sys/arc/configure libc/sys/arm/aclocal.m4
          libc/sys/arm/configure libc/sys/cygwin/aclocal.m4
          libc/sys/cygwin/configure libc/sys/d10v/aclocal.m4
          libc/sys/d10v/configure libc/sys/decstation/aclocal.m4
          libc/sys/decstation/configure libc/sys/go32/aclocal.m4
          libc/sys/go32/configure libc/sys/h8300hms/aclocal.m4
          libc/sys/h8300hms/configure libc/sys/h8500hms/aclocal.m4
          libc/sys/h8500hms/configure libc/sys/idt/aclocal.m4
          libc/sys/idt/configure libc/sys/linux/aclocal.m4
          libc/sys/linux/configure libc/sys/linux/machine/aclocal.m4
          libc/sys/linux/machine/configure
          libc/sys/linux/machine/i386/aclocal.m4
          libc/sys/linux/machine/i386/configure
          libc/sys/m88kbug/aclocal.m4 libc/sys/m88kbug/configure
          libc/sys/mmixware/aclocal.m4 libc/sys/mmixware/configure
          libc/sys/netware/aclocal.m4 libc/sys/netware/configure
          libc/sys/rtems/aclocal.m4 libc/sys/rtems/configure
          libc/sys/sh/aclocal.m4 libc/sys/sh/configure
          libc/sys/sparc64/aclocal.m4 libc/sys/sparc64/configure
          libc/sys/sun4/aclocal.m4 libc/sys/sun4/configure
          libc/sys/sysmec/aclocal.m4 libc/sys/sysmec/configure
          libc/sys/sysnec810/aclocal.m4 libc/sys/sysnec810/configure
          libc/sys/sysnecv850/aclocal.m4 libc/sys/sysnecv850/configure
          libc/sys/sysvi386/aclocal.m4 libc/sys/sysvi386/configure
          libc/sys/sysvnecv70/aclocal.m4 libc/sys/sysvnecv70/configure
          libc/sys/tic80/aclocal.m4 libc/sys/tic80/configure
          libc/sys/w65/aclocal.m4 libc/sys/w65/configure
          libc/sys/z8ksim/aclocal.m4 libc/sys/z8ksim/configure
          libm/aclocal.m4 libm/configure: Regenerated.
2002-09-11 18:36:55 +00:00