summaryrefslogtreecommitdiffstats
path: root/newlib
Commit message (Collapse)AuthorAgeFilesLines
* Fix memory handling in functions called from loadlocaleCorinna Vinschen2016-08-156-23/+72
| | | | Signed-off by: Corinna Vinschen <corinna@vinschen.de>
* Implement newlocale, freelocale, duplocale, uselocaleCorinna Vinschen2016-08-152-5/+265
| | | | | | | | Add global const __C_locale for reference purposes. Bump Cygwin API minor number and DLL major version number to 2.6.0. Signed-off by: Corinna Vinschen <corinna@vinschen.de>
* Use __get_global_locale function where appropriateCorinna Vinschen2016-08-151-18/+22
| | | | Signed-off by: Corinna Vinschen <corinna@vinschen.de>
* Rearrange struct __locale_t pointers into an arrayCorinna Vinschen2016-08-157-94/+82
| | | | | | | This allows looping through the structs and buffers. Also rearrange definitions to follow order of LC_xxx values. Signed-off by: Corinna Vinschen <corinna@vinschen.de>
* Change loadlocale to fill a __locale_t given as parameterCorinna Vinschen2016-08-1510-84/+83
| | | | | | | | | | | | Don't use global variables. This allows to call loadlocale from the yet to be created newlocale(). Rename _thr_locale_t to __locale_t (these locales are not restricted to threads so the name is misleading). Along these lines, fix _set_ctype to take a __locale_t as parameter. Signed-off by: Corinna Vinschen <corinna@vinschen.de>
* Consolidate wctomb/mbtowc calls for POSIX-1.2008Corinna Vinschen2016-08-1523-216/+833
| | | | | | | | | | | | | | | | | | | | | - Remove charset parameter from low level __foo_wctomb/__foo_mbtowc calls. - Instead, create array of function for ISO and Windows codepages to point to function which does not require to evaluate the charset string on each call. Create matching helper functions. I.e., __iso_wctomb, __iso_mbtowc, __cp_wctomb and __cp_mbtowc are functions returning the right function pointer now. - Create __WCTOMB/__MBTOWC macros utilizing per-reent locale and replace calls to __wctomb/__mbtowc with calls to __WCTOMB/__MBTOWC. - Drop global __wctomb/__mbtowc vars. - Utilize aforementioned changes in Cygwin to get rid of charset in other, calling functions and simplify the code. - In Cygwin restrict global cygheap locale info to the job performed by internal_setlocale. Use UTF-8 instead of ASCII on the fly in internal conversion functions. - In Cygwin dll_entry, make sure to initialize a TLS area with a NULL _REENT->_locale pointer. Add comment to explain why. Signed-off by: Corinna Vinschen <corinna@vinschen.de>
* POSIX-1.2008 per-thread locales, groundwork part 2Corinna Vinschen2016-08-1517-429/+235
| | | | | | | | | Move all locale category structure definitions into setlocale.h and remove other headers in locale subdir. Create inline accessor functions for current category struct pointers and use throughout. Use pointers to "C" locale category structs by default in __global_locale. Signed-off by: Corinna Vinschen <corinna@vinschen.de>
* POSIX-1.2008 per-thread locales, groundwork part 1Corinna Vinschen2016-08-1527-447/+545
| | | | | | | | | | | | | | | | Introduce first cut of struct _thr_locale_t used for the locale_t definition. Introduce global instance called __global_locale used by default. Introduce internal inline functions __get_global_locale, __get_locale_r, __get_current_locale. Remove usage of global variables in favor of accessor functions pointing to __global_locale for now. Include all local headers in locale subdir from setlocale.h to get single include for internal locale access. Introduce __CTYPE_PTR macro to replace direct access to __ctype_ptr__ and use throughout in isxxx functions. Signed-off by: Corinna Vinschen <corinna@vinschen.de>
* Do not include wctype.h in wchar.h with _GNU_SOURCEYaakov Selkowitz2016-08-121-1/+1
| | | | | | | _GNU_SOURCE generally enables all features, but in this case the POSIX requirement to #include <wctype.h> for these is preferred. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Define va_list in stdio.h and wchar.hYaakov Selkowitz2016-08-122-3/+31
| | | | | | | | | This typedef, along with that of FILE in wchar.h, were XSI prior to inclusion in POSIX.1-2008. Fixes: https://sourceware.org/ml/newlib/2016/msg00640.html Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Include wctype.h in wchar.h as an XSI extensionYaakov Selkowitz2016-08-111-0/+4
| | | | | | | | | However, note that this inclusion is obsolescent in SUSv4 and therefore may be removed in the next revision. http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/wchar.h.html Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Feature test macros overhaul: wctype.hYaakov Selkowitz2016-08-111-0/+2
| | | | | | iswblank was first introduced in C99. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Feature test macros overhaul: wchar.h, part 2Yaakov Selkowitz2016-08-111-0/+30
| | | | | | | Many wchar.h functions were never properly guarded; these changes should make the header fully compliant. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* arc: Fix strcmp for big endian without barrel shifterAnton Kolesov2016-08-111-3/+3
| | | | | | | | | | | | | strcmp.S contained invalid guard for code that used barrel-shifter optional instruction - it was checking for !ARC601 instead of whether barrel shifter is present. While it is true that ARC601 doesn't have barrel shifter, so does some other ARC EM configurations. 2016-07-21 Anton Kolesov <Anton.Kolesov@synopsys.com> * libc/machine/arc/strcmp.S: Fix big endian without barrel shifter. Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
* arc: Use prefetch instead of prealloc.Claudiu Zissulescu2016-08-111-0/+2
| | | | | | | | | | Prealloc instruction may not be present in all HS variants. Hence, use prefetch instead of prealloc. newlib/ 2016-04-26 Claudiu Zissulescu <claziss@synopsys.com> * libc/machine/arc/memset-archs.S: Use prefetch.
* arc: Use unaligned loads/stores for memcopy.Claudiu Zissulescu2016-08-111-0/+59
| | | | | | | | newlib/ 2016-04-26 Claudiu Zissulescu <claziss@synopsys.com> * libc/machine/arc/memcpy-archs.S: Add and enable memcpy using unaligned loads/stores.
* rtems: define _POSIX_CLOCK_SELECTION featureGedare Bloom2016-08-081-0/+1
| | | | | | Enable definition of clock_nanosleep() since it was added to RTEMS. Signed-off-by: Joel Sherrill <joelemail@rtems.org>
* rtems: add sys/mman.hGedare Bloom2016-08-081-0/+263
| | | | | | | This file was copied verbatim from FreeBSD and is in sync with the FreeBSD svn version used by rtems-libbsd. Signed-off-by: Joel Sherrill <joelemail@rtems.org>
* math.h: fix guards on basic M_ constantsYaakov Selkowitz2016-07-151-1/+1
| | | | | | | MAXFLOAT, M_PI, and friends date back to at least XPG4v2, so this guard was incorrect even prior to the feature test macros overhaul. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Fix typo in comment added by previous commitCorinna Vinschen2016-07-061-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Redefine locale info in struct _reent for per-thread localesCorinna Vinschen2016-07-061-6/+11
| | | | | | | | | | | | | The _reent members _current_category and _current_locale are not used at all. _current_locale is set to "C" in various points of the code but its value is just as unused as _current_category. This patch redefines these members without changing the size of the structure to allow for an implementation of per-thread locales per POSIX-1.2008 (i.e. uselocale and usage of the per-thread locale in subsequent function calls). Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Regenerate newlib MakefilesJon Turney2016-07-041-2/+15
|
* Regenerate newlib MakefilesJon Turney2016-07-0447-129/+707
|
* Make newlib manpages (v3)Jon Turney2016-07-0416-4/+1047
| | | | | | | | | | | | | | | | | | | | Add makedocbook, a tool to process makedoc markup and output DocBook XML refentries. Process all the source files which are processed with makedoc with makedocbook as well Add chapter-texi2docbook, a tool to automatically generate DocBook XML chapter files from the chapter .texi files. For generating man pages all we care about is the content of the refentries, so all this needs to do is convert the @include of the makedoc generated .def files to xi:include of the makedocbook generated .xml files. Add skeleton Docbook XML book files, lib[cm].in.xml which include these generated chapters, which in turn include the generated files containing refentries, which is processed with xsltproc to generate the lib[cm].xml Add new make targets to generate and install man pages from lib[cm].xml
* Phoenix-RTOS: Add caddr_t definition to <sys/types.h>.Kuba Sejdak2016-06-281-0/+1
|
* Phoenix-RTOS: Adjust network-related headers to new kernel API.Kuba Sejdak2016-06-278-117/+20
|
* Phoenix-RTOS: Add dummy implementation of fdatasync() syscall.Kuba Sejdak2016-06-271-0/+5
|
* Add dummy implementation of getentropy(), if_nametoindex() and ↵Kuba Sejdak2016-06-274-11/+134
| | | | if_indextoname() functions.
* Phoenix-RTOS: Implement daemon() function.Kuba Sejdak2016-06-271-0/+26
|
* Phoenix-RTOS: Add checking EOF in getmntent().Kuba Sejdak2016-06-271-1/+1
|
* Phoenix-RTOS: Provide __progname symbol for user-space apps.Kuba Sejdak2016-06-271-1/+8
|
* Phoenix-RTOS: Fix warning with pointer treated as integer.Kuba Sejdak2016-06-271-1/+1
|
* Phoenix-RTOS: Add <netpacket/packet.h> header and import <net/if_arp.h> ↵Kuba Sejdak2016-06-272-0/+184
| | | | header from FreeBSD.
* Phoenix-RTOS: Provide daemon() and fdatasync() syscalls in <sys/unistd.h>.Kuba Sejdak2016-06-271-0/+3
|
* Revert "Make newlib manpages via DocBook XML (v3)"Jon Turney2016-06-2516-1047/+4
| | | | This reverts commit 041ea4106881a3434e63ca95a38c911515793f09.
* Make newlib manpages via DocBook XML (v3)Jon Turney2016-06-2516-4/+1047
| | | | | | | | | | | | | | | | | | | | Add makedocbook, a tool to process makedoc markup and output DocBook XML refentries. Process all the source files which are processed with makedoc with makedocbook as well Add chapter-texi2docbook, a tool to automatically generate DocBook XML chapter files from the chapter .texi files. For generating man pages all we care about is the content of the refentries, so all this needs to do is convert the @include of the makedoc generated .def files to xi:include of the makedocbook generated .xml files. Add skeleton Docbook XML book files, lib[cm].in.xml which include these generated chapters, which in turn include the generated files containing refentries, which is processed with xsltproc to generate the lib[cm].xml Add new make targets to generate and install man pages from lib[cm].xml
* Drop now useless comment from locale.cCorinna Vinschen2016-06-241-2/+0
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Drop has_always_all_codepages flagCorinna Vinschen2016-06-231-2/+0
|
* sys/time.h: Change visibility of gettimeofday.Corinna Vinschen2016-06-201-1/+2
| | | | | | | gettimeofday is currently guarded with __MISC_VISIBLE || __XSI_VISIBLE. However, gettimeofday should be always visible, as in GLibc. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Re-enable malloc_lock for newlib-nanoAndre Vieira (lists)2016-06-161-3/+2
| | | | | Re-enable the use of __malloc_lock and __malloc_unlock newlib-nano, tied the newlib-multithread.
* Declare crypt, encrypt, and setkey per PosixKen Brown2016-06-092-0/+9
|
* math.h: Replace usage of INT_MAX with __INT_MAX__Corinna Vinschen2016-05-311-2/+2
| | | | | | | Using INT_MAX requires to include limits.h on most targets. Math.h must not rely on that. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Feature test macros: ctermid, cuseridYaakov Selkowitz2016-05-232-3/+13
| | | | | | | | | | The proper location for these functions has always been <stdio.h>, however XPG4 and SUSv2 did mandate a duplicate declaration in <unistd.h>. cuserid was dropped in SUSv3 (it was marked legacy since XPG4) and the ctermid declaration in <unistd.h> was made optional and obsolete in SUSv4. Fixes: https://cygwin.com/ml/cygwin/2016-05/msg00002.html Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Add rawmemchrWilco Dijkstra2016-05-204-2/+118
| | | | | | | | | | | | | | | | | | | | | | | Marcus Shawcroft wrote: > This patch appears to have been munged by the mail system, can you > repost as an attachment please. Sure, I've attached the patch. Wilco Add a simple rawmemchr implementation. Use strlen for rawmemchr(s, '\0') as it is the fastest way to search for '\0', and use memchr with an infinite size for other cases. This is 3x faster for large sizes. ChangeLog: 2016-04-22 Wilco Dijkstra <wdijkstr@arm.com> * newlib/libc/machine/aarch64/Makefile.in: Add rawmemchr.S and rawmemchr-stub.c. * newlib/libc/machine/aarch64/Makefile.am: Likewise. * newlib/libc/machine/aarch64/rawmemchr.S (rawmemchr): Add rawmemchr. * newlib/libc/machine/aarch64/rawmemchr-stub.c (rawmemchr): Likewise.
* Make sure to have full configuration info in sys/_types.h.Corinna Vinschen2016-05-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The following testcase: $ cat > test.c <<EOF #include <sys/select.h> #include <sys/time.h> EOF $ gcc -c test.c emits the following error: /usr/include/sys/reent.h:276:3: error: expected specifier-qualifier-list befor e ‘_fpos64_t’ _fpos64_t _EXFNPTR(_seek64, (struct _reent *, _PTR, _fpos64_t, int)); ^ The reason is that the load order from sys/select.h includes sys/_types.h before sys/config.h has been included from anywhere else. sys/_types.h defines _fpos64_t only if __LARGE64_FILES is defined, but it never is in this scenario. So sys/_types.h has to make sure to get the configuration info by itself. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix strlen using Thumb-2 with -Os -marmJeff Johnston2016-05-112-4/+10
| | | | | | | | | 2016-04-18 Thomas Preud'homme <thomas.preudhomme@arm.com> * libc/machine/arm/strlen-stub.c: Check capabilities of architecture to decide which Thumb implementation to use and fall back to C implementation for architecture not supporting Thumb mode. * libc/machine/arm/strlen.S: Likewise.
* Add port for Phoenix-RTOS in common configure files.Jeff Johnston2016-05-093-0/+14
|
* Allow autoconf link-time tests to detect arc4random for RTEMS.Jeff Johnston2016-05-091-0/+5
|
* Add Phoenix-RTOS port for ARM.Jeff Johnston2016-05-06142-0/+29608
| | | | Port contributed by Jakub Sejdak <jakub.sejdak@phoesys.com>
* Add _Thread_queue_Queue::_owner for RTEMSJeff Johnston2016-05-031-3/+3
| | | | | | | | Add _Thread_queue_Queue::_owner which will be used for the upcomming priority inheritance implementation and an O(m) independence-preserving protocol (OMIP) implementation. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>