summaryrefslogtreecommitdiffstats
path: root/newlib/libc
Commit message (Collapse)AuthorAgeFilesLines
* Use makedoc output files which are generated but aren't includedJon TURNEY2015-06-242-0/+16
| | | | | | | | | | | | | | | | | | | I think these are accidental omissions, as these source files are listed to be chewed by makedoc, but the result is not included by any texinfo source file. Future work: Nothing in libc/reent/ which is processed by makedoc is included by reent.tex 2015-06-23 Jon Turney <jon.turney@dronecode.org.uk> * libc/stdlib/stdlib.tex: Include itoa and utoa, and add to menu. * libc/string/strings.tex: Include memrchr and rawmemchr, and add to menu. * libm/math/math.tex: Include exp10 and pow10, and add to menu. * libm/common/s_exp10.c: Improve one-line description. * libm/common/s_exp10.c: Ditto. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
* Don't chew files which contain no documentation markupJon TURNEY2015-06-242-3/+0
| | | | | | | | | | | | | | | 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>
* Fix mismatched parentheses in documentation.Jon TURNEY2015-06-243-3/+3
| | | | | | | | | | | 2015-06-23 Jon Turney <jon.turney@dronecode.org.uk> * libc/locale/locale.c: Fix mismatched parentheses in documentation. * libc/locale/locale.tex: Ditto. * libc/stdio/fgetwc.c: Ditto. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
* Fix typo-ed function names in efgcvt.c documentationJon TURNEY2015-06-232-3/+3
| | | | | | | | | | | | | Fix typo-ed function names in efgcvt.c documentation, neither gvcvt nor gdvtf exists. 2015-06-23 Jon Turney <jon.turney@dronecode.org.uk> * libc/stdlib/efgcvt.c: Fix typo-ed function names in documentation. * libc/stdlib/stdlib.tex: Fix function name in menu to match. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
* Fix an inconsistent use of '.' in FUNCTIONJon TURNEY2015-06-231-1/+1
| | | | | | | | | | | | Fix an inconsistent use of '.' to separate function names in FUNCTION. ',' is used everywhere else. 2015-06-23 Jon Turney <jon.turney@dronecode.org.uk> * libc/stdio/fread.c: Fix inconsistent use of '.' to separate function names in FUNCTION mark up. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
* Fix SYNOPSIS prototypes without marked up parameter namesJon TURNEY2015-06-232-3/+3
| | | | | | | | | | 2015-06-23 Jon Turney <jon.turney@dronecode.org.uk> * libc/stdlib/llabs.c: Mark up parameter name in ANSI_SYNOPSIS. * libc/time/tzset.c: Add and mark up parameter in SYNOPSIS. * libm/common/s_nan.c: Ditto. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
* Correct a non-ANSI prototype in SYNOPSISJon TURNEY2015-06-231-1/+1
| | | | | | | | 2015-06-23 Jon Turney <jon.turney@dronecode.org.uk> * libc/stdio/getchar_u.c: Fix a non-ANSI prototype in SYNOPSIS. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
* Remove stray punctuation in ANSI_SYNOPSIS prototypesJon TURNEY2015-06-232-2/+2
| | | | | | | | | | 2015-06-23 Jon Turney <jon.turney@dronecode.org.uk> * libc/string/wcscpy.c: Remove stray ',' from prototype in ANSI_SYNOPSIS. * libc/string/wcpcpy.c: Ditto. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
* Fix some mangled makedoc markupJon TURNEY2015-06-232-5/+5
| | | | | | | | | 2015-06-23 Jon Turney <jon.turney@dronecode.org.uk> * libc/stdlib/itoa.c: Fix makedoc markup. * libc/stdlib/wcsnrtombs.c: Ditto. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
* Fix makedoc markup used in texinfo sourceJon TURNEY2015-06-232-2/+2
| | | | | | | | | 2015-06-23 Jon Turney <jon.turney@dronecode.org.uk> * libc/signal/signal.tex: Use texinfo not makedoc markup. * libc/stdio/stdio.tex: Ditto. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
* sys/signal.h requires sys/cdefs.hCorinna Vinschen2015-06-221-0/+1
| | | | | | * libc/include/sys/signal.h: Include forgotten sys/cdefs.h. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Use MINSIGSTKSZ and SIGSTKSZ from newlib for Cygwin as wellCorinna Vinschen2015-06-201-14/+14
| | | | | | | | | | * libc/include/sys/signal.h: Move altstack macros completely outside of rtems block. * include/cygwin/signal.h: Remove definitions of MINSIGSTKSZ and SIGSTKSZ here. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Preliminary infrastructure to implement alternate stackCorinna Vinschen2015-06-191-6/+7
| | | | | | | | | | | | | | | | | | | | | | | * libc/include/sys/signal.h: Define SS_ONSTACK and SS_DISABLE unconditionally. (sigaltstack): Enable prototype on Cygwin. * common.din (sigaltstack): Export. * cygtls.cc (_cygtls::init_thread): Initialize altstack. * cygtls.h (__tlsstack_t): Rename from __stack_t to distinguish more clearly from stack_t. Accommodate throughout. (_cygtls): Add altstack member. * exceptions.cc (exception::handle): Set SIGSEGV handler to SIG_DFL if we encounter a stack overflow, and no alternate stack has been defined. * include/cygwin/signal.h (MINSIGSTKSZ): Define (SIGSTKSZ): Define. (SA_ONSTACK): Define. * signal.cc (sigaltstack): New function. * tlsoffset.h: Regenerate. * tlsoffset64.h: Ditto. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* gmtime_r: Use faster algorithm by Howard HinnantFreddie Chopin2015-06-151-71/+35
| | | | | | | * libc/time/gmtime_r.c (gmtime_r): use faster algorithm from civil_from_days() by Howard Hinnant Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Update the assembler code to support old ARM architectures.Hale Wang2015-06-016-183/+179
| | | | | | | | | | | | * libc/machine/arm/aeabi_memmove-arm.S (__aeabi_memmove): Update the assembler implementation. * libc/machine/arm/aeabi_memmove-thumb.S (__aeabi_memmove): Ditto. * libc/machine/arm/aeabi_memmove-thumb2.S (__aeabi_memmove): Ditto. * libc/machine/arm/aeabi_memset-arm.S (__aeabi_memset): Ditto. * libc/machine/arm/aeabi_memset-thumb.S (__aeabi_memset): Ditto. * libc/machine/arm/aeabi_memset-thumb2.S (__aeabi_memset): Ditto. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Correct argz_replace behaviour when memory is exhausted.David Stacey2015-06-011-2/+5
| | | | | | | * libc/argz/argz_replace.c (argz_replace): Correct behaviour when memory is exhausted. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix comment in sys/wait.hCorinna Vinschen2015-05-281-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix potential memory leak in argz_replaceDavid Stacey2015-05-271-1/+4
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Revert to exposing sys/select.h from sys/time.h on CygwinCorinna Vinschen2015-05-021-0/+6
| | | | | | * libc/include/sys/time.h: Include sys/select.h on Cygwin. Explain why. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Improve check for int32_t being long or intCorinna Vinschen2015-04-294-32/+41
| | | | | | | | | | | | | | * libc/include/sys/config.h: Move evaluation of _UINTPTR_EQ_ULONG and _UINTPTR_EQ_ULONGLONG from here... * libc/include/sys/_intsup.h: ...to here. Rename to _INTPTR_EQ_LONG and _INTPTR_EQ_LONGLONG to refer to signed base type. Add test for base type of int32_t and set _INT32_EQ_LONG accordingly. * libc/include/stdint.h: Change checks for __have_long32 to checks for _INT32_EQ_LONG. * libc/include/inttypes.h: Ditto. Accommodate aforementioned name change. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix basename prototype collision string.h vs libgen.hCorinna Vinschen2015-04-232-12/+26
| | | | | | | | | | * libc/include/libgen.h (basename): Drop defining _BASENAME_DEFINED. Always define macro basename. Add comment to explain why. * libc/include/string.h (basename): Check for basename instead of _BASENAME_DEFINED. Drop __GNUC__ branch, always use basename macro. Change comment to explain why. Add nonnull function attribute. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* For the RX port, avoid using string instructions when ↵Nick Clifton2015-04-2312-0/+235
| | | | | | | | | | | | | | | | | | | __RX_DISALLOW_STRING_INSNS__ is defined. * rx/crt0.S (_start): If string instructions are not allowed, avoid using SMOVF. * libc/machine/rx/memchr.S: Add non-string insn using version. * libc/machine/rx/memcpy.S: Likewise. * libc/machine/rx/memmove.S: Likewise. * libc/machine/rx/mempcpy.S: Likewise. * libc/machine/rx/strcat.S: Likewise. * libc/machine/rx/strcmp.S: Likewise. * libc/machine/rx/strcpy.S: Likewise. * libc/machine/rx/strlen.S: Likewise. * libc/machine/rx/strncat.S: Likewise. * libc/machine/rx/strncmp.S: Likewise. * libc/machine/rx/strncpy.S: Likewise.
* Add parens around MIN/MAX values in stdint.h.Corinna Vinschen2015-04-231-71/+71
| | | | | | * libc/include/stdint.h: Throughout add parens around MIN/MAX values. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add <sys/_stdint.h> for FreeBSD compatibilitySebastian Huber2015-04-235-46/+69
| | | | | | | | | | | | | | | | | | | | * libc/include/sys/_stdint.h: New file. * libc/include/stdint.h (int8_t): Move to <sys/_stdint.h>. (uint8_t): Likewise. (int16_t): Likewise. (uint16_t): Likewise. (int32_t): Likewise. (uint32_t): Likewise. (int64_t): Likewise. (uint64_t): Likewise. (intptr_t): Likewise. (uintptr_t): Likewise. * libc/include/sys/types.h: Include <sys/_stdint.h>. * libc/sys/rtems/machine/_types.h: Remove <stdint.h> include. * libc/sys/time.h>: Replace __uint32_t with uint32_t and __uint64_t with uint64_t. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Make stack_t typedef generally availableJon TURNEY2015-04-231-9/+9
| | | | | | | * libc/include/sys/signal.h (stack_t): Make typedef generally available. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
* Fix UTF-16 surrogate handling in wctomb and friends.Corinna Vinschen2015-04-231-1/+1
| | | | | | | * libc/stdlib/wctomb_r.c (__utf8_wctomb): Fix check for handling a lone high surrogate. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Avoid excessive locking and calling tzset in time functions.Corinna Vinschen2015-04-233-5/+17
| | | | | | | | | | * 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>
* Add _tzset_unlocked and _tzset_unlocked_rCorinna Vinschen2015-04-233-23/+24
| | | | | | | | | | | | | | | | | | | 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>
* Move tzset calls to time functions.Craig Howland2015-04-234-7/+5
| | | | | | | | | | * 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>
* strftime: use tzname if TM_ZONE is NULLYaakov Selkowitz2015-04-231-3/+3
| | | | | | | 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.
* string: add GNU basename(3)Yaakov Selkowitz2015-04-235-2/+53
| | | | | | | | * 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.
* Import <sys/tree.h> from FreeBSDSebastian Huber2015-04-231-0/+801
| | | | * libc/include/sys/tree.h: New file.
* Change from configure time to compile time probe for intptr_t definition.Joel Sherrill2015-04-232-0/+27
| | | | | | | | | | | 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.
* Replace uint32_t/uint64_t type usage with __uint32_t/__uint64_t.Steve Ellcey2015-04-231-18/+18
| | | | | * libc/include/sys/time.h: Replace uint32_t and uint64_t with __uint32_t and __uint64_t.
* Fix newlib texinfo source so 'info libc' and 'info libm' workJon TURNEY2015-03-161-3/+4
| | | | | | | | | | | | | | | | | | | | | | | 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>
* Drop including cygwin/sys_time.h on Cygwin.Corinna Vinschen2015-03-131-4/+0
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Merge parts of <sys/time.h> from FreeBSDSebastian Huber2015-03-134-65/+513
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Import libc/sys/rtems/include/semaphore.h from FreeBSD.Sebastian Huber2015-03-121-0/+56
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add and use latest <sys/timespec.h> from FreeBSDSebastian Huber2015-03-118-16/+118
| | | | | | | | | | | | | | * 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>
* * libc/include/stdio.h (FILE): Protect typedef from redefinition.Corinna Vinschen2015-03-052-0/+6
| | | | * libc/include/wchar.h: Ditto.
* 2015-02-25 Gedare Bloom <gedare@rtems.org>Joel Sherrill2015-03-031-4/+2
| | | | * libc/include/machine/time.h (_CLOCKS_PER_SEC_): redefine for RTEMS.
* * libc/machine/mips/memset.S: Add support for mips32r6/mips64r6.Steve Ellcey2015-03-031-0/+58
|
* * libc/machine/mips/memcpy.S: Add support for mips32r6/mips64r6.Steve Ellcey2015-03-031-14/+165
|
* 2015-02-26 Steve Ellcey <sellcey@imgtec.com>Steve Ellcey2015-02-261-108/+108
| | | | | * libc/machine/mips/memcpy.S: Fix macro indentation and typos in comments.
* * libc/include/sys/cdefs.h (_GNU_SOURCE): Move check so it has anJon TURNEY2015-02-251-6/+8
| | | | effect when _XOPEN_SOURCE is also defined.
* * libc/machine/arm/aeabi_memclr.c: New file to supportCorinna Vinschen2015-02-178-5/+542
| | | | | | | | | | | | 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.
* * libc/machine/arm/aeabi_memmove.c: New file to supportCorinna Vinschen2015-02-177-3/+340
| | | | | | | | | | 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.
* * libc/include/complex.h (cabsl): Add prototype.Nick Clifton2015-02-065-11/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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.
* * libc/include/wchar.h (wcstold): Drop _LDBL_EQ_DBL requirement forCorinna Vinschen2015-02-041-3/+0
| | | | declaration.
* * libc/stdlib/wcstold.c (wcstold): Add implementation for whenNick Clifton2015-01-291-4/+72
| | | | long double is not the same as double.