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
Corinna Vinschen
2a06c6dcc4
* stdio.tex: Add menu entries for __fsetlocking and stdio_ext.
...
* stdio_ext.c: Add "stdio_ext" to synopsis.
2014-12-18 10:08:09 +00:00
DJ Delorie
ae4a2bd820
* libc/stdlib/nano-mallocr.c (ALIGN_TO): Do not assume that
...
integers are as big as pointers.
2014-12-16 20:46:25 +00:00
Richard Earnshaw
52edca9f86
* libc/machine/aarch64/strcpy.S: Improve handling of short strings.
2014-12-16 15:48:58 +00:00
Corinna Vinschen
32c96ddd14
* libc/include/stdlib.h (__itoa): Declare prototype.
...
(__utoa): Ditto.
(itoa): Ditto, non-strict-ANSI only.
(utoa): Ditto.
* libc/stdlib/Makefile.am: Add itoa.c and utoa.c.
* libc/stdlib/Makefile.in: Regenerate.
* libc/stdlib/itoa.c: New file.
* libc/stdlib/utoa.c: New file.
2014-12-16 10:55:17 +00:00
Jeff Johnston
705cda717e
2014-12-15 Jonathan Roelofs <jonathan@codesourcery.com>
...
* libc/include/math.h: Add log2l,logbl,nexttowardf,
* nexttoward,nexttowardl
* libm/common/Makefile.am: Reference new files
* libm/common/Makefile.in: Reference new files
* libm/common/log2l.c: New File
* libm/common/logbl.c: Likewise
* libm/common/nexttowardf.c: Likewise
* libm/common/nexttoward.c: Likewise
* libm/common/nexttowardl.c: Likewise
2014-12-15 20:50:23 +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
Corinna Vinschen
f5ce72dffc
* newlib/libc/include/machine/setjmp.h: Add FPU support.
...
* newlib/libc/machine/nds32/setjmp.S: Add FPU support.
2014-12-15 13:32:17 +00:00
Corinna Vinschen
601c50292b
* libc/include/stdlib.h: Include sys/cdefs.h to avoid undefined
...
__ASMNAME.
2014-12-15 12:58:19 +00:00
Jeff Johnston
f58bc5991f
2014-12-12 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
...
* configure.host: or1knd support, OpenRISC without delay slot
* libc/include/machine/setjmp.h: Add or1knd
* libc/machine/or1k/setjmp.S: Optional delay slot
2014-12-12 21:14:06 +00:00
Jeff Johnston
31cf15b180
2014-12-12 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
...
* libc/machine/or1k/setjmp.S: Remove save/restore of r3-r8
2014-12-12 20:17:26 +00:00
Corinna Vinschen
c6332722d9
* libc/include/stdio.h: Fix type signature of __sfeof and __sferror
...
(and thus feof and ferror) for C++.
2014-12-11 17:42:19 +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
Corinna Vinschen
2d48118f11
* libc/include/stdio_ext.h: Remove excess "inline".
2014-12-10 09:39:06 +00:00
Richard Earnshaw
8608e14a3b
* libc/machine/aarch64/strchrnul.S (vrepmask): Use a call-clobbered
...
register.
2014-12-10 09:35:10 +00:00
Richard Earnshaw
c53c2915a7
* libc/machine/aarch64/strrchr.S: New file.
...
* libc/machine/aarch64/strrchr-stub.c: New file.
* libc/machine/aarch64/Makefile.am: Add them to build list.
* libc/machine/aarch64/Makefile.in: Regenerated.
2014-12-08 15:21:42 +00:00
Corinna Vinschen
37152e9703
* libc/time/gmtime_r.c (gmtime_r): Fixed bug in calculations for dates
...
after year 2069 or before year 1901. Ideas for solution taken from
musl's __secs_to_tm()
2014-12-08 11:48:31 +00:00
Yaakov Selkowitz
bf9897549d
* libc/include/stdlib.h (__bsd_qsort_r): Declare.
...
(qsort_r): Declare.
* libc/search/Makefile.am (ELIX_2_SOURCES): Rename from ELIX_SOURCES.
(ELIX_4_SOURCES): Define. Add bsd_qsort_r.c and qsort_r.c.
(libsearch_la_SOURCES): Adapt accordingly.
(lib_a_SOURCES): Adapt accordingly.
(CHEWOUT_FILES): Add qsort_r.def.
* libc/search/Makefile.in: Regenerate.
* libc/search/bsd_qsort_r.c: New file.
* libc/search/qsort.c: Update from FreeBSD HEAD. Adapt for both BSD
and GNU qsort_r flavors.
* libc/search/qsort_r.c: New file.
2014-12-05 16:21:04 +00:00
Corinna Vinschen
a800b3ae9c
* libc/include/sys/signal.h [__SPU__] (kill): Declare.
2014-12-04 09:15:50 +00:00
Jeff Johnston
8c049028d9
2014-12-03 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/include/inttypes.h: Only enable the 8-bit scanning macros
if _WANT_IO_C99_FORMATS is defined by configuration. Add comment
on why.
2014-12-03 20:25:09 +00:00
Corinna Vinschen
d37bfe1da2
* libc/include/machine/setjmp.h [__mips__]: Remove __mips_fpr == 64
...
from the 64-bit _JBTYPE definition.
* libc/machine/mips/setjmp.S: Re-work the o32 FP64 support to match
the now one-and-only supported o32 FP64 ABI extension. Also
support o32 FPXX.
2014-11-28 08:47:39 +00:00
Corinna Vinschen
8a2ab1aea1
* libc/machine/arm/strcmp-armv6m.S: New file.
...
* libc/machine/arm/strcmp.S: Add new wrapper.
* libc/machine/arm/Makefile.am: Add dependencies.
* libc/machine/arm/Makefile.in: Regenerated.
2014-11-26 09:47:26 +00:00
Corinna Vinschen
75e2565a57
* libc/include/sys/_default_fcntl.h: Move all Cygwin-specific open
...
flags from Cygwin's fcntl.h here. Remove check for WIN32. Remove
Windows-specific macros.
2014-11-25 11:53:00 +00:00
Joel Sherrill
63d53b9255
2014-11-23 Joel Sherrill <joel.sherrill@oarcorp.com>
...
* libc/include/sys/resource.h: Add prototype for getrusage()
to <sys/resource.h>
2014-11-24 14:12:32 +00:00
Corinna Vinschen
556b13a0c2
* libc/stdio/nano-vfprintf_i.c (_printf_i): Use LONGINT when void* is
...
larger than an int.
2014-11-20 14:05:28 +00:00
Corinna Vinschen
308186a134
* libc/sys/rtems/sys/syslimits.h (NGROUPS_MAX): Adjust value so
...
that NGROUPS is even.
2014-11-20 14:03:17 +00:00
Corinna Vinschen
3dce84ad07
* libc/stdlib/strtod.c (sulp): Cast to int32_t to avoid overflow.
...
* libc/time/gmtime_r.c (DAYS_PER_*_YEARS): Convert to long constants
to avoid overflow.
2014-11-12 09:10:22 +00:00
Richard Earnshaw
fbb8f1a2c7
* libc/machine/aarch64/strcpy.S: New file.
...
* libc/machine/aarch64/strcpy-stub.S: New file.
* libc/machine/aarch64/Makefile.am (lib_a_SOURCES): Add new files.
* libc/machine/aarch64/Makefile.in: Regenerate.
2014-11-10 14:57:37 +00: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
Corinna Vinschen
97e2f27aa1
* libc/stdio/nano-vfprintf_i.c (_printf_i): Use Newlib approach to
...
handle string that might be not nul-terminated.
* testsuite/newlib.stdio/nulprintf.c: New test.
2014-11-06 11:08:14 +00:00
Jon TURNEY
e7ebfb119e
2014-10-29 Jon Turney <jon.turney@dronecode.org.uk>
...
* libc/include/string.h: Correct guard for strcasecmp().
2014-10-30 11:25:17 +00:00
Corinna Vinschen
28e1bd0159
* libc/stdio/vfprintf.c (_VFPRINTF_R): Remove unnecessary comparison.
2014-10-29 11:06:42 +00:00
Corinna Vinschen
8134be8ac2
* libc/include/sys/unistd.h (sethostname): Declare if
...
requested.
2014-10-27 14:35:46 +00:00
Corinna Vinschen
2a126568ad
* libc/time/gmtime_r.c (gmtime_r): Remove dead code.
2014-10-20 07:30:17 +00:00
Corinna Vinschen
ec2a57f476
* libc/unix/getcwd.c (getcwd): Close directory also in case of an error.
2014-10-16 15:00:59 +00:00
Corinna Vinschen
7a84e9c4bc
* libc/include/_ansi.h: _LONG_LONG_TYPE definition removed.
...
* libc/include/math.h: _LONG_LONG_TYPE replaced by "long long".
Guards for C99 and C++11 functions fixed.
* libc/include/stdlib.h: Guards for C99 and C++11 functions fixed.
2014-10-10 14:43:19 +00:00
Jeff Johnston
50f799240e
2014-10-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
...
* libc/include/stdint.h: Include <sys/_intsup.h>.
(__STDINT_EXP): Delete.
(__have_long32): Likewise.
(__have_long64): Likewise.
(__have_longlong64): Likewise.
* libc/include/sys/_intsup.h: New file.
(__STDINT_EXP): Move from libc/include/stdint.h.
(__have_long32): Likewise.
(__have_long64): Likewise.
(__have_longlong64): Likewise.
* libc/include/inttypes.h: Include <sys/_intsup.h>.
(__INTTYPES_EXP): Delete and use __STDINT_EXP() instead.
2014-10-09 15:57:50 +00:00
Corinna Vinschen
633cf9b5dd
* libc/string/memccpy.c (memccpy): Fix warning about signed-unsigned
...
comparison
* libc/string/memchr.c (memchr): Ditto.
* libc/string/memrchr.c (memrchr): Ditto.
* libc/string/memset.c: (memset): Ditto.
* libc/string/rawmemchr.c (rawmemchr): Ditto.
* libc/string/local.h (__locale_cjk_lang): Fix "function declaration
isn't a prototype" warning.
* libc/string/strcasestr.c (strcasestr): Ditto.
* libc/string/u_strerr.c (_user_strerror): Fix "unused parameter"
warnings.
* libc/string/rawmemchr.c (rawmemchr): Fix comment type
"// ..." -> "/* ... */".
2014-10-09 12:24:56 +00:00
Steve Ellcey
ca86eee8de
2014-10-08 Steve Ellcey <sellcey@mips.com>
...
* newlib/libc/machine/mips/strcmp.c: Remove.
* newlib/libc/machine/mips/strcmp.S: New.
* newlib/libc/machine/mips/Makefile.am (lib_a_SOURCES):
Replace strcmp.c with strcmp.S
* newlib/libc/machine/mips/Makefile.in: Regenerate.
2014-10-08 22:29:52 +00:00
Corinna Vinschen
da77c6d1e5
* libc/include/string.h (ffsl): Declare as GNU function.
...
(ffsll): Ditto.
2014-10-08 21:04:59 +00:00
Jeff Johnston
99eb60455b
2014-09-17 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/include/sys/features.h: Add __NEWLIB__ and
__NEWLIB_MINOR__ macros.
2014-09-17 22:20:16 +00:00
Jeff Johnston
ad9ed96b6b
2014-09-17 Joel Sherrill <joel.sherrill@oarcorp.com>
...
Thomas Uhle <thomas.uhle@eas.iis.fraunhofer.de>
* libc/include/string.h: Correct guard for strnlen().
2014-09-16 19:59:01 +00:00
Jeff Johnston
3158e7d674
2014-09-15 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/time/month_lengths.c: Fix to define __month_lengths.
2014-09-15 16:05:37 +00:00
Jeff Johnston
78a52749b2
2014-09-12 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/time/tzcalc_limits.c: Fix __months_lengths reference.
2014-09-12 21:41:46 +00:00
Jeff Johnston
43b3310bc9
2014-09-12 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/time/month_lengths.c: Actually add file this time.
* libc/time/tzcalc_limits.c: Ditto.
2014-09-12 16:38:10 +00:00
Jeff Johnston
c9dded6775
2014-09-11 Freddie Chopin <freddie_chopin@op.pl>
...
* libc/time/month_lengths.c: New file with __month_lengths array
(previously mon_lengths array in mktm_r.c)
* libc/time/tzcalc_limits.c: New file with __tzcalc_limits() from
mktm_r.c
* libc/time/lcltime_r.c (localtime_r): Simplify by changing call to
_mktm_r() with call to gmtime_r() and code moved from _mktm_r() which
was used to do time zone adjustments
* libc/time/gmtime_r.c (gmtime_r): Simplify by moving all relevant
code from _mktm_r(), breaking all dependencies on time zone related
functions
* libc/time/mktm_r.c: Delete file
* libc/time/local.h: Update accordingly - remove declaration of
_mktm_r(), add declaration of __month_lengths[]
* libc/time/Makefile.am: Modify accordingly.
* libc/time/Makefile.in: Regenerate.
2014-09-11 21:55:01 +00:00
Jeff Johnston
1c5ab1f862
2014-09-08 Freddie Chopin <freddie_chopin@op.pl>
...
* libc/machine/arm/Makefile.am: Fix typo.
* libc/machine/arm/Makefile.in: Regenerated.
2014-09-08 18:57:52 +00:00
Jeff Johnston
c8a01afd97
2014-09-05 Hale Wang <hale.wang@arm.com>
...
* libc/machine/arm/memchr.S: Clean up the wrapper.
* libc/machine/arm/memcpy.S: Likewise.
* libc/machine/arm/memchr-stub.c: Delete this redundant file.
* libc/machine/arm/memcpy-stub.c: Likewise.
* libc/machine/arm/strcmp.S: Add speed-preferred wrapper.
* libc/machine/arm/strlen.S: Likewise.
* libc/machine/arm/Makefile.am: Add dependencies.
* libc/machine/arm/Makefile.in: Regenerated.
* libc/machine/arm/configure.in: Add dependencies.
* libc/machine/arm/configure: Regenerated.
2014-09-05 17:26:42 +00:00
Corinna Vinschen
e7565f1088
* libc/stdio/findfp.c (_cleanup_r): Call _fflush_r when configuration
...
option "--enable-lite-exit" is in effect. Refactor the code.
2014-09-05 09:42:15 +00:00
Corinna Vinschen
1ec7de7271
* libc/stdio/fwalk.c (_fwalk_reent): Remove redundant test.
2014-09-05 09:31:32 +00:00