aboutsummaryrefslogtreecommitdiff
path: root/newlib
AgeCommit message (Collapse)AuthorFilesLines
2015-04-23Fix UTF-16 surrogate handling in wctomb and friends.Corinna Vinschen2-1/+6
* libc/stdlib/wctomb_r.c (__utf8_wctomb): Fix check for handling a lone high surrogate. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-04-23Avoid excessive locking and calling tzset in time functions.Corinna Vinschen4-5/+25
* libc/time/lcltime_r.c (localtime_r): Call _tzset_unlocked inside TZ lock. * libc/time/mktime.c (mktime): Ditto. * libc/time/strftime.c (strftime, wcsftime): Ditto. Guard against calling _tzset_unlocked more than once (baring recursion). Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-04-23Add _tzset_unlocked and _tzset_unlocked_rCorinna Vinschen4-23/+35
newlib: * libc/time/local.h (_tzset_unlocked_r): Add prototype. (_tzset_unlocked): Ditto. * libc/time/tzset.c (_tzset_unlocked): New function, call _tzset_unlocked_r. (tzset): Lock and call _tzset_unlocked_r. * libc/time/tzset_r (_tzset_unlocked_r): Remove locking and rename from _tzset_r. (_tzset_r): Lock and call _tzset_unlocked_r. cygwin: * localtime.cc (tzset_unlocked): Export as _tzset_unlocked. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-04-23Move tzset calls to time functions.Craig Howland5-7/+13
* libc/stdlib/setenv_r.c (_setenv_r): Remove tzset() call for TZ definition. * libc/time/lcltime_r.c (localtime_r): Add tzset() call * libc/time/mktime.c (mktime): Ditto. * libc/time/strftime.c (strftime, wcsftime): Ditto. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-04-23strftime: use tzname if TM_ZONE is NULLYaakov Selkowitz2-3/+8
This avoids a strlen(NULL) crash a few lines later. * libc/time/strftime.c (strftime) <%Z>: Initialize tznam to NULL. Use _tzname as fallback if TM_ZONE is NULL.
2015-04-23string: add GNU basename(3)Yaakov Selkowitz6-2/+61
* libc/include/libgen.h (_BASENAME_DEFINED): Define. * libc/include/string.h (basename): Declare. * libc/string/Makefile.am (ELIX_4_SOURCES): Add gnu_basename.c. * libc/string/Makefile.in: Regenerate. * libc/string/gnu_basename.c: New file.
2015-04-23Import <sys/tree.h> from FreeBSDSebastian Huber2-0/+805
* libc/include/sys/tree.h: New file.
2015-04-23* newlib.hin: Remove _UINTPTR_EQ_ULONG and _UINTPTR_EQ_ULONGLONG.Joel Sherrill2-6/+4
2013-03-23 Joel Sherrill <joel.sherrill@oarcorp.com> * newlib.hin: Remove _UINTPTR_EQ_ULONG and _UINTPTR_EQ_ULONGLONG.
2015-04-23Change from configure time to compile time probe for intptr_t definition.Joel Sherrill5-110/+36
2015-03-23 Joel Sherrill <joel.sherrill@oarcorp.com * configure.in: Delete logic to determine _UINTPTR_EQ_ULONGLONG and _UINTPTR_EQ_ULONG at configuration time. *libc/include/sys/config.h: Add logic to determine _UINTPTR_EQ_ULONGLONG and _UINTPTR_EQ_ULONG at compilation time. * libc/include/inttypes.h: Add include of <sys/config.h>. * configure: Regenerated.
2015-04-23 Add ChangeLog entry for last patch to libc/include/sys/time.h.Steve Ellcey1-0/+5
2015-04-23 Replace uint32_t/uint64_t type usage with __uint32_t/__uint64_t.Steve Ellcey1-18/+18
* libc/include/sys/time.h: Replace uint32_t and uint64_t with __uint32_t and __uint64_t.
2015-03-16Fix newlib texinfo source so 'info libc' and 'info libm' workJon TURNEY3-6/+13
If the newlib .info files are installed using install-info, 'info libc' and 'info libm' don't work. This seems to be due to the formatting of the directory entry line not being quite right, so fix that. Also use @direntry texinfo command, rather than writing .info directory entry literally. Also use @dircategory texinfo command to place into 'Newlib' category, rather than ending up in 'Miscellaneous' newlib/ChangeLog: 2015-03-13 Jon TURNEY <jon.turney@dronecode.org.uk> * libc/libc.texinfo: Fix directory entry. * libm/libm.texinfo: Ditto. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2015-03-13Drop including cygwin/sys_time.h on Cygwin.Corinna Vinschen2-4/+4
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-03-13Merge parts of <sys/time.h> from FreeBSDSebastian Huber5-65/+539
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-03-12Import libc/sys/rtems/include/semaphore.h from FreeBSD.Sebastian Huber2-0/+60
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-03-11Add and use latest <sys/timespec.h> from FreeBSDSebastian Huber9-16/+130
* libc/include/sys/_timespec.h: Import from FreeBSD. * libc/include/sys/timespec.h: Likewise. * libc/include/time.h: Include <sys/timespec.h>. * libc/include/sys/types.h (timespec): Delete. (itimerspec): Likewise. * libc/include/machine/time.h: Include <sys/_timespec.h>. * libc/include/sys/sched.h: Likewise. * libc/include/sys/signal.h: Likewise. * libc/include/sys/stat.h: Likewise. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-03-11Fix a build problem running the newlib testsuite on targets that only have ↵Nick Clifton2-1/+7
32-bit doubles. * testsuite/newlib.stdio/swprintf.c (main): Change size of value used to initialise 'val' variable so that it will compile on targets with 32-bit doubles.
2015-03-05 * libc/include/stdio.h (FILE): Protect typedef from redefinition.Corinna Vinschen3-0/+11
* libc/include/wchar.h: Ditto.
2015-03-032015-02-25 Gedare Bloom <gedare@rtems.org>Joel Sherrill2-4/+6
* libc/include/machine/time.h (_CLOCKS_PER_SEC_): redefine for RTEMS.
2015-03-03 * libc/machine/mips/memset.S: Add support for mips32r6/mips64r6.Steve Ellcey2-0/+62
2015-03-03 * libc/machine/mips/memcpy.S: Add support for mips32r6/mips64r6.Steve Ellcey2-14/+169
2015-02-262015-02-26 Steve Ellcey <sellcey@imgtec.com>Steve Ellcey2-108/+113
* libc/machine/mips/memcpy.S: Fix macro indentation and typos in comments.
2015-02-25* libc/include/sys/cdefs.h (_GNU_SOURCE): Move check so it has anJon TURNEY2-6/+13
effect when _XOPEN_SOURCE is also defined.
2015-02-17 * libc/machine/arm/aeabi_memclr.c: New file to supportCorinna Vinschen9-5/+555
aeabi_memclr. * libc/machine/arm/aeabi_memset.c: New file to support aeabi_memset. * libc/machine/arm/aeabi_memset-soft.S: Ditto. * libc/machine/arm/aeabi_memset-arm.S: Ditto. * libc/machine/arm/aeabi_memset-thumb.S: Ditto. * libc/machine/arm/aeabi_memset-thumb2.S: Ditto. * libc/machine/arm/Makefile.am: Add dependencies. * libc/machine/arm/Makefile.in: Regenerated.
2015-02-17 * libc/machine/arm/aeabi_memmove.c: New file to supportCorinna Vinschen8-3/+351
aeabi_memmove. * libc/machine/arm/aeabi_memmove-soft.S: Ditto. * libc/machine/arm/aeabi_memmove-arm.S: Ditto. * libc/machine/arm/aeabi_memmove-thumb.S: Ditto. * libc/machine/arm/aeabi_memmove-thumb2.S: Ditto. * libc/machine/arm/Makefile.am: Add dependencies. * libc/machine/arm/Makefile.in: Regenerated.
2015-02-06 * libc/include/complex.h (cabsl): Add prototype.Nick Clifton23-50/+523
(cimagl): Add prototype. (creall): Add prototype. * libc/include/ieeefp.h: Include float.h. (EXT_EXPBITS, EXT_FRACHBITS, EXT_FRACLBITS) (EXT_EXP_INFNAN. EXT_EXP_BIAS, EXT_FRACBITS): Define. (struct ieee_ext, union ieee_ext_u): New types for long double support. * libc/include/math.h (finitel): Add prototype. (hypotl): Add prototype. (sqrtl): Add prototype. * libm/common/Makefile.am (lsrc): Add sl_finite.c. * libm/common/Makefile.in: Regenerate. * libm/common/fdlibm.h (__ieee754_hypotl): Add prototype. * libm/common/hypotl.c (hypotl): Add implementation for when long double is larger than double. * libm/common/sqrtl.c (sqrtl): Likewise. * libm/common/sl_finite.c: New file. Adds implementation of the finitel function. * libm/complex/Makefile.am (lsrc): Define. (libcomplex_la_SOURCES): Add lsrc. (lib_a_SOURCES): Add lsrc. * libm/complex/Makefile.in: Regenerate. * libm/complex/cabs.c: Add documentation of cabsl function. * libm/complex/cimag.c: Add documentation of cimagl function. * libm/complex/creall.c: Add documentation of creall function. * libm/complex/cabsl.c: New file. Adds implementation of the cabsl function. * libm/complex/cimagl.c: New file. Adds implementation of the cimagl function. * libm/complex/creall.c: New file. Adds implementation of the creall function. * libm/math/Makefile.am (lsrc): Define. (libmath_la_SOURCES): Add lsrc. (lib_a_SOURCES): Add lsrc. * libm/math/Makefile.in: Regenerate. * libm/math/el_hypot.c: New file. Adds implementation of the __ieee754_hypotl function.
2015-02-04 * libc/include/wchar.h (wcstold): Drop _LDBL_EQ_DBL requirement forCorinna Vinschen2-3/+5
declaration.
2015-01-29 * libc/stdlib/wcstold.c (wcstold): Add implementation for whenNick Clifton2-4/+77
long double is not the same as double.
2015-01-28 * libc/include/sys/time.h: #include <sys/cdefs.h> for __BSD_VISIBLE.Corinna Vinschen2-0/+5
2015-01-23 Complete action from 2001-12-18:Corinna Vinschen18-697/+5
* libc/machine/i386/f_*: Remove duplicate files.
2015-01-22* libc/sys/sparc64/sys/time.h: #include <sys/types.h> for time_t.Yaakov Selkowitz2-0/+6
2015-01-22 * libc/sys/or1k/mlock.c: Fix dependency on libgloss.Corinna Vinschen2-2/+8
2015-01-21 * COPYING.LIBGLOSS: Add Controls and Data Services copyright.Eric Botcazou18-7/+8025
* COPYING.NEWLIB: Likewise. libgloss/ * configure.in: Add Visium support. * configure: Regenerate. * visium/: New directory. newlib/ * configure.host: Add Visium support. * libc/machine/configure.in: Likewise. * libc/machine/configure: Regenerate. * libc/machine/visium/: New directory. * libc/include/machine/setjmp.h (_JBLEN): Define for Visium. * libc/include/machine/ieeefp.h (__IEEE_BIG_ENDIAN): Likewise. * libc/include/machine/time.h (_CLOCKS_PER_SEC_): Likewise.
2015-01-20 * libc/sys/configure.in: Add OpenRISC.Corinna Vinschen1-0/+5
* libc/sys/configure: Regenerate.
2015-01-20Fix typo in entry headerCorinna Vinschen3-3/+7
2015-01-20Fix datesCorinna Vinschen1-2/+2
2015-01-20 * libc/machine/aarch64/strlen.S (strlen): Improve performance.Corinna Vinschen2-69/+175
2015-01-20 * configure.host: Add extra system for OpenRISC baremetal.Corinna Vinschen2-2/+11
2015-01-142015-01-14 Joel Sherrill <joel.sherrill@oarcorp.com>Jeff Johnston2-0/+7
* libc/include/sys/unistd.h [__BSD_VISIBLE]: Add issetugid() prototype.
2015-01-142015-01-14 Joel Sherrill <joel.sherrill@oarcorp.com>Jeff Johnston2-6/+11
* doc/makedoc.c: Use uintptr_t to avoid int/pointer size warnings
2015-01-14 * configure.host: Add extra system for OpenRISC baremetalCorinna Vinschen10-0/+6749
* libc/include/sys/config.h: Dynamic reentrancy for or1k sys targets * libc/sys/or1k/: New system for or1k baremetal * libc/sys/or1k/Makefile.am: New file * libc/sys/or1k/Makefile.in: New file * libc/sys/or1k/aclocal.m4: New file * libc/sys/or1k/configure.in: New file * libc/sys/or1k/configure: New file * libc/sys/or1k/getreent.S: New file * libc/sys/or1k/mlock.S: New file * libc/sys/or1k/or1k-asm.S: New file
2015-01-12 * testsuite/newlib.wctype/tiswctype.c (main): Use wide character typeCorinna Vinschen2-12/+17
function.
2015-01-08 * libc/time/strftime.c (__strftime): Utilize __TM_GMTOFF and __TM_ZONECorinna Vinschen2-6/+40
on systems where available. On Cygwin, call function to get values. Add comment to explain why. Drop TZ_LOCK/TZ_UNLOCK in 'z' case since it's not necessary. In 'Z' case, add a comment to document a potential codeset problem.
2015-01-08 * testsuite/newlib.wctype/twctrans.c (main): Use towlower and towupper.Corinna Vinschen2-4/+8
2015-01-06 * libc/machine/aarch64/strcpy.S (strcpy): Further performanceRichard Earnshaw6-125/+259
improvements. Adjust to allow building as stpcpy. * libc/machine/aarch64/stpcpy.S: New file. * libc/machine/aarch64/stpcpy-stub.c: New file. * libc/machine/aarch64/Makefile.am (lib_a_SOURCES): Build stpcpy. * libc/machine/aarch64/Makefile.in: Regenerated.
2015-01-052014-12-26 Freddie Chopin <freddie_chopin@op.pl>Jeff Johnston2-20/+6
* libc/include/sys/features.h: update newlib version and copyright year
2014-12-182014-12-18 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston107-2132/+1940
* NEWS: Update with 2.2.0 info. * README: Ditto. * acinclude.m4: Change version number to 2.2.0. * libc/libc.texinfo: Ditto. * libm/libm.texinfo: Ditto. * configure: Regenerated. * Makefile.in: Regenerated. * doc/configure: Ditto. * libc/*/configure: Ditto. * libm/*/configure: Ditto. * libc/sys/linux/shared.ld: Add VERS_2.2
2014-12-18Implement BSD/GNU unlocked stdio extensions.Yaakov Selkowitz42-77/+1865
* 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 * stdio.tex: Add menu entries for __fsetlocking and stdio_ext.Corinna Vinschen3-1/+8
* stdio_ext.c: Add "stdio_ext" to synopsis.
2014-12-16* libc/stdlib/nano-mallocr.c (ALIGN_TO): Do not assume thatDJ Delorie2-1/+6
integers are as big as pointers.