newlib-cygwin/newlib/libc/string
Matt Joyce ea99f21ce6 Add --enable-newlib-reent-thread-local option
By default, Newlib uses a huge object of type struct _reent to store
thread-specific data.  This object is returned by __getreent() if the
__DYNAMIC_REENT__ Newlib configuration option is defined.

The reentrancy structure contains for example errno and the standard input,
output, and error file streams.  This means that if an application only uses
errno it has a dependency on the file stream support even if it does not use
it.  This is an issue for lower end targets and applications which need to
qualify the software according to safety standards (for example ECSS-E-ST-40C,
ECSS-Q-ST-80C, IEC 61508, ISO 26262, DO-178, DO-330, DO-333).

If the new _REENT_THREAD_LOCAL configuration option is enabled, then struct
_reent is replaced by dedicated thread-local objects for each struct _reent
member.  The thread-local objects are defined in translation units which use
the corresponding object.
2022-07-13 06:55:46 +02:00
..
Makefile.inc newlib: libc: merge build up a directory 2022-03-16 21:18:25 -04:00
WIDTH-A width data generation 2018-03-12 10:17:20 +01:00
ambiguous.t generated width data, Unicode 10.0 2018-03-12 10:17:20 +01:00
bcmp.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
bcopy.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
bzero.c string: remove TRAD_SYNOPSIS 2017-12-01 03:41:52 -06:00
combining.t update to Unicode 14.0 2021-11-16 11:24:29 +01:00
explicit_bzero.c Add explicit_bzero() 2016-03-18 12:33:40 +01:00
ffsl.c Add ffsl(), ffsll(), fls(), flsl(), flsll() 2017-07-05 13:49:48 +02:00
ffsll.c Add ffsl(), ffsll(), fls(), flsl(), flsll() 2017-07-05 13:49:48 +02:00
fls.c Add ffsl(), ffsll(), fls(), flsl(), flsll() 2017-07-05 13:49:48 +02:00
flsl.c Add ffsl(), ffsll(), fls(), flsl(), flsll() 2017-07-05 13:49:48 +02:00
flsll.c Add ffsl(), ffsll(), fls(), flsl(), flsll() 2017-07-05 13:49:48 +02:00
gnu_basename.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
index.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
local.h ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
memccpy.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
memchr.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
memcmp.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
memcpy.c Use __inhibit_loop_to_libcall in all memset/memcpy implementations 2018-08-29 16:05:37 +02:00
memmem.c memmem.c and strstr.c: do not require -std=c99 2019-08-14 10:39:37 +02:00
memmove.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
mempcpy.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
memrchr.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
memset.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
mkunidata fix and amend scripts and makefile rules to generate Unicode data 2021-07-06 15:35:37 +02:00
mkwide width data generation 2018-03-12 10:17:20 +01:00
mkwidthA width data generation 2018-03-12 10:17:20 +01:00
rawmemchr.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
rindex.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
stpcpy.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
stpncpy.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
str-two-way.h strstr: avoid warnings 2021-09-03 12:51:30 +02:00
strcasecmp.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strcasecmp_l.c string: remove TRAD_SYNOPSIS 2017-12-01 03:41:52 -06:00
strcasestr.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strcat.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strchr.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strchrnul.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strcmp.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strcoll.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strcoll_l.c string: remove TRAD_SYNOPSIS 2017-12-01 03:41:52 -06:00
strcpy.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strcspn.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strdup.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strdup_r.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strerror.c Add _REENT_ERRNO(ptr) 2022-07-13 06:55:41 +02:00
strerror_r.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strings.tex Add man page entry for strnstr.c. 2017-08-30 15:10:07 +02:00
strlcat.c update OpenBSD string functions 2022-01-05 17:11:47 +01:00
strlcpy.c update OpenBSD string functions 2022-01-05 17:11:47 +01:00
strlen.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strlwr.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strncasecmp.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strncasecmp_l.c string: remove TRAD_SYNOPSIS 2017-12-01 03:41:52 -06:00
strncat.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strncmp.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strncpy.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strndup.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strndup_r.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strnlen.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strnstr.c string: remove TRAD_SYNOPSIS 2017-12-01 03:41:52 -06:00
strpbrk.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strrchr.c string: Fix buffer overrun in picolibc/newlib/libc/string/strrchr.c (#184) 2021-10-13 16:39:49 -04:00
strsep.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strsignal.c Add --enable-newlib-reent-thread-local option 2022-07-13 06:55:46 +02:00
strspn.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strstr.c strstr: avoid warnings 2021-09-03 12:51:30 +02:00
strtok.c Add --enable-newlib-reent-thread-local option 2022-07-13 06:55:46 +02:00
strtok_r.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strupr.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strverscmp.c string: remove TRAD_SYNOPSIS 2017-12-01 03:41:52 -06:00
strxfrm.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
strxfrm_l.c string: remove TRAD_SYNOPSIS 2017-12-01 03:41:52 -06:00
swab.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
timingsafe_bcmp.c Add timingsafe_bcmp() 2016-03-18 12:33:40 +01:00
timingsafe_memcmp.c Add timingsafe_memcmp() 2016-03-18 12:33:40 +01:00
u_strerr.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
uniset fix and amend scripts and makefile rules to generate Unicode data 2021-07-06 15:35:37 +02:00
wcpcpy.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcpncpy.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcscasecmp.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcscasecmp_l.c string: remove TRAD_SYNOPSIS 2017-12-01 03:41:52 -06:00
wcscat.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcschr.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcscmp.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcscoll.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcscoll_l.c string: remove TRAD_SYNOPSIS 2017-12-01 03:41:52 -06:00
wcscpy.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcscspn.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcsdup.c string: remove TRAD_SYNOPSIS 2017-12-01 03:41:52 -06:00
wcslcat.c update OpenBSD string functions 2022-01-05 17:11:47 +01:00
wcslcpy.c update OpenBSD string functions 2022-01-05 17:11:47 +01:00
wcslen.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcsncasecmp.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcsncasecmp_l.c string: remove TRAD_SYNOPSIS 2017-12-01 03:41:52 -06:00
wcsncat.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcsncmp.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcsncpy.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcsnlen.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcspbrk.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcsrchr.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcsspn.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcsstr.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcstok.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcstrings.tex string: add wmempcpy 2017-11-30 04:06:49 -06:00
wcswidth.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcsxfrm.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wcsxfrm_l.c string: remove TRAD_SYNOPSIS 2017-12-01 03:41:52 -06:00
wcwidth.c Locale modifier "@cjksingle" to enforce single-width CJK width. 2020-02-18 11:35:42 +01:00
wide.t update to Unicode 14.0 2021-11-16 11:24:29 +01:00
wmemchr.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wmemcmp.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wmemcpy.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wmemmove.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wmempcpy.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wmemset.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
xpg_strerror_r.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00