Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add myself to RISC-V Port Maintainer | Kito Cheng | 2017-08-21 | 1 | -0/+1 |
| | |||||
* | Change license to FreeBSD License for RISC-V | Kito Cheng | 2017-08-21 | 12 | -12/+12 |
| | | | | | | - For prevent confuse about what BSD license variant we used, 2- or 3-clause license, we change the license to FreeBSD license to make it unambiguously refers to the 2-clause license. | ||||
* | cygwin: Implement renameat2 | Ken Brown | 2017-08-19 | 1 | -0/+3 |
| | | | | | | Define the RENAME_NOREPLACE flag in <cygwin/fs.h> as defined on Linux in <linux/fs.h>. The other RENAME_* flags defined on Linux are not supported. | ||||
* | Add RISC-V port for libm | Kito Cheng | 2017-08-17 | 19 | -1/+7282 |
| | | | | | | Contributor list: - Michael Neilly <mneilly@yahoo.com> - Kito Cheng <kito.cheng@gmail.com> | ||||
* | headers: avoid bareword attributes | Eric Blake | 2017-08-17 | 2 | -15/+15 |
| | | | | | | | | | Always use the __-decorated form of an attribute name in public headers, as the bareword form is in the user's namespace, and we don't want compilation to break just because the user defines the bareword to mean something else. Signed-off-by: Eric Blake <eblake@redhat.com> | ||||
* | Add RISC-V port for newlib | Kito Cheng | 2017-08-16 | 24 | -2/+7185 |
| | | | | | | | | Contributor list: - Andrew Waterman <andrew@sifive.com> - Palmer Dabbelt <palmer@dabbelt.com> - Kito Cheng <kito.cheng@gmail.com> - Scott Beamer <sbeamer@eecs.berkeley.edu> | ||||
* | newlib: regenerate libc/stdlib/Makefile.am | Corinna Vinschen | 2017-08-11 | 1 | -9/+36 |
| | | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de> | ||||
* | Define sigsetjmp/siglongjmp only if __POSIX_VISIBLE | Ken Brown | 2017-08-07 | 1 | -2/+2 |
| | |||||
* | Proper locking for getchar() and putchar() | Sebastian Huber | 2017-08-07 | 1 | -7/+32 |
| | | | | | | | | | | | | | Add internal inline functions _getchar_unlocked() and _putchar_unlocked() if __CUSTOM_FILE_IO__ is not defined. These functions get _REENT only once. Use them for getchar_unlocked() and putchar_unlocked(). Define getchar() and putchar() to these unlocked internal functions if __SINGLE_THREAD__ is defined, otherwise use the external functions to use proper locking of the FILE object. Assumes that __SINGLE_THREAD__ is not defined if __CYGWIN__ is defined. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> | ||||
* | Importing wcstoumax inttypes method from FreeBSD. | Aditya Upadhyay | 2017-08-02 | 3 | -0/+160 |
| | |||||
* | Importing wcstoimax inttypes method from FreeBSD. | Aditya Upadhyay | 2017-08-02 | 3 | -0/+161 |
| | |||||
* | Importing strtoumax inttypes method from FreeBSD. | Aditya Upadhyay | 2017-08-02 | 3 | -0/+154 |
| | |||||
* | Importing strtoimax inttypes method from FreeBSD. | Aditya Upadhyay | 2017-08-02 | 3 | -0/+182 |
| | |||||
* | Add elf.h to newlib | Yaakov Selkowitz | 2017-08-02 | 1 | -0/+3146 |
| | | | | | | | This is copied from musl (MIT license). This is newer and more thorough than that of FreeBSD currently shipped only on Cygwin. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com> | ||||
* | Importing catanl long double complex method from NetBSD. | Aditya Upadhyay | 2017-07-28 | 3 | -4/+88 |
| | |||||
* | Fixing HUGE_VALF to HUGE_VALL. | Aditya Upadhyay | 2017-07-28 | 1 | -1/+1 |
| | |||||
* | stdio: Fix make rule override | Sebastian Huber | 2017-07-28 | 2 | -10/+0 |
| | | | | | | The Makefile.am contained two rules for the vfwscanf object. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> | ||||
* | newlib: regenerate stdlib/Makefile.in | Corinna Vinschen | 2017-07-28 | 1 | -33/+62 |
| | | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de> | ||||
* | Importing imaxdiv inttypes method from FreeBSD. | Aditya Upadhyay | 2017-07-28 | 2 | -0/+49 |
| | |||||
* | Importing imaxabs inttypes method from FreeBSD. | Aditya Upadhyay | 2017-07-28 | 2 | -0/+37 |
| | |||||
* | cygwin: Set __STDC_ISO_10646__ to Unicode 5.2 value | Corinna Vinschen | 2017-07-26 | 1 | -4/+3 |
| | | | | | | Now that XP is not supported anymore we can freely do that. Signed-off-by: Corinna Vinschen <corinna@vinschen.de> | ||||
* | [arm] Fix strcpy for unified syntax on ARMv4t thumb. | Richard Earnshaw | 2017-07-21 | 1 | -1/+1 |
| | | | | | ARMv4t does not support mov between two low registers. Now we use unified syntax mov instructions need converting to movs. | ||||
* | MSP430: Define __BUFSIZ__ as 256 to prevent default of 1024 being usednewlib-snapshot-20170720 | Jozef Lawrynowicz | 2017-07-20 | 1 | -0/+1 |
| | |||||
* | arm: Update strcpy.c to use UAL syntax. | Ian Tessier via newlib | 2017-07-20 | 1 | -6/+7 |
| | | | | | | | | | | | | | With this change the arm platform can now be fully compiled with Clang. Tested by comparing the output with GCC 4.8.2, and Clang 4.0, using a variety of arches, big/little endianness, and arm/thumb mode to verify the generated assembly output matches between GCC vs Clang with UAL, and also GCC with UAL vs GCC with non-UAL, for all preprocessor code blocks. The only difference found is an extra nop at the end of the function when compiled with GCC using armv7-a/thumb/little-endian/-O2 compared to Clang. The nop is not emitted when compiled in big-endian mode. | ||||
* | Synchronize RTEMS <sys/bitset.h> with FreeBSD | Sebastian Huber | 2017-07-12 | 1 | -5/+5 |
| | | | | Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> | ||||
* | Add myself to OS Port Maintainers (RTEMS) | Sebastian Huber | 2017-07-10 | 1 | -0/+1 |
| | |||||
* | Synchronize RTEMS <sys/bitset.h> with FreeBSD | Sebastian Huber | 2017-07-10 | 1 | -1/+16 |
| | | | | Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> | ||||
* | Rename __in and __out in headers to avoid collision with Windows APIs | David Macek | 2017-07-07 | 1 | -9/+9 |
| | | | | | * string.h: Local variables in expansion of strdupa and strndupa * sys/wait.h: Fields in anonymous union in expansion of __wait_status_to_int | ||||
* | Fixed warnings for some long double complex methods | Aditya Upadhyay | 2017-07-05 | 1 | -5/+5 |
| | |||||
* | Add ffsl(), ffsll(), fls(), flsl(), flsll() | Sebastian Huber | 2017-07-05 | 8 | -25/+240 |
| | | | | | | | Use compiler builtin for ffs(). Remove duplicate implementation from Cygwin. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> | ||||
* | Synchronize <strings.h> with latest FreeBSD | Sebastian Huber | 2017-07-05 | 2 | -59/+62 |
| | | | | | | | | | | Include <strings.h> in <string.h> if __BSD_VISIBLE like on FreeBSD. Remove redundant declarations from <string.h>. Make ffsl(), ffsll(), strncasecmp(), strcasecmp_l(), and strncasecmp_l() visible via __BSD_VISIBLE instead of __GNU_VISIBLE. Add fls(), flsl(), and flsll() to <strings.h> if __BSD_VISIBLE. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> | ||||
* | Implement bzero() via memset() | Sebastian Huber | 2017-07-05 | 1 | -8/+5 |
| | | | | | | | Use memset() to implement bzero() to profit from machine-specific memset() optimizations. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> | ||||
* | Feature test macros overhaul: unistd.h, part 2cygwin-2_8_1-release | Yaakov Selkowitz | 2017-06-30 | 1 | -4/+17 |
| | | | | | | | This fixes commit f70aad3de4d845f8b720010a2f8817db842d81e8 as well as some other functions which were never properly guarded. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com> | ||||
* | Add --enable-newlib-global-stdio-streams | Sebastian Huber | 2017-06-30 | 5 | -2/+52 |
| | | | | Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> | ||||
* | Enable _REENT_GLOBAL_STDIO_STREAMS for RTEMS | Sebastian Huber | 2017-06-30 | 2 | -1/+2 |
| | | | | Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> | ||||
* | Introduce _REENT_GLOBAL_STDIO_STREAMS | Sebastian Huber | 2017-06-30 | 2 | -6/+39 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Newlib, the stdio streams are defined to thread-specific pointers _reent::_stdin, _reent::_stdout and _reent::_stderr. In case _REENT_SMALL is not defined, then these pointers are initialized via _REENT_INIT_PTR() or _REENT_INIT_PTR_ZEROED() to thread-specific FILE objects provided via _reent::__sf[3]. There are two problems with this (at least in case of RTEMS). (1) The thread-specific FILE objects are closed by _reclaim_reent(). This leads to problems with language run-time libraries that provide wrappers to the C/POSIX stdio streams (e.g. C++ and Ada), since they use the thread-specific FILE objects of the initialization thread. In case the initialization thread is deleted, then they use freed memory. (2) Since thread-specific FILE objects are used with a common output device via file descriptors 0, 1 and 2, the locking at FILE object level cannot ensure atomicity of the output, e.g. a call to printf(). Introduce a new Newlib configuration option _REENT_GLOBAL_STDIO_STREAMS to enable the use of global stdio FILE objects. As a side-effect this reduces the size of struct _reent by more than 50%. The _REENT_GLOBAL_STDIO_STREAMS should not be used without _STDIO_CLOSE_PER_REENT_STD_STREAMS. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> | ||||
* | Add stdin_init(), stdout_init() and stderr_init() | Sebastian Huber | 2017-06-30 | 1 | -17/+33 |
| | | | | | | This simplifies further changes in this area. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> | ||||
* | Remove superfluous parameter from std() | Sebastian Huber | 2017-06-30 | 1 | -7/+6 |
| | | | | Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> | ||||
* | Optimized memcmp | Wilco Dijkstra | 2017-06-29 | 1 | -193/+113 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an optimized memcmp for AArch64. This is a complete rewrite using a different algorithm. The previous version split into cases where both inputs were aligned, the inputs were mutually aligned and unaligned using a byte loop. The new version combines all these cases, while small inputs of less than 8 bytes are handled separately. This allows the main code to be sped up using unaligned loads since there are now at least 8 bytes to be compared. After the first 8 bytes, align the first input. This ensures each iteration does at most one unaligned access and mutually aligned inputs behave as aligned. After the main loop, process the last 8 bytes using unaligned accesses. This improves performance of (mutually) aligned cases by 25% and unaligned by >500% (yes >6 times faster) on large inputs. ChangeLog: 2017-06-28 Wilco Dijkstra <wdijkstr@arm.com> * newlib/libc/machine/aarch64/memcmp.S (memcmp): Rewrite of optimized memcmp. GLIBC benchtests/bench-memcmp.c performance comparison for Cortex-A53: Length 1, alignment 1/ 1: 153% Length 1, alignment 1/ 1: 119% Length 1, alignment 1/ 1: 154% Length 2, alignment 2/ 2: 121% Length 2, alignment 2/ 2: 140% Length 2, alignment 2/ 2: 121% Length 3, alignment 3/ 3: 105% Length 3, alignment 3/ 3: 105% Length 3, alignment 3/ 3: 105% Length 4, alignment 4/ 4: 155% Length 4, alignment 4/ 4: 154% Length 4, alignment 4/ 4: 161% Length 5, alignment 5/ 5: 173% Length 5, alignment 5/ 5: 173% Length 5, alignment 5/ 5: 173% Length 6, alignment 6/ 6: 145% Length 6, alignment 6/ 6: 145% Length 6, alignment 6/ 6: 145% Length 7, alignment 7/ 7: 125% Length 7, alignment 7/ 7: 125% Length 7, alignment 7/ 7: 125% Length 8, alignment 8/ 8: 111% Length 8, alignment 8/ 8: 130% Length 8, alignment 8/ 8: 124% Length 9, alignment 9/ 9: 160% Length 9, alignment 9/ 9: 160% Length 9, alignment 9/ 9: 150% Length 10, alignment 10/10: 170% Length 10, alignment 10/10: 137% Length 10, alignment 10/10: 150% Length 11, alignment 11/11: 160% Length 11, alignment 11/11: 160% Length 11, alignment 11/11: 160% Length 12, alignment 12/12: 146% Length 12, alignment 12/12: 168% Length 12, alignment 12/12: 156% Length 13, alignment 13/13: 167% Length 13, alignment 13/13: 167% Length 13, alignment 13/13: 173% Length 14, alignment 14/14: 167% Length 14, alignment 14/14: 168% Length 14, alignment 14/14: 168% Length 15, alignment 15/15: 168% Length 15, alignment 15/15: 173% Length 15, alignment 15/15: 173% Length 1, alignment 0/ 0: 134% Length 1, alignment 0/ 0: 127% Length 1, alignment 0/ 0: 119% Length 2, alignment 0/ 0: 94% Length 2, alignment 0/ 0: 94% Length 2, alignment 0/ 0: 106% Length 3, alignment 0/ 0: 82% Length 3, alignment 0/ 0: 87% Length 3, alignment 0/ 0: 82% Length 4, alignment 0/ 0: 115% Length 4, alignment 0/ 0: 115% Length 4, alignment 0/ 0: 122% Length 5, alignment 0/ 0: 127% Length 5, alignment 0/ 0: 119% Length 5, alignment 0/ 0: 127% Length 6, alignment 0/ 0: 103% Length 6, alignment 0/ 0: 100% Length 6, alignment 0/ 0: 100% Length 7, alignment 0/ 0: 82% Length 7, alignment 0/ 0: 91% Length 7, alignment 0/ 0: 87% Length 8, alignment 0/ 0: 111% Length 8, alignment 0/ 0: 124% Length 8, alignment 0/ 0: 124% Length 9, alignment 0/ 0: 136% Length 9, alignment 0/ 0: 136% Length 9, alignment 0/ 0: 136% Length 10, alignment 0/ 0: 136% Length 10, alignment 0/ 0: 135% Length 10, alignment 0/ 0: 136% Length 11, alignment 0/ 0: 136% Length 11, alignment 0/ 0: 136% Length 11, alignment 0/ 0: 135% Length 12, alignment 0/ 0: 136% Length 12, alignment 0/ 0: 136% Length 12, alignment 0/ 0: 136% Length 13, alignment 0/ 0: 135% Length 13, alignment 0/ 0: 136% Length 13, alignment 0/ 0: 136% Length 14, alignment 0/ 0: 136% Length 14, alignment 0/ 0: 136% Length 14, alignment 0/ 0: 136% Length 15, alignment 0/ 0: 136% Length 15, alignment 0/ 0: 136% Length 15, alignment 0/ 0: 136% Length 4, alignment 0/ 0: 115% Length 4, alignment 0/ 0: 115% Length 4, alignment 0/ 0: 115% Length 32, alignment 0/ 0: 127% Length 32, alignment 7/ 2: 395% Length 32, alignment 0/ 0: 127% Length 32, alignment 0/ 0: 127% Length 8, alignment 0/ 0: 111% Length 8, alignment 0/ 0: 124% Length 8, alignment 0/ 0: 124% Length 64, alignment 0/ 0: 128% Length 64, alignment 6/ 4: 475% Length 64, alignment 0/ 0: 131% Length 64, alignment 0/ 0: 134% Length 16, alignment 0/ 0: 128% Length 16, alignment 0/ 0: 119% Length 16, alignment 0/ 0: 128% Length 128, alignment 0/ 0: 129% Length 128, alignment 5/ 6: 475% Length 128, alignment 0/ 0: 130% Length 128, alignment 0/ 0: 129% Length 32, alignment 0/ 0: 126% Length 32, alignment 0/ 0: 126% Length 32, alignment 0/ 0: 126% Length 256, alignment 0/ 0: 127% Length 256, alignment 4/ 8: 545% Length 256, alignment 0/ 0: 126% Length 256, alignment 0/ 0: 128% Length 64, alignment 0/ 0: 171% Length 64, alignment 0/ 0: 171% Length 64, alignment 0/ 0: 174% Length 512, alignment 0/ 0: 126% Length 512, alignment 3/10: 585% Length 512, alignment 0/ 0: 126% Length 512, alignment 0/ 0: 127% Length 128, alignment 0/ 0: 129% Length 128, alignment 0/ 0: 128% Length 128, alignment 0/ 0: 129% Length 1024, alignment 0/ 0: 125% Length 1024, alignment 2/12: 611% Length 1024, alignment 0/ 0: 126% Length 1024, alignment 0/ 0: 126% Length 256, alignment 0/ 0: 128% Length 256, alignment 0/ 0: 127% Length 256, alignment 0/ 0: 128% Length 2048, alignment 0/ 0: 125% Length 2048, alignment 1/14: 625% Length 2048, alignment 0/ 0: 125% Length 2048, alignment 0/ 0: 125% Length 512, alignment 0/ 0: 126% Length 512, alignment 0/ 0: 127% Length 512, alignment 0/ 0: 127% Length 4096, alignment 0/ 0: 125% Length 4096, alignment 0/16: 125% Length 4096, alignment 0/ 0: 125% Length 4096, alignment 0/ 0: 125% Length 1024, alignment 0/ 0: 126% Length 1024, alignment 0/ 0: 126% Length 1024, alignment 0/ 0: 126% Length 8192, alignment 0/ 0: 125% Length 8192, alignment 63/18: 636% Length 8192, alignment 0/ 0: 125% Length 8192, alignment 0/ 0: 125% Length 16, alignment 1/ 2: 317% Length 16, alignment 1/ 2: 317% Length 16, alignment 1/ 2: 317% Length 32, alignment 2/ 4: 395% Length 32, alignment 2/ 4: 395% Length 32, alignment 2/ 4: 398% Length 64, alignment 3/ 6: 475% Length 64, alignment 3/ 6: 475% Length 64, alignment 3/ 6: 477% Length 128, alignment 4/ 8: 479% Length 128, alignment 4/ 8: 479% Length 128, alignment 4/ 8: 479% Length 256, alignment 5/10: 543% Length 256, alignment 5/10: 539% Length 256, alignment 5/10: 543% Length 512, alignment 6/12: 585% Length 512, alignment 6/12: 585% Length 512, alignment 6/12: 585% Length 1024, alignment 7/14: 611% Length 1024, alignment 7/14: 611% Length 1024, alignment 7/14: 611% | ||||
* | newlib: fix file mode of newly added complex sources | Corinna Vinschen | 2017-06-29 | 16 | -0/+0 |
| | | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de> | ||||
* | newlib: libm/complex/Makefile.in: regenerate | Corinna Vinschen | 2017-06-29 | 1 | -22/+161 |
| | |||||
* | Adding csinl.c in Makefile.am | Aditya Upadhyay | 2017-06-29 | 1 | -1/+1 |
| | | | | Signed-off-by: Aditya Upadhyay <aadit0402@gmail.com> | ||||
* | Importing csinl.c from NetBSD. | Aditya Upadhyay | 2017-06-29 | 1 | -0/+45 |
| | |||||
* | Importing csinhl.c from NetBSD. | Aditya Upadhyay | 2017-06-29 | 2 | -1/+46 |
| | |||||
* | Importing casinhl.c from NetBSD. | Aditya Upadhyay | 2017-06-29 | 2 | -1/+43 |
| | |||||
* | Importing ctanl.c from NetBSD. | Aditya Upadhyay | 2017-06-29 | 2 | -1/+57 |
| | |||||
* | Importing ctanhl.c from NetBSD. | Aditya Upadhyay | 2017-06-29 | 2 | -1/+48 |
| | |||||
* | Importing cpowl.c from NetBSD. | Aditya Upadhyay | 2017-06-29 | 2 | -1/+57 |
| | |||||
* | Importing conjl.c from NetBSD. | Aditya Upadhyay | 2017-06-29 | 2 | -1/+47 |
| | |||||
* | Importing catanhl.c from NetBSD. | Aditya Upadhyay | 2017-06-29 | 2 | -1/+43 |
| |