Commit Graph

42 Commits

Author SHA1 Message Date
Sebastian Huber 7dad0e441a stdio: Fix make rule override
The Makefile.am contained two rules for the vfwscanf object.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2017-07-28 15:05:54 +02:00
Sebastian Huber f70d9ae6ad Use enum __packed in favour of -fshort-enums
Some architectures like ARM encode the short enum option state in the
object file and the linker checks that this option is consistent for all
objects of an executable.  In case applications use -fno-short-enums,
then this leads to linker warnings.  Use the enum __packed attribute for
the relevent enums to avoid the -fshort-enums compiler option.  This
attribute is at least available on GCC, LLVM/clang and the Intel
compiler.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2017-04-03 10:26:33 +02:00
Jeff Johnston 0631279394 Move duplicated documentation rules to Makefile.shared
- Also, harmonize libm to use CHEWOUT_FILES like libc, rather than chobj.
  Update documentation appropriately.

        * HOWTO: Update.
        * Makefile.shared: Move documentation rules to here...
        * libc/argz/Makefile.am: ... from here ...
        * libc/ctype/Makefile.am: ... and here.
        * libc/errno/Makefile.am: Ditto.
        * libc/iconv/Makefile.am: Ditto.
        * libc/iconv/ccs/Makefile.am : Ditto.
        * libc/iconv/ces/Makefile.am: Ditto.
        * libc/iconv/lib/Makefile.am: Ditto.
        * libc/locale/Makefile.am: Ditto.
        * libc/misc/Makefile.am: Ditto.
        * libc/posix/Makefile.am: Ditto.
        * libc/reent/Makefile.am: Ditto.
        * libc/search/Makefile.am: Ditto.
        * libc/stdio/Makefile.am: Ditto.
        * libc/stdio64/Makefile.am: Ditto.
        * libc/stdlib/Makefile.am : Ditto.
        * libc/string/Makefile.am: Ditto.
        * libc/syscalls/Makefile.am: Ditto.
        * libc/time/Makefile.am : Ditto.
        * libc/unix/Makefile.am: Ditto.
        * libc/xdr/Makefile.am: Ditto.
        * libm/common/Makefile.am: Ditto.
        * libm/complex/Makefile.am: Ditto.
        * libm/math/Makefile.am: Ditto.
        * libm/mathfp/Makefile.am: Ditto.
2015-11-02 18:02:39 -05:00
Jon TURNEY 433aad912d Don't chew files which contain no documentation markup
Don't chew files which contain no documentation markup.

Neither of the alternatives for MALLOCR (mallocr.c or nano-mallocr.c) contain
any documentation markup.

2015-06-23  Jon Turney  <jon.turney@dronecode.org.uk>

	* libc/stdlib/Makefile.am (CHEWOUT_FILES): Remove $(MALLOCR).def.
	* libc/stdio/Makefile.am (CHEWOUT_FILES): Remove getwc.def and
	putwc.def.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2015-06-24 12:23:49 +01:00
Yaakov Selkowitz 968738f9b1 Implement BSD/GNU unlocked stdio extensions.
* libc/include/stdio.h (clearerr_unlocked, feof_unlocked,
ferror_unlocked, fflush_unlocked, fgetc_unlocked, fgets_unlocked,
fileno_unlocked, fputc_unlocked, fputs_unlocked, fread_unlocked,
fwrite_unlocked): Declare.
* libc/include/wchar.h (fgetwc_unlocked, fgetws_unlocked,
fputwc_unlocked, fputws_unlocked, getwc_unlocked, getwchar_unlocked,
putwc_unlocked, putwchar_unlocked): Declare.
* libc/stdio/Makefile.am (ELIX_4_SOURCES): Add clearerr_u.c,
feof_u.c, ferror_u.c, fflush_u.c, fgetc_u.c, fgets_u.c, fgetwc_u.c,
fgetws_u.c, fileno_u.c, fputc_u.c, fputs_u.c, fputwc_u.c, fputws_u.c,
fread_u.c, fwrite_u.c, getwc_u.c, getwchar_u.c, putwc_u.c, putwchar_u.c.
Add necessary dependencies.
* libc/stdio/Makefile.in: Regenerate.
* libc/stdio/clearerr.c: Document unlocked variant.
* libc/stdio/clearerr_u.c: New file.
* libc/stdio/feof.c: Document unlocked variant.
* libc/stdio/feof_u.c: New file.
* libc/stdio/ferror.c: Document unlocked variant.
* libc/stdio/ferror_u.c: New file.
* libc/stdio/fflush.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fflush_u.c: New file.
* libc/stdio/fgetc.c: Document unlocked variants.
* libc/stdio/fgetc_u.c: New file.
* libc/stdio/fgets.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fgets_u.c: New file.
* libc/stdio/fgetwc.c: Document unlocked variants.
(__fgetwc): Make non-static.
* libc/stdio/fgetwc_u.c: New file.
* libc/stdio/fgetws.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fgetws_u.c: New file.
* libc/stdio/fileno.c: Document unlocked variant.
* libc/stdio/fileno_u.c: New file.
* libc/stdio/fputc.c: Document unlocked variants.
* libc/stdio/fputc_u.c: New file.
* libc/stdio/fputs.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fputs_u.c: New file.
* libc/stdio/fputwc.c: Document unlocked variants.
(__fputwc): Make non-static.
* libc/stdio/fputwc_u.c: New file.
* libc/stdio/fputws.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fputws_u.c: New file.
* libc/stdio/fread.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fread_u.c: New file.
* libc/stdio/fwrite.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fwrite_u.c: New file.
* libc/stdio/getwc_u.c: New file.
* libc/stdio/getwchar.c: Document unlocked variants.
* libc/stdio/getwchar_u.c: New file.
* libc/stdio/local.h: Define locking macros as empty ifdef
__IMPL_UNLOCKED__.
(__fgetwc, __fputwc): Declare.
* libc/stdio/putwc_u.c: New file.
* libc/stdio/putwchar.c: Document unlocked variants.
* libc/stdio/putwchar_u.c: New file.
2014-12-18 14:55:21 +00:00
Yaakov Selkowitz 6485fc66f2 * libc/include/stdio.h (__SNLK): Define.
* libc/include/stdio_ext.h (FSETLOCKING_QUERY, FSETLOCKING_INTERNAL,
FSETLOCKING_BYCALLER): Define.
(__fsetlocking): Declare.
* libc/stdio/Makefile.am: Build fsetlocking.c.
* libc/stdio/Makefile.in: Regenerate.
* libc/stdio/fsetlocking.c: New file.
* libc/stdio/local.h (_newlib_flockfile_start): Make _flockfile
call dependent on __SNLK flag.
(_newlib_flockfile_exit, _newlib_flockfile_end): Ditto for
_funlockfile calls.
Define all locking macros as empty if __SINGLE_THREAD__.
* libc/stdio/stdio.tex: Include fsetlocking.def.
2014-12-15 18:22:56 +00:00
Yaakov Selkowitz 6f34876e5e * libc/include/stdio_ext.h: Rename __fwriteable to __fwritable.
[!__GNUC__]: Declare real functions for the macros, and make
the macros conditional on !__cplusplus.
* libc/stdio/Makefile.am (ELIX_4_SOURCES): Add stdio_ext.c.
(CHEWOUT_FILES): Add stdio_ext.def.
* libc/stdio/Makefile.in: Regenerate.
* libc/stdio/stdio.tex: Include stdio_ext.def.
* libc/stdio/stdio_ext.c: New file.
2014-12-11 16:53:32 +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
Corinna Vinschen 56d5fc7cda * libc/configure.in (--enable-newlib-wchar-orient): Remove.
* libc/configure: Regenerated.
	* libc/stdio/Makefile.am (NEWLIB_WIDE_ORIENT): Remove.
	* libc/stdio/Makefile.in: Regenerated.
2013-08-12 11:31:53 +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
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
Corinna Vinschen d0b85c158f * libc/include/wchar.h (fwscanf, swscanf, vfwscanf, vswscanf, vwscanf,
wscanf): Declare.
	(_fwscanf_r, _swscanf_r, _vfwscanf_r, _vswscanf_r, _vwscanf_r,
	_wscanf_r): Declare.
	* libc/stdio/Makefile.am: Add new wscanf files.
	* libc/stdio/Makefile.in: Regenerate.
	* libc/stdio/fwscanf.c: New file.
	* libc/stdio/local.h (__svfwscanf_r, __ssvfwscanf_r, __svfiwscanf_r,
	__ssvfiwscanf_r): Declare.
	* libc/stdio/stdio.tex: Add new documentation references.
	* libc/stdio/swscanf.c: New file.
	* libc/stdio/vfwscanf.c: New file.
	* libc/stdio/vswscanf.c: New file.
	* libc/stdio/vwscanf.c: New file.
	* libc/stdio/wscanf.c: New file.

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

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

	* libc/stdio/fgetwc.c (__fgetwc): Fix compiler warning.
	* libc/stdio/fgetws.c (_fgetws_r): Ditto.
	* libc/stdio/fread.c (_fread_r): Ditto.
	* libc/stdio/vfprintf.c: Ditto.
	* libc/stdio/vswprintf.c: Ditto.
2009-03-11 11:53:22 +00:00
Corinna Vinschen 6121968b19 * libc/include/stdio.h (__VALIST): Guard against multiple definition.
* libc/include/wchar.h: Include stdarg.h.
	(__VALIST): Define conditionally.
	(fwprintf, swprintf, vfwprintf, vswprintf, vwprintf, wprintf: Declare.
	(_fwprintf_r, _swprintf_r, _vfwprintf_r, _vswprintf_r, _vwprintf_r,
	 _wprintf_r): Declare.
	* libc/stdio/Makefile.am: Add new files.
	* libc/stdio/Makefile.in: Regenerate.
	* libc/stdio/fwprintf.c: New file.
	* libc/stdio/local.h (_svfwprintf_r, _svfiwprintf_r): Declare.
	(__CH_CLASS, __STATE, __ACTION): Move definition from vfprintf.c here
	and move to the __ namespace.
	(__chclass, __state_table, __action_table): Declare.
	* libc/stdio/stdio.tex: Add new documentation references.
	* libc/stdio/swprintf.c: New file.
	* libc/stdio/vfprintf.c (__SPRINT): New macro to call the right
	__sprint_r function according to compilation unit.  Use throughout.
	(__ssprint_r): Rename STRING_ONLY variant from __sprint_r.
	Make externaly available.  Only define if INTEGER_ONLY is defined.
	(__sprint_r): Make externaly available.  Only define if INTEGER_ONLY
	is defined.  Handle stream orientation.
	(__sbprintf): Copy FILE's _flags2 member as well.
	(__chclass, __state_table, __action_table): Prepend __ to name and
	make externally available.
	* libc/stdio/vfwprintf.c: New file.
	* libc/stdio/vswprintf.c: New file.
	* libc/stdio/vwprintf.c: New file.
	* libc/stdio/wprintf.c: New file.
2009-03-06 09:55:52 +00:00
Jeff Johnston 0751f22675 2008-12-10 Corinna Vinschen <corinna@vinschen.de>
Implement basic wide char stdio functionality, based on FreeBSD.
        * libc/include/stdio.h (__SORD): Define.
        (__SWID): Define.
        * libc/include/wchar.h: Add declarations for new wide char functions.
        (getwc): Define as macro.
        (getwchar): Ditto.
        (putwc): Ditto.
        (putwchar): Ditto.
        * libc/include/sys/reent.h (struct __sFILE): Add _mbstate member.
        (struct __sFILE64): Ditto.
        * libc/stdio/Makefile.am (ELIX_4_SOURCES): Add fgetwc.c, fgetws.c,
        fputwc.c, fputws.c, fwide.c, getwc.c, getwchar.c, putwc.c, putwchar.c
        and ungetwc.c.
        (CHEWOUT_FILES): Add fgetwc.def, fgetws.def, fputwc.def, fputws.def,
        fwide.def, getwc.def, getwchar.def, putwc.def, putwchar.def and
        ungetwc.def.
        Add header dependency rules for the new files.
        * libc/stdio/Makefile.in: Regenerate.
        * libc/stdio/fgetwc.c: New file, implementing fgetwc and _fgetwc_r.
        * libc/stdio/fgetws.c: New file, implementing fgetws and _fgetws_r.
        * libc/stdio/findfp.c (std): Initialize FILE's _mbstate member.
        (__sfmoreglue): Ditto.
        * libc/stdio/fputs.c (_fputs_r): Set stream orientation.
        * libc/stdio/fputwc.c: New file, implementing fputwc and _fputwc_r.
        * libc/stdio/fputws.c: New file, implementing fputws and _fputws_r.
        * libc/stdio/fread.c (_fread_r): Set stream orientation.
        * libc/stdio/freopen.c (_freopen_r): Reset stream orientation.  Reset
        _mbstate.
        * libc/stdio/fseek.c (_fseek_r): Reset _mbstate.
        * libc/stdio/fwide.c: New file, implementing fwide and _fwide_r.
        * libc/stdio/fwrite.c (_fwrite_r): Set stream orientation.
        * libc/stdio/getwc.c: New file, implementing getwc and _getwc_r.
        * libc/stdio/getwchar.c: New file, implementing getwchar and
        _getwchar_r.
        * libc/stdio/local.h (ORIENT): New macro.
        * libc/stdio/puts.c (_puts_r): Set stream orientation.
        * libc/stdio/putwc.c: New file, implementing putwc and _putwc_r.
        * libc/stdio/putwchar.c: New file, implementing putwchar and
        _putwchar_r.
        * libc/stdio/refill.c (__srefill_r): Set stream orientation.
        * libc/stdio/stdio.tex: Add documentation for new functions.
        * libc/stdio/ungetc.c (_ungetc_r): Set stream orientation.
        * libc/stdio/ungetwc.c: New file, implementing ungetwc and _ungetwc_r.
        * libc/stdio/vfscanf.c (__SVFSCANF_R): Set stream orientation.
        * libc/stdio/wbuf.c (__swbuf_r): Ditto.
2008-12-10 23:43:12 +00:00
Jeff Johnston eabd7de028 2008-04-14 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/Makefile.am: Build vfprintf.c and vfscanf.c with
        -DSTRING_ONLY defined with and without -DINTEGER_ONLY defined
        to build special versions for sprintf/sscanf family functions.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio/vfprintf.c[STRING_ONLY][INTEGER_ONLY](_VFPRINTF_R):
        Redefine to be _svfiprintf_r which is optimized to work with siprintf
        family of functions (i.e. no I/O) and does not support floating-point.
        [STRING_ONLY][!INTEGER_ONLY](_VFPRINTF_R): Redefine to be
        _svfprintf_r which is optimized to work with sprintf family of
        functions and not use I/O.
        [STRING_ONLY](__sprint_r): New string only version of static function.
        designed to work with sprintf family of functions.
        * libc/stdio/vfscanf.c[STRING_ONLY][INTEGER_ONLY](_SVFSCANF_R):
        Redefine to be _ssvfiscanf_r which is optimized to work with siscanf
        family of functions (i.e. no I/O) and no float-point support.
        [STRING_ONLY][!INTEGER_ONLY](_SVFSCANF_R): Redefine to be
        __ssvfscanf_r which is optimized to work with sscanf family of
        functions and does not require I/O functions.
        * libc/stdio/asprintf.c: Call _svfprintf_r instead of _vfprintf_r.
        * libc/stdio/snprintf.c: Ditto.
        * libc/stdio/sprintf.c: Ditto.
        * libc/stdio/vasnprintf.c: Ditto.
        * libc/stdio/vasprintf.c: Ditto.
        * libc/stdio/siprintf.c: Call _svfiprintf_r instead of _vfiprintf_r.
        * libc/stdio/sniprintf.c: Ditto.
        * libc/stdio/vasiprintf.c: Ditto.
        * libc/stdio/vsiprintf.c: Ditto.
        * libc/stdio/vsniprintf.c: Ditto.
        * libc/stdio/vsprintf.c: Ditto.
        * libc/stdio/local.h: Add prototypes for _svfprintf_r, _svfiprintf_r,
        _ssvfscanf_r, and _ssvfiscanf_r.
        * libc/stdio/sscanf.c: Call _ssvfscanf_r instead of _svfscanf_r.
        * libc/stdio/vsscanf.c: Ditto.
        * libc/stdio/siscanf.c: Call _ssvfiscanf_r instead of _svfiscanf_r.
        * libc/stdio/vsiscanf.c: Ditto.
2008-04-14 21:14:55 +00:00
Eric Blake 6ddcdb9da5 Implement fmemopen and open_memstream.
* libc/stdio/fmemopen.c (_fmemopen_r, fmemopen): New file.
* libc/stdio/open_memstream.c (_open_memstream_r, open_memstream):
New file.
* libc/stdio/fopencookie.c (fcwriter): Minor optimization.
* libc/include/stdio.h (dprintf, vdprintf): Group all POSIX 200x
functions together.
(fmemopen, open_memstream): Declare new functions.
* libc/stdio/stdio.tex: Document them.
* libc/stdio/Makefile.am (ELIX_4_SOURCES, CHEWOUT_FILES): Add
fmemopen and open_memstream.
* libc/stdio/Makefile.in: Regenerate.
2007-08-02 20:23:06 +00:00
Eric Blake 88c8888127 Documentation updates.
* libc/stdio/ungetc.c: Document ungetc.
* libc/stdio/Makefile.am (CHEWOUT_FILES): Sort, match current list
of files with documentation.
* libc/stdio/Makefile.in: Regenerate.
* libc/stdio/stdio.tex: Sort and update stdio documentation index.
2007-07-13 17:07:28 +00:00
Eric Blake 17c61d6a2c Implement funopen, fopencookie.
* libc/include/sys/reent.h (struct __sFILE, struct __sFILE64):
Switch to reentrant callbacks.
* libc/include/stdio.h (funopen): Fix declaration.
(fopencookie): Declare.
* libc/stdio/local.h (__sread, __swrite, __sseek, __sclose)
(__sseek64, __swrite64): Fix prototypes.
[__SCLE]: Pull in setmode declaration.
* libc/stdio/stdio.c (__sread, __swrite, __sseek, __sclose): Fix
reentrancy.
* libc/stdio64/stdio64.c (__sseek64_r, __swrite64_r): Delete.
(__sseek64, __swrite64): Fix reentrancy.
* libc/stdio/fseek.c (_fseek_r): Account for overflow, and fix
reentrancy.
* libc/stdio/ftell.c (_ftell_r): Likewise.
* libc/stdio/flags.c (__sflags): Don't lose __SAPP on "a+".
* libc/stdio/fclose.c (_fclose_r): Fix reentrancy.
* libc/stdio/freopen.c (_freopen_r): Likewise.
* libc/stdio/fvwrite.c (__sfvwrite_r): Likewise.
* libc/stdio/refill.c (__srefill_r): Likewise.
* libc/stdio/siscanf.c (eofread): Likewise.
* libc/stdio/sscanf.c (eofread): Likewise.
* libc/stdio/vsiscanf.c (eofread1): Likewise.
* libc/stdio/vsscanf.c (eofread1): Likewise.
* libc/stdio64/freopen64.c (_freopen64_r): Likewise.
* libc/stdio64/fseeko64.c (_fseeko64_r): Likewise.
* libc/stdio64/ftello64.c (_ftello64_r): Likewise.
* libc/stdio/fflush.c (fflush): Improve reentrancy, although more
could be fixed.
* libc/stdio/fopencookie.c (_fopencookie_r, fopencookie): New file.
* libc/stdio/funopen.c (_funopen_r, funopen): New file.
* libc/stdio/Makefile.am (ELIX_4_SOURCES, CHEWOUT_FILES): Build
new files.
* libc/stdio/Makefile.in: Regenerate.
2007-06-04 18:10:17 +00:00
Eric Blake b9db529222 Add support for asnprintf, and improve *printf documentation.
* libc/stdio/Makefile.am (ELIX_SOURCES): Rename...
	(ELIX_2_SOURCES): ...to this.
	(ELIX_4_SOURCES): Add new variable.  Build asnprintf.
	(GENERAL_SOURCES): Move dprintf to ELIX_4_SOURCES.
	(CHEWOUT_FILES): Include diprintf in documentation.
	* libc/stdio/Makefile.in: Regenerate.
	* libc/stdio/diprintf.c: Improve documentation.
	* libc/stdio/dprintf.c: Likewise.
	* libc/stdio/siprintf.c: Likewise.
	* libc/stdio/sprintf.c: Likewise.
	* libc/stdio/vfprintf.c: Likewise.
	* libc/stdio/viprintf.c: Likewise.
	* libc/stdio/vsniprintf.c: Consolidate documentation.
	* libc/stdio/asiprintf.c: Refer to documentation.
	* libc/stdio/asprintf.c: Likewise.
	* libc/stdio/fiprintf.c: Likewise.
	* libc/stdio/fprintf.c: Likewise.
	* libc/stdio/iprintf.c: Likewise.
	* libc/stdio/printf.c: Likewise.
	* libc/stdio/sniprintf.c: Likewise.
	* libc/stdio/vdiprintf.c: Likewise.
	* libc/stdio/vdprintf.c: Likewise.
	* libc/stdio/vsiprintf.c: Likewise.
	* libc/stdio/fvwrite.c (__sfvwrite_r): Handle asnprintf.
	* libc/stdio/asniprintf.c (asniprintf, _asniprintf_r): New file.
	* libc/stdio/asnprintf.c (asnprintf, _asnprintf_r): New file.
	* libc/stdio/vasniprintf.c (vasniprintf, _vasniprintf_r): New
	file.
	* libc/stdio/vasnprintf.c (vasnprintf, _vasnprintf_r): New file.
	* libc/stdio/vdprintf.c (_vdprintf_r): Rewrite to avoid malloc in
	typical case.
	* libc/stdio/vdiprintf.c (_vdiprintf_r): Likewise.
	* libc/include/stdio.h: Add prototypes for new functions; sort
	existing functions.
2007-05-04 02:55:16 +00:00
Jeff Johnston db7aa4b168 2007-04-04 Eric Blake <ebb9@byu.net>
* libc/stdio/asiprintf.c (_asiprintf_r): Fix reentrancy.
	(asiprintf): Avoid overhead.
	* libc/stdio/asprintf.c (_asprintf_r): Fix reentrancy.
	(asprintf): Avoid overhead.
	* libc/stdio/diprintf.c (_diprintf_r, diprintf): New file.
	* libc/stdio/dprintf.c (_dprintf_r, dprintf): Use _DEFUN.
	* libc/stdio/fiprintf.c (_fiprintf_r): Add reentrant version.
	(fiprintf): Avoid overhead.
	* libc/stdio/fprintf.c (_fprintf_r): Add reentrant version.
	(fprintf): Avoid overhead.
	* libc/stdio/iprintf.c (_iprintf_r): Use _DEFUN.
	(iprintf): Avoid overhead.
	* libc/stdio/printf.c (_printf_r): Use _DEFUN.
	(printf): Avoid overhead.
	* libc/stdio/vasiprintf.c (vasiprintf): Reduce binary size.
	* libc/stdio/vasprintf.c (vasprintf): Reduce binary size.
	* libc/stdio/vdiprintf.c (_vdiprintf_r, vdiprintf): New file.
	* libc/stdio/vdprintf.c (vdprintf): Avoid overhead.
	* libc/stdio/vsiprintf.c (vsiprintf): Reduce binary size.
	* libc/stdio/vsniprintf.c (vsniprintf): Reduce binary size.
	* libc/stdio/vsnprintf.c (vsnprintf): Reduce binary size.
	* libc/stdio/vsprintf.c (vsprintf): Reduce binary size.
	* libc/stdio/Makefile.am (GENERAL_SOURCES): Add diprintf.c,
	vdiprintf.c.
	* libc/include/stdio.h (diprintf, _diprintf_r, vdiprintf)
	(_vdiprintf_r, _fiprintf_r, _vfiprintf_r): Add prototypes.
2007-04-04 18:32:49 +00:00
Jeff Johnston 8f8f1db12f 2006-05-01 Jeff Johnston <jjohnstn@redhat.com>
* libc/argz/Makefile.am: Prefix any objects specified with $(lpfx).  If source file can
        be specified instead of object, do so.
        * libc/ctype/Makefile.am: Ditto.
        * libc/iconv/ccs/Makefile.am: Ditto.
        * libc/iconv/ces/Makefile.am: Ditto.
        * libc/iconv/lib/Makefile.am: Ditto.
        * libc/locale/Makefile.am: Ditto.
        * libc/posix/Makefile.am: Ditto.
        * libc/reent/Makefile.am: Ditto.
        * libc/search/Makefile.am: Ditto.
        * libc/stdio/Makefile.am: Ditto.
        * libc/stdio64/Makefile.am: Ditto.
        * libc/stdlib/Makefile.am: Ditto.
        * libc/string/Makefile.am: Ditto.
        * libc/syscalls/Makefile.am: Ditto.
        * libc/unix/Makefile.am: Ditto.
        * libc/machine/a29k/Makefile.am: Specify lib_a_CCASFLAGS so .S files will get
        prefix added automatically.  Any specified rules must use $(lpfx) for
        object file names.
        * libc/machine/arm/Makefile.am: Ditto.
        * libc/machine/cris/Makefile.am: Ditto.
        * libc/machine/crx/Makefile.am: Ditto.
        * libc/machine/d10v/Makefile.am: Ditto.
        * libc/machine/d30v/Makefile.am: Ditto.
        * libc/machine/fr30/Makefile.am: Ditto.
        * libc/machine/frv/Makefile.am: Ditto.
        * libc/machine/h8300/Makefile.am: Ditto.
        * libc/machine/h8500/Makefile.am: Ditto.
        * libc/machine/hppa/Makefile.am: Ditto.
        * libc/machine/i386/Makefile.am: Ditto.
        * libc/machine/i960/Makefile.am: Ditto.
        * libc/machine/iq2000/Makefile.am: Ditto.
        * libc/machine/m32c/Makefile.am: Ditto.
        * libc/machine/m32r/Makefile.am: Ditto.
        * libc/machine/m68hc11/Makefile.am: Ditto.
        * libc/machine/m68k/Makefile.am: Ditto.
        * libc/machine/m88k/Makefile.am: Ditto.
        * libc/machine/mips/Makefile.am: Ditto.
        * libc/machine/mn10200/Makefile.am: Ditto.
        * libc/machine/mn10300/Makefile.am: Ditto.
        * libc/machine/mt/Makefile.am: Ditto.
        * libc/machine/necv70/Makefile.am: Ditto.
        * libc/machine/powerpc/Makefile.am: Ditto.
        * libc/machine/sh/Makefile.am: Ditto.
        * libc/machine/sh/Makefile.in: Ditto.
        * libc/machine/sparc/Makefile.am: Ditto.
        * libc/machine/tic4x/Makefile.am: Ditto.
        * libc/machine/tic80/Makefile.am: Ditto.
        * libc/machine/v850/Makefile.am: Ditto.
        * libc/machine/w65/Makefile.am: Ditto.
        * libc/machine/xscale/Makefile.am: Ditto.
        * libc/machine/xstormy16/Makefile.am: Ditto.
        * libc/machine/z8k/Makefile.am: Ditto.
        * libc/sys/a29khif/Makefile.am: Ditto.
        * libc/sys/arm/Makefile.am: Ditto.
        * libc/sys/d10v/Makefile.am: Ditto.
        * libc/sys/h8300hms/Makefile.am: Ditto.
        * libc/sys/h8500hms/Makefile.am: Ditto.
        * libc/sys/linux/Makefile.am: Ditto.
        * libc/sys/linux/linuxthreads/Makefile.am: Ditto.
        * libc/sys/linux/net/Makefile.am: Ditto.
        * libc/sys/linux/stdlib/Makefile.am: Ditto.
        * libc/sys/m88kbug/Makefile.am: Ditto.
        * libc/sys/mmixware/Makefile.am: Ditto.
        * libc/sys/rdos/Makefile.am: Ditto.
        * libc/sys/rtems/Makefile.am: Ditto.
        * libc/sys/sh/Makefile.am: Ditto.
        * libc/sys/sun4/Makefile.am: Ditto.
        * libc/sys/sysmec/Makefile.am: Ditto.
        * libc/sys/sysnec810/Makefile.am: Ditto.
        * libc/sys/sysnecv850/Makefile.am: Ditto.
        * libc/sys/sysvi386/Makefile.am: Ditto.
        * libc/sys/sysvnecv70/Makefile.am: Ditto.
        * libc/sys/tic80/Makefile.am: Ditto.
        * libc/sys/w65/Makefile.am: Ditto.
        * libc/sys/z8ksim/Makefile.am: Ditto.
        * libc/machine/necv70/fastmath.S: Renamed from .s file.
        * libc/machine/necv70/setjmp.S: Ditto.
        * libc/machine/necv70/fastmath.s: Removed.
        * libc/machine/necv70/setjmp.s: Ditto.
        * libc/machine/w65/*.S: New files renamed from .s files.
        * libc/machine/w65/*.s: Renamed and removed.
        * libc/sys/a29khif/*.S: New files renamed from .s files.
        * libc/sys/a29khif/*.s: Renamed and removed.
        * libc/sys/sysvi386/*.S: New files renamed from .s files.
        * libc/sys/sysvi386/*.s: Renamed and removed.
        * libc/sys/sysvnecv70/*.S: New files renamed from .s files.
        * libc/sys/sysvnecv70/*.s: Renamed and removed.
        * libc/*Makefile.in: Regenerated as appropriate.
2006-05-01 22:01:07 +00:00
Jeff Johnston 34e666798a 2006-04-11 Jeff Johnston <jjohnstn@redhat.com>
* acinclude.m4: Properly add square brackets for
        AC_DEFUN macros.  Rewrite LIB_AC_PROG_CC to remove
        macros no longer available.  Add LIB_AM_PROG_AS to
        remove prereq of AC_PROG_CC.  Add LIB_AC_PROG_CC_GNU
        macro.  Substitute lpfx (library object prefix).
        * configure.host: Set lpfx depending on whether
        libtool is used or not.
        * configure.in: Individually specify libc and libm
        to AC_CONFIG_SUBDIRS.  Add square bracket quoting as
        necessary.
        * Makefile.am: Use $(lpfx) to get object names for
        math-library functions that should also be in libc.
        * libc/machine/configure.in: Use case statement to determine
        AC_CONFIG_SUBDIRS statement.
        * libc/sys/linux/linuxthreads/machine/configure.in: Ditto.
        * libc/sys/linux/machine/configure.in: Ditto.
        * libc/sys/configure.in: Ditto.
        * libm/machine/configure.in: Ditto.
        * libc/sys/linux/configure.in: Fix up AC_CONFIG_SUBDIRS.
        * libm/configure.in: Add AM_CONDITIONAL statement
        for HAVE_LIBM_MACHINE_DIR.
        * libc/machine/a29k/Makefile.am: Modified to work with
        latest automake.  Change includes setting AM_CCASFLAGS
        so building .S files will properly pick up flags used
        to build C files.
        * libc/machine/arm/Makefile.am: Ditto.
        * libc/machine/crx/Makefile.am: Ditto.
        * libc/machine/d10v/Makefile.am: Ditto.
        * libc/machine/d30v/Makefile.am: Ditto.
        * libc/machine/fr30/Makefile.am: Ditto.
        * libc/machine/frv/Makefile.am: Ditto.
        * libc/machine/h8300/Makefile.am: Ditto.
        * libc/machine/h8500/Makefile.am: Ditto.
        * libc/machine/hppa/Makefile.am: Ditto.
        * libc/machine/i386/Makefile.am: Ditto.
        * libc/machine/iq2000/Makefile.am: Ditto.
        * libc/machine/m32c/Makefile.am: Ditto.
        * libc/machine/m32r/Makefile.am: Ditto.
        * libc/machine/m68hc11/Makefile.am: Ditto.
        * libc/machine/m68k/Makefile.am: Ditto.
        * libc/machine/m88k/Makefile.am: Ditto.
        * libc/machine/mips/Makefile.am: Ditto.
        * libc/machine/mn10200/Makefile.am: Ditto.
        * libc/machine/mn10300/Makefile.am: Ditto.
        * libc/machine/mt/Makefile.am: Ditto.
        * libc/machine/necv70/Makefile.am: Ditto.
        * libc/machine/powerpc/Makefile.am: Ditto.
        * libc/machine/sh/Makefile.am: Ditto.
        * libc/machine/sparc/Makefile.am: Ditto.
        * libc/machine/tic4x/Makefile.am: Ditto.
        * libc/machine/tic80/Makefile.am: Ditto.
        * libc/machine/v850/Makefile.am: Ditto.
        * libc/machine/w65/Makefile.am: Ditto.
        * libc/machine/xscale/Makefile.am: Ditto.
        * libc/machine/xstormy16/Makefile.am: Ditto.
        * libc/machine/z8k/Makefile.am: Ditto.
        * libc/sys/a29khif/Makefile.am: Ditto.
        * libc/sys/arc/Makefile.am: Ditto.
        * libc/sys/arm/Makefile.am: Ditto.
        * libc/sys/d10v/Makefile.am: Ditto.
        * libc/sys/decstation/Makefile.am: Ditto.
        * libc/sys/h8300hms/Makefile.am: Ditto.
        * libc/sys/h8500hms/Makefile.am: Ditto.
        * libc/sys/linux/linuxthreads/machine/i386/Makefile.am: Ditto.
        * libc/sys/linux/machine/i386/Makefile.am: Ditto.
        * libc/sys/m88kbug/Makefile.am: Ditto.
        * libc/sys/mmixware/Makefile.am: Ditto.
        * libc/sys/netware/Makefile.am: Ditto.
        * libc/sys/rdos/Makefile.am: Ditto.
        * libc/sys/rtems/Makefile.am: Ditto.
        * libc/sys/sh/Makefile.am: Ditto.
        * libc/sys/sparc64/Makefile.am: Ditto.
        * libc/sys/sysmec/Makefile.am: Ditto.
        * libc/sys/sysnec810/Makefile.am: Ditto.
        * libc/sys/sysnecv850/Makefile.am: Ditto.
        * libc/sys/sysvi386/Makefile.am: Ditto.
        * libc/sys/sysvnecv70/Makefile.am: Ditto.
        * libc/sys/tic80/Makefile.am: Ditto.
        * libc/sys/w65/Makefile.am: Ditto.
        * libc/sys/z8ksim/Makefile.am: Ditto.
        * libm/machine/i386/Makefile.am: Ditto.
        * libc/sys/arm/Makefile.am: Ditto plus add EXTRA sources including
        trap.S so that automake will generate a .S.o suffix rule.
        * libc/argz/Makefile.am: Modified to work with
        latest automake.  Change includes adding lib_a_CFLAGS
        so automake doesn't complain about libtool and non-libtool
        libraries sharing objects.
        * libc/ctype/Makefile.am: Ditto.
        * libc/errno/Makefile.am: Ditto.
        * libc/iconv/ccs/Makefile.am: Ditto.
        * libc/iconv/ces/Makefile.am: Ditto.
        * libc/iconv/lib/Makefile.am: Ditto.
        * libc/locale/Makefile.am: Ditto.
        * libc/misc/Makefile.am: Ditto.
        * libc/posix/Makefile.am: Ditto.
        * libc/reent/Makefile.am: Ditto.
        * libc/search/Makefile.am: Ditto.
        * libc/signal/Makefile.am: Ditto.
        * libc/stdio/Makefile.am: Ditto.
        * libc/stdio64/Makefile.am: Ditto.
        * libc/stdlib/Makefile.am: Ditto.
        * libc/string/Makefile.am: Ditto.
        * libc/sys/linux/Makefile.am: Ditto.
        * libc/sys/linux/argp/Makefile.am: Ditto.
        * libc/sys/linux/cmath/Makefile.am: Ditto.
        * libc/sys/linux/dl/Makefile.am: Ditto.
        * libc/sys/linux/iconv/Makefile.am: Ditto.
        * libc/sys/linux/intl/Makefile.am: Ditto.
        * libc/sys/linux/linuxthreads/Makefile.am: Ditto.
        * libc/sys/linux/net/Makefile.am: Ditto.
        * libc/sys/linux/stdlib/Makefile.am: Ditto.
        * libc/syscalls/Makefile.am: Ditto.
        * libc/time/Makefile.am: Ditto.
        * libc/unix/Makefile.am: Ditto.
        * libm/Makefile.am: Ditto.
        * libm/common/Makefile.am: Ditto.
        * libm/math/Makefile.am: Ditto.
        * libm/mathfp/Makefile.am: Ditto.
        * Regenerate all aclocal.m4, Makefile.in, and configure files.
2006-04-11 19:02:16 +00:00
Jeff Johnston 339195bf12 2005-10-11 Shaun Jackman <sjackman@gmail.com>
* libc/include/stdio.h (dprintf): New declaration.
        (vdprintf): Ditto.
        * libc/stdio/Makefile.am (GENERAL_SOURCES): Add dprintf.c
        and vdprintf.c.
        * libc/stdio/Makefile.in: Regenerate.
        * libc/stdio/dprintf.c: New file.
        * libc/stdio/vdprintf.c: New file.
        * libc/stdio/stdio.tex (dprintf): New entry.
2005-10-11 23:59:32 +00:00
Jeff Johnston 16ac96ee69 2004-11-24 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/Makefile.am: Fix missing vfscanf.
        * libc/stdio/Makefile.in: Regenerated.
2004-11-24 22:31:05 +00:00
Jeff Johnston 3bf091476a 2004-11-23 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdio.h: Add new iprintf and iscanf variants.  Also
        do some reordering.
        * libc/machine/powerpc/vfscanf.c: Remove __sccl function.
        * libc/stdio/Makefile.am: Add support for new iprintf and iscanf
        family functions.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio/fiprintf.c: Remove doc to siprintf.c.
        * libc/stdio/iprintf.c: Ditto.
        * libc/stdio/local.h (__svfiscanf_r): New prototype.
        * libc/stdio/siprintf.c: Add docs for various iprintf family functions.
        * libc/stdio/sniprintf.c: Move docs to siprintf.c.
        * libc/stdio/stdio.tex: Add new functions.
        * libc/stdio/vfscanf.c: Split out __sccl function to separate
        file and add special name defines so this file can be used
        to build vfiscanf.o.
        * libc/stdio/asiprintf.c: New file.
        * libc/stdio/fiscanf.c: Ditto.
        * libc/stdio/iscanf.c: Ditto.
        * libc/stdio/sccl.c: Ditto.
        * libc/stdio/siscanf.c: Ditto.
        * libc/stdio/vasiprintf.c: Ditto.
        * libc/stdio/viprintf.c: Ditto.
        * libc/stdio/viscanf.c: Ditto.
        * libc/stdio/vsiprintf.c: Ditto.
        * libc/stdio/vsiscanf.c: Ditto.
        * libc/stdio/vsniprintf.c: Ditto.
2004-11-24 00:45:41 +00:00
Jeff Johnston 0f0fcb042a 2004-11-19 Shaun Jackman <sjackman@gmail.com>
* libc/include/stdio.h: Add sniprintf.
        * libc/stdio/Makefile.am: Add sniprintf.c.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio/sniprintf.c: New file.
        * libc/stdio/stdio.tex: Add sniprintf.
2004-11-20 01:42:35 +00:00
Jeff Johnston b2294aaa30 2003-01-06 Charles Wilson <cwilson@ece.gatech.edu>
* Makefile.am: Add vasprintf.
        * Makefile.in: Regenerated.
2003-01-07 01:45:32 +00:00
Jeff Johnston 90b65e2d06 2002-08-26 Jeff Johnston <jjohnstn@redhat.com>
* Makefile.am(LIBC_OBJECTLISTS): Add STDIO64_OBJECTLIST.
        * Makefile.in: Regenerated.
        * acinclude.m4: Add support for --enable-newlib-elix-level option.
        * aclocal.m4: Regenerated.
        * configure: Ditto.
        * configure.host: Add code to define _ELIX_LEVEL if
        --enable-newlib-elix-level option is used.
        * configure.in:
        * libc/aclocal.m4: Regenerated.
        * libc/configure: Ditto.
        * libc/argz/Makefile.am: Add EL/IX level checking.
        * libc/argz/Makefile.in: Regenerated.
        * libc/argz/dummy.c: New file.
        * libc/ctype/Makefile.am: Add EL/IX level checking.
        * libc/ctype/Makefile.in: Regenerated.
        * libc/locale/Makefile.am: Add EL/IX level checking.
        * libc/locale/Makefile.in: Regenerated.
        * libc/posix/Makefile.am: Add EL/IX level checking.
        * libc/posix/Makefile.in: Regenerated.
        * libc/posix/telldir.c: Add EL/IX level checking.
        * libc/reent/Makefile.am: Ditto.
        * libc/reent/fstat64r.c: Ditto.
        * libc/reent/lseek64r.c: Ditto.
        * libc/reent/open64r.c: Ditto.
        * libc/reent/Makefile.in: Regenerated.
        * libc/search/Makefile.am: Add EL/IX level checking.
        * libc/search/Makefile.in: Regenerated.
        * libc/stdio/Makefile.am: Add EL/IX level checking.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio64/Makefile.am: Add EL/IX level checking.
        * libc/stdio64/Makefile.in: Regenerated.
        * libc/stdio64/dummy.c: New file.
        * libc/stdio64/fgetpos64.c: Fix so _LARGEFILE_64 macro is checked
        after first include.
        * libc/stdio64/fopen64.c: Ditto.
        * libc/stdio64/freopen64.c: Ditto.
        * libc/stdio64/fseeko64.c: Ditto.
        * libc/stdio64/fsetpos64.c: Ditto.
        * libc/stdio64/ftello64.c: Ditto.
        * libc/stdio64/tmpfile64.c: Ditto.
        * libc/stdlib/Makefile.am: Add EL/IX level checking.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/stdlib/mstats.c: Add EL/IX level checking.
        * libc/string/Makefile.am: Ditto.
        * libc/string/Makefile.in: Regenerated.
        * libc/sys/linux/Makefile.am: Add EL/IX level checking.
        * libc/sys/linux/Makefile.in: Regenerated.
        * libc/sys/linux/aclocal.m4: Ditto.
        * libc/sys/linux/configure: Ditto.
        * libc/sys/linux/aio.c: Add EL/IX level checking.
        * libc/sys/linux/ftok.c: Ditto.
        * libc/sys/linux/getdate.c: Ditto.
        * libc/sys/linux/ids.c: Ditto.
        * libc/sys/linux/inode.c: Ditto.
        * libc/sys/linux/io.c: Ditto.
        * libc/sys/linux/process.c: Ditto.
        * libc/sys/linux/resource.c: Ditto.
        * libc/sys/linux/sched.c: Ditto.
        * libc/sys/linux/sig.c: Ditto.
        * libc/sys/linux/termios.c: Ditto.
        * libc/sys/linux/wait.c: Ditto plus add __waitpid and
        __libc___waitpid weak aliases.
        * libc/sys/linux/machine/i386/syscall.h: Add new _base macros
        that generate the code for a syscall, but do not create a
        weak alias.
        * libc/syscalls/Makefile.am: Add EL/IX level checking.
        * libc/syscalls/Makefile.in: Regenerated.
        * libc/time/tzset_r.c: Change to replace strdup with equivalent
        functionality.
        * libc/unix/Makefile.am: Add EL/IX level checking.
        * libc/unix/Makefile.in: Regenerated.
2002-08-26 18:56:09 +00:00
Jeff Johnston 037240a242 2002-08-09 Jeff Johnston <jjohnstn@redhat.com>
* configure.host: Add check for --enable-newlib-io-pos-args
        and define WANT_IO_POS_ARGS flag if enabled.  Define
        the flag by default for x86-linux configurations.
        * configure.in: Add support for --enable-newlib-io-pos-args.
        * libc/configure.in: Ditto.
        * configure: Regenerated.
        * libc/configure: Ditto.
        * libc/stdio/Makefile.am: Specify -fshort-enums for compiling
        vfprintf.c and vfiprintf.c.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio/vfprintf.c: Add positional argument support that
        is enabled by compiling with -DWANT_IO_POS_ARGS.
2002-08-09 21:12:09 +00:00
Jeff Johnston f5f27f0778 2002-07-22 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdio.h (fcloseall, _fcloseall_r): Added prototypes.
        * libc/stdio/Makefile.am: Added fcloseall.c support.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio/fcloseall.c: New file.
        * libc/stdio64/Makefile.am: Remove missing .def references.
        * libc/stdio64/Makefile.in: Regenerated.
2002-07-22 23:53:50 +00:00
Jeff Johnston 30b2092fcb 2002-07-04 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdio.h: Add new prototypes.
        * libc/stdio/Makefile.am: Add fseeko.c and ftello.c.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio/fseek.c: Add fseeko documentation.
        * libc/stdio/ftell.c: Add ftello documentation.
        * libc/stdio/fseeko.c: New file.
        * libc/stdio/ftello.c: New file.
2002-07-04 19:33:54 +00:00
Jeff Johnston 7501704dc9 2002-07-04 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/Makefile.am: Add asprintf.c and vasprintf.c.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio/asprintf.c: New file.
        * libc/stdio/vasprintf.c: Ditto.
        * libc/stdio/fvwrite.c: Add code to dynamically reallocate
        the buffer for asprintf support.
        * libc/stdio/sprintf.c: Add asprintf documentation.
        * libc/stdio/vfprintf.c: Add vasprintf documentation.
        * libc/include/stdio.h: Add new prototypes.
2002-07-04 18:56:17 +00:00
Jeff Johnston d427d09204 2002-06-21 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdio.h (__getline, __getdelim): New prototypes.
        * libc/include/time.h [HAVE_GETDATE](getdate, getdate_r): Ditto.
        [HAVE_GETDATE](getdate_err): New error code.
        * libc/stdio/Makefile.am: Add support for getline.c and getdelim.c.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio/getdelim.c: New file.
        * libc/stdio/getline.c: Ditto.
        * libc/sys/linux/Makefile.am: Add support for getdate.c, getdate_err.c
        and ntp_gettime.c.  Also add AM_CFLAGS to point to libc/stdio.
        * libc/sys/linux/Makefile.in: Regenerated.
        * libc/sys/linux/getdate.c: New file.
        * libc/sys/linux/getdate_err.c: Ditto.
        * libc/sys/linux/ntp_gettime.c: Ditto.
        * libc/sys/linux/time.c (adjtimex, ntp_adjtime): New functions.
        * libc/sys/linux/sys/stdio.h (getline, getdelim): New macros.
2002-06-21 18:29:23 +00:00
Jeff Johnston 164ee5b054 2002-05-23 Gareth Pearce <tilps@hotmail.com>
* libc/stdio/Makefile.am: Modify to add setbuffer.c and setlinebuf.c.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio/setbuffer.c: New file.
        * libc/stdio/setlinebuf.c: New file.
2002-05-23 22:05:54 +00:00
Thomas Fitzsimmons 7649080606 * libc/stdio/getc_u.c: New file.
* libc/stdio/getchar_u.c: New file.
	* libc/stdio/putc_u.c: New file.
	* libc/stdio/putchar_u.c: New file.
	* libc/include/stdio.h: Add declarations for getc_unlocked,
	getchar_unlocked, putc_unlocked and putchar_unlocked.
	* libc/stdio/Makefile.am (LIB_SOURCES): Add new files.
	(CHEWOUT_FILES): Add new files' .def's.
	* libc/stdio/putchar.c (_putchar_r): Replace __sputc with putc.
2002-05-08 19:11:22 +00:00
Thomas Fitzsimmons fc50413595 * libc/stdlib/Makefile.am (LIB_COMPILE): Change to equal
$(COMPILE) rather than $(CC).
	* libc/stdio/Makefile.am (LIB_COMPILE): Likewise.
	(vfprintf.$(oext)): Remove $(INCLUDES), made redundant by
	$(LIB_COMPILE) change.
	(vfiprintf.$(oext)): Likewise.
2001-12-18 02:22:55 +00:00
Thomas Fitzsimmons f85be99c51 (vfiprintf.$(oext)): Likewise. 2001-12-14 19:27:46 +00:00
Thomas Fitzsimmons cdf7120d2d * libc/stdio/Makefile.am (vfprintf.$(oext)): Add $(INCLUDES) to
compile line.
2001-12-14 19:14:27 +00:00
Thomas Fitzsimmons 2e1a71756e * Makefile.shared: New file.
* libc/sys/linux/shared.ld: New file.
	* libm/machine/*: New files.
	* libm/machine/i386/*: New files.
	* Makefile.am: Add libtool support.  Change math and mathfp
	references to variables.
	* configure.host: Add variables for libtool support.  Add
	libm_machine_dir variable.
	* configure.in: Add objectlist variables, for libtool
	support.  Add CC_FOR_BUILD tests.
	* libc/Makefile.am: Add libtool support.  Change crt0.o
	reference to be a variable reference.
	* libc/configure.in: Add libtool support.  Change sublib
	names to be lib${subdir}.la when using libtool.
	* libc/ctype/Makefile.am: Add libtool support.
	* libc/errno/Makefile.am: Likewise.
	* libc/locale/Makefile.am: Likewise.
	* libc/machine/Makefile.am: Likewise.
	* libc/machine/configure.in: Likewise.
	* libc/machine/i386/Makefile.am: Likewise.
	* libc/machine/i386/configure.in: Likewise.
	* libc/misc/Makefile.am: Likewise.
	* libc/posix/Makefile.am: Likewise.
	* libc/reent/Makefile.am: Likewise.
	* libc/signal/Makefile.am: Likewise.
	* libc/stdio/Makefile.am: Likewise.
	* libc/stdlib/Makefile.am: Likewise.
	* libc/string/Makefile.am: Likewise.
	* libc/sys/Makefile.am: Likewise.
	* libc/sys/configure.in: Likewise.
	* libc/sys/linux/Makefile.am: Add libtool support.  Change
	awk reference to a variable reference.  Change signal.h
	reference to a variable reference.
	* libc/sys/linux/configure.in: Add libtool support.
	* libc/syscalls/Makefile.am: Likewise.
	* libc/time/Makefile.am: Likewise.
	* libc/unix/Makefile.am: Likewise.
	* libm/Makefile.am: Add libtool support.  Change math and
	mathfp references to variables.
	* libm/configure.in: Add libtool support.  Add
	LIBM_MACHINE_LIB variable.
	* libm/common/Makefile.am: Add libtool support.
	* libm/math/Makefile.am: Likewise.
	* libm/mathfp/Makefile.am: Likewise.
	Regenerate all Makefile.in, aclocal.m4, and configure.
2001-12-13 23:50:11 +00:00
Jeff Johnston 52cb9e6934 2001-04-20 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdio.h[!_REENT_ONLY]: Moved various functions together
        into one list.
        [!__STRICT_ANSI__]: Moved non-ANSI I/O functions in this list.
        (vfscanf, vscanf, vsscanf, _vfscanf_r, _vscanf_r, _vsscanf_r): New
        function prototypes.
        (_fscanf_r, _sscanf_r): Ditto.
        * libc/include/stdlib.h: Added _strtod_r prototype.
        * libc/stdio/Makefile.am: Add new v*scanf functions.
        * libc/stdio/Makefile.in: Regenerate.
        * libc/stdio/fscanf.c: Reorganized so HAVE_STDC only affects prototype
        and code is shared.  Added reentrant _fscanf_r which calls __svfscanf_r.        * libc/stdio/scanf.c: Changed to call __svfscanf_r.
        * libc/stdio/sscanf.c: Changed documentation to add reentrant routines.
        (sscanf): Changed to call __svfscanf_r with _REENT argument.
        (_sscanf_r): New routine.
        * libc/stdio/local.h: Removed __svfscanf prototype and replaced it
        with __svfscanf_r prototype.
        * libc/stdio/vfscanf.c (vfscanf, _vfscanf_r: New
        routines.
        (__svfscanf_r): Reentrant version of __svfscanf which takes reetrancy
        structure as argument as calls reentrant versions of helper functions
        (e.g. _strtol_r, _strtoul_r). Also replaced calls to atol and atof
        to _strtol_r and _strtod_r respectively.
        * libc/stdio/vfscanf.c: Also changed __svfscanf to call __svfscanf_r.
        * libc/stdlib/strtod.c (strtod): Changed to call _strtod_r with
        _REENT argument.
        * libc/stdio/vscanf.c: New file.
        * libc/stdio/vsscanf.c: Ditto.
2001-04-20 22:50:51 +00:00
Alexandre Oliva c505305855 * libc/stdio/Makefile.am (lib_a_SOURCES): Added getw.c and putw.c.
(CHEWOUT_FILES): Added getw.def and putw.def.
* libc/stdio/Makefile.in: Rebuilt.
* libc/stdio/stdio.tex: Include getw.def and putw.def.
* libc/stdio/getw.c: New file.
* libc/stdio/putw.c: New file.
2000-03-08 03:42:25 +00:00
Christopher Faylor 8a0efa53e4 import newlib-2000-02-17 snapshot 2000-02-17 19:39:52 +00:00