summaryrefslogtreecommitdiffstats
path: root/newlib/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
...
* C11 aligned_alloc() implementationSebastian Huber2015-10-191-0/+6
| | | | | | | | | | | | | | aligned_alloc() is implemented in terms of posix_memalign() which is only declared in <stdlib.h> but not defined in Newlib in general. At least Linux and RTEMS implement this function. newlib/ChangeLog 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de> * libc/stdlib/Makefile.am (GENERAL_SOURCES): Add alloc_aligned.c.c. * libc/stdlib/Makefile.in: Regenerate. * libc/stdlib/aligned_alloc.c: New.
* C11 aligned_alloc() support for <stdlib.h>Sebastian Huber2015-10-191-0/+4
| | | | | | | newlib/ChangeLog 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de> * libc/include/stdlib.h (alloc_aligned): Declare.
* C11 quick_exit() support for <stdlib.h>Sebastian Huber2015-10-191-0/+9
| | | | | | | | | | | | | | | | Import some <stdlib.h> function declarations from latest FreeBSD and implement them. I am not sure if we should call the global reent cleanup in quick_exit() similar to exit(). newlib/ChangeLog 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de> * libc/include/stdlib.h (at_quick_exit): Declare. (quick_exit): Likewise. * libc/stdlib/Makefile.am (GENERAL_SOURCES): Add quick_exit.c. * libc/stdlib/Makefile.in: Regenerate. * libc/stdlib/quick_exit.c: New.
* Import <threads.h> from latest FreeBSD.Jeff Johnston2015-10-131-0/+5
| | | | | | | | - Move types and defines to <machine/_threads.h> so that it can be customized per target. * libc/include/threads.h: New. * libc/sys/rtems/include/machine/_threads.h: Likewise.
* Synchronize with FreeBSD.Jeff Johnston2015-10-131-2/+7
| | | | | * libc/include/sys/cdefs.h: Synchronize with latest FreeBSD version.
* Add FreeBSD style changes to sys/cdefs.hJeff Johnston2015-10-131-0/+5
| | | | | * libc/include/sys/cdefs.h: Add style changes of latest FreeBSD version.
* Define setjmp buffer length for IA64.Nick Clifton2015-10-081-0/+4
|
* Minimize newlib code size for ft32newlib-snapshot-20150924Jeff Johnston2015-09-221-0/+4
| | | | * configure.host (ft32): minimise newlib code size
* Add support for ft32 to newlib.Jeff Johnston2015-09-041-0/+20
|
* libc/machine/cris/sys/signal.h (kill): Declare.Hans-Peter Nilsson2015-09-031-0/+4
|
* Allow sysconf to return CPU cache informationCorinna Vinschen2015-08-291-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/sys/unistd.h (_SC_LEVEL*): Add cache-related variables as on Linux. * fhandler_proc.cc (format_proc_cpuinfo): Fetch cache information from new cache functions in sysconf.cc, get_cpu_cache_intel and get_cpu_cache_amd. * sysconf.cc (__nt_query_system): New local helper. (get_nproc_values): Utilize __nt_query_system on pre-Windows 7 systems. Use GetLogicalProcessorInformationEx otherwise to handle more than 64 CPUs. Only handle _SC_NPROCESSORS_CONF and _SC_NPROCESSORS_ONLN. (get_phys_pages): New helper to handle _SC_PHYS_PAGES. (cpuid2_cache_descriptor): New array to map Intel CPUID 2 descriptor values to cache type, cache size, associativity and linesize. (cpuid2_cache_desc_compar): Comparision function for bsearch over cpuid2_cache_descriptor. (get_cpu_cache_intel_cpuid2): New function to fetch cache info from Intel CPUID 2. (get_cpu_cache_intel_cpuid4): Ditto from Intel CPUID 4. (get_cpu_cache_intel): New function as CPU-specific entry point. (assoc): New array to map associativity values from AMD CPUID 0x80000006. (get_cpu_cache_amd): New function to fetch cache info from AMD CPUIDs 0x80000005 and 0x80000006. (get_cpu_cache): New function to fetch cache info. (sca): Call get_phys_pages if _SC_PHYS_PAGES is requested. Call get_cpu_cache for new _SC_* cache requests. (SC_MAX): Set to _SC_LEVEL4_CACHE_LINESIZE. (get_phys_pages(void)): Call get_phys_pages(int). * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * new-features.xml (ov-new2.3): Document sysconf cache addition. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* strlen-armv7.S: Fix preprocessor checkCorinna Vinschen2015-08-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hi! I've got the situation, that the function strlen() occurs twice in libc.a (building newlib for ARM-V7a and Size-Optimized). In newlib/libc/machine/arm/strlen.c there are the pre-processor stetements ... #if defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED) || \ (defined (__thumb__) && !defined (__thumb2__)) /*...*/ #else #if !(defined(_ISA_ARM_7) || defined(__ARM_ARCH_6T2__)) /*...*/ #endif and in newlib/libc/machine/arm/strlen-armv7.S the "exclude" begins with /* NOTE: This ifdef MUST match the ones in arm/strlen.c We fallback to the one in arm/strlen.c for size optimised or for older architectures. */ #if defined(_ISA_ARM_7) || defined(__ARM_ARCH_6T2__) && \ !(defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED) || \ (defined (__thumb__) && !defined (__thumb2__))) But this is not completely contrary to arm/strlen.c (see above)! To fix the logical statement in arm/strlen-armv7.S there are parentheses needed Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix for pri and scn formatsAndre Simoes Dias Vieira2015-08-271-0/+10
|
* or1k: Fix critical handling in malloc locksJeff Johnston2015-08-071-0/+4
| | | | | | | Only on first call to the recursive malloc lock the restore value of exception enable fields is stored. * libc/sys/or1k/mlock.c: Fix exception enable saving
* Fix wscanf family positional parameter handling in %lc, %ls, %l[]Shoichi Sakon2015-08-031-0/+6
| | | | | | | | * libc/stdio/vfwscanf.c (__SVFWSCANF_R): Convert wrong usage of va_arg to GET_ARG in %lc, %ls nad %l[] cases. Fix unterminated string in %l[] case. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix typo in <sys/lock.h>Sebastian Huber2015-07-311-0/+5
| | | | | | | | | | | Sorry, there was a typo in <sys/lock.h> which leads to memory corruption since not enough space is reserved for the lock object. newlib/ChangeLog 2015-07-30 Sebastian Huber <sebastian.huber@embedded-brains.de> * libc/sys/rtems/include/sys/lock.h (__LOCK_INIT_RECURSIVE): Use proper type.
* [AArch64] Rewrite optimized memset.Wilco Dijkstra2015-07-301-0/+4
| | | | | | | | | | | This is an optimized memset for AArch64. Memset is split into 4 main cases: small sets of up to 16 bytes, medium of 16..96 bytes which are fully unrolled. Large memsets of more than 96 bytes align the destination and use an unrolled loop processing 64 bytes per iteration. Memsets of zero of more than 256 use the dc zva instruction, and there are faster versions for the common ZVA sizes 64 or 128. STP of Q registers is used to reduce codesize without loss of performance.
* Move header filesSebastian Huber2015-07-291-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | During libgcc build the first include search path for <...> is "../newlib/libc/sys/rtems/include". Move all RTEMS specific header files to "libc/sys/rtems/include" so that they can be found. Later during libc build the header files in the previous location were somehow present, but for libgcc build they were invisible. This change is necessary to use <pthread.h> for the GCC thread model implementation. newlib/ChangeLog 2015-07-27 Sebastian Huber <sebastian.huber@embedded-brains.de> libc/sys/rtems/machine/_types.h: Move to ... libc/sys/rtems/include/machine/_types.h: ... here. libc/sys/rtems/machine/limits.h: Move to ... libc/sys/rtems/include/machine/limits.h: ... here. libc/sys/rtems/machine/param.h: Move to ... libc/sys/rtems/include/machine/param.h: ... here. libc/sys/rtems/sys/cpuset.h: Move to ... libc/sys/rtems/include/sys/cpuset.h: ... here. libc/sys/rtems/sys/dirent.h: Move to ... libc/sys/rtems/include/sys/dirent.h: ... here. libc/sys/rtems/sys/param.h: Move to ... libc/sys/rtems/include/sys/param.h: ... here. libc/sys/rtems/sys/syslimits.h: Move to ... libc/sys/rtems/include/sys/syslimits.h: ... here. libc/sys/rtems/sys/utime.h: Move to ... libc/sys/rtems/include/sys/utime.h: ... here.
* newlib/ChangeLog: Left out of previous commit.Joel Sherrill2015-07-291-0/+4
|
* Cygwin: Implement siglongjmp and sigsetjmp functions.Corinna Vinschen2015-07-211-0/+7
| | | | | | | | | | | | | | | | | | | | | | | * libc/include/machine/setjmp.h (siglongjmp): Declare as function on Cygwin. (sigsetjmp): Ditto. (_longjmp): Mark as noreturn function on Cygwin. * common.din (siglongjmp): Export. (sigsetjmp): Export. * gendef: Change formatting of some comments. (sigsetjmp): Implement. (siglongjmp): Implement. (__setjmpex): x86_64 only: Drop entry point. (setjmp): x86_64 only: Store tls stackptr in Frame now, store MXCSR and FPUCW registers in Spare, as MSVCRT does. (longjmp): x86_64 only: Restore tls stackptr from Frame now, restore MXCSR and FPUCW registers from Spare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * new-features.xml (ov-new2.2): Document sigsetjmp, siglongjmp. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* [AArch64] Reverting recent optimized memset().Marcus Shawcroft2015-07-151-0/+5
|
* [AArch64] Optimized memset.Wilco Dijkstra2015-07-131-0/+5
| | | | | | | | | | | This is an optimized memset for AArch64. Memset is split into 4 main cases: small sets of up to 16 bytes, medium of 16..96 bytes which are fully unrolled. Large memsets of more than 96 bytes align the destination and use an unrolled loop processing 64 bytes per iteration. Memsets of zero of more than 256 use the dc zva instruction, and there are faster versions for the common ZVA sizes 64 or 128. STP of Q registers is used to reduce codesize without loss of performance.
* Fix ChangeLog entry for previous two commits.Marcus Shawcroft2015-07-131-2/+2
|
* [AArch64] Optimized memcpy.Wilco Dijkstra2015-07-131-0/+5
| | | | | | | | | | This is an optimized memcpy for AArch64. Copies are split into 3 main cases: small copies of up to 16 bytes, medium copies of 17..96 bytes which are fully unrolled. Large copies of more than 96 bytes align the destination and use an unrolled loop processing 64 bytes per iteration. In order to share code with memmove, small and medium copies read all data before writing, allowing any kind of overlap. On a random copy test memcpy is 40.8% faster on A57 and 28.4% on A53.
* [AArch64] Optimized memmove.Wilco Dijkstra2015-07-131-0/+5
| | | | | | | This is an optimized memmove for AArch64. All copies of up to 96 bytes and all backward copies are done by the new memcpy. The only remaining case is large forward copies which are done in the same way as the memcpy loop, but copying from the end rather than the start.
* Rework handling of basename variantsYaakov Selkowitz2015-07-061-0/+9
| | | | | | | | | | | | | | | | As a commonly-included header, the #define basename in <string.h> can affect code which uses "basename" for its own purposes (e.g. struct members or C++ namespaced functions). When such cases occur and some code includes <string.h> and some not, then errors result. OTOH, <libgen.h> is rarely used, and that's where the renaming occurs in glibc, so code using <libgen.h> should already be safe. * libc/include/libgen.h (basename): Define as __xpg_basename for source compatibility with glibc. Declare with __ASMNAME("basename") for ABI compatibility. * libc/include/string.h (basename): Define as basename for source compatibility with glibc. Declare with __ASMNAME("__gnu_basename") for ABI compatibility.
* Fix sys/time.h build problem due to inconsistent macro usageCorinna Vinschen2015-07-061-0/+6
| | | | | | | | | | | | | https://sourceware.org/ml/newlib/2015/msg00520.html describes how sys/time.h uses __BSD_VISIBLE while the types used in the affected inline functions are guarded with !_POSIX_SOURCE. Fix that by guarding the type with __BSD_VISIBLE as well. * libc/include/sys/time.h: Explicitely include sys/cdefs.h. * libc/include/sys/types.h: Ditto. Guard BSD convenience base types with __BSD_VISIBLE rather than !_POSIX_SOURCE. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Prevent use of uninitialized file lockSebastian Huber2015-07-021-0/+6
| | | | | | | | | | | | | | | The CHECK_INIT() is necessary before the _newlib_flockfile_start() since this would use otherwise acquire an uninitialized lock which gets initialized after this leading to a corrupt release. newlib/ChangeLog 2015-07-01 Sebastian Huber <sebastian.huber@embedded-brains.de> libc/stdio/fputs.c (_puts_r): Add missing CHECK_INIT(). libc/stdio/gets.c (_gets_r): Add missing _REENT_SMALL_CHECK_INIT() and CHECK_INIT(). Use _stdin_r() to get the file pointer instead of stdin. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Regenerate Makefile.inJon TURNEY2015-06-291-0/+9
| | | | | | | | | | | | | | | Regenerate Makefile.in with changes in commits 153385d8 and 433aad91 2015-06-29 Jon Turney <jon.turney@dronecode.org.uk> * libc/ctype/Makefile.in: Regenerate. * libc/posix/Makefile.in: Ditto. * libc/stdio/Makefile.in: Ditto. * libc/stdio64/Makefile.in: Ditto. * libc/stdlib/Makefile.in: Ditto. * libc/string/Makefile.in: Ditto. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
* Use source files which have makedoc markup, but aren't processed or included.newlib-snapshot-20150623Jon TURNEY2015-06-241-0/+12
| | | | | | | | | | | | | | | | | | | | | | | These source files have makedoc markup, but aren't listed to be chewed by makedoc. I am assuming that is accidental. Future work: Note that stdio/fseeko.c, stdio/ftello.c and common/s_isnand.c have makedoc markup, but duplicate stdio/fseek.c, stdio/ftell.c and common/s_isnan.c respectively. 2015-06-23 Jon Turney <jon.turney@dronecode.org.uk> * libc/ctype/Makefile.am (CHEWOUT_FILES): Add isblank.def. * libc/ctype/ctype.tex: Include isblank and add to menu. * libc/posix/Makefile.am (CHEWOUT_FILES): Add posix_spawn.def. * libc/posix/posix.tex: Include posix_spawn and add to menu. * libc/stdio64/Makefile.am (CHEWOUT_FILES): Add fdopen.def. * libc/stdio64/stdio64.tex: Include fdopen64 and add to menu. * libc/stdio64/fdopen64.c: Improve one-line description. * libc/string/Makefile.am (CHEWOUT_FILES): Add strchrnul.def. * libc/string/strings.tex: Include strchrnul and add to menu. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
* Use makedoc output files which are generated but aren't includedJon TURNEY2015-06-241-0/+9
| | | | | | | | | | | | | | | | | | | 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-241-0/+6
| | | | | | | | | | | | | | | 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-241-0/+7
| | | | | | | | | | | 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-231-0/+6
| | | | | | | | | | | | | 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-0/+5
| | | | | | | | | | | | 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-231-0/+6
| | | | | | | | | | 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-0/+4
| | | | | | | | 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-231-0/+6
| | | | | | | | | | 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-231-0/+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-231-0/+5
| | | | | | | | | 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/+4
| | | | | | * libc/include/sys/signal.h: Include forgotten sys/cdefs.h. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* ChangeLog entries for Cygwin's alternate signal stack implementationCorinna Vinschen2015-06-201-0/+11
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* gmtime_r: Use faster algorithm by Howard HinnantFreddie Chopin2015-06-151-0/+5
| | | | | | | * 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-011-0/+10
| | | | | | | | | | | | * 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>
* aarch64: fabs and sqrt implementation with inline asmSzabolcs Nagy2015-06-011-0/+9
| | | | | | | | | | | * libm/machine/aarch64/e_sqrt.c: New file. * libm/machine/aarch64/ef_sqrt.c: New file. * libm/machine/aarch64/s_fabs.c: New file. * libm/machine/aarch64/sf_fabs.c: New file. * libm/machine/aarch64/Makefile.in: Add new source files. * libm/machine/aarch64/Makefile.am: Regenerate. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Correct argz_replace behaviour when memory is exhausted.David Stacey2015-06-011-0/+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-0/+4
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix potential memory leak in argz_replaceDavid Stacey2015-05-271-0/+4
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Avoid unneeded truncation to "int"newlib-snapshot-20150526DJ Delorie2015-05-271-0/+5
| | | | | * libm/math/e_sqrt.c (__ieee754_sqrt): Don't truncate constant to "int".
* Update signbit functions to work on targets where integers are only 16-bits.Nick Clifton2015-05-271-0/+5
| | | | | * libm/common/s_signbit.c (__signbitf): Fix for 16-bit targets. (__signbitd): Likewise.