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
Matt Joyce
db2123caf8
Add _REENT_SIG_FUNC(ptr)
...
Add a _REENT_SIG_FUNC() macro to encapsulate access to the
_sig_func member of struct reent. This will help to replace the
struct member with a thread-local storage object in a follow up
patch.
2022-07-13 06:55:46 +02:00
Matt Joyce
f3b8138239
Add _REENT_ERRNO(ptr)
...
Add a _REENT_ERRNO() macro to encapsulate the access to the
_errno member of struct reent. This will help to replace the
structure member with a thread-local storage object in a follow
up patch.
Replace uses of __errno_r() with _REENT_ERRNO(). Keep __errno_r() macro for
potential users outside of Newlib.
2022-07-13 06:55:41 +02:00
Yaakov Selkowitz
9087163804
ansification: remove _DEFUN
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17 11:47:26 -06:00
Yaakov Selkowitz
fff27f8429
ansification: remove _DEFUN_VOID
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17 11:47:19 -06:00
Yaakov Selkowitz
6783860a2e
ansification: remove _AND
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17 11:47:05 -06:00
Yaakov Selkowitz
b88cfbc1e5
signal: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:51 -06:00
DJ Delorie
69bfb481a8
* libc/signal/signal.c (_raise_r): Don't attempt to initialize the
...
signal table, just use a default, in case initialization cause
recursion.
2007-10-31 22:22:31 +00:00
Jeff Johnston
239c2bf93e
2005-10-28 Bob Wilson <bob.wilson@acm.org>
...
* libc/misc/unctrl.c: Replace FUNCTION description.
* libc/signal/signal.c: Remove documentation for raise and _raise_r.
* libc/stdio/getdelim.c: Fix spelling errors.
* libc/stdio/getw.c: Put RETURNS on a separate line. Fix punctuation.
* libc/stdio/putw.c: Likewise.
* libc/stdlib/a64l.c: Fix formatting, spelling and punctuation in
documentation.
* libc/stdlib/assert.c: Do not capitalize FUNCTION description.
* libc/stdlib/efgcvt.c: Add spaces to FUNCTION description.
* libc/stdlib/envlock.c: Use em-dash in FUNCTION description.
* libc/stdlib/mlock.c: Likewise.
* libc/stdlib/mstats.c: Likewise.
* libc/time/tzlock.c: Likewise.
* libc/stdlib/rand.c: Use "multi-threaded" and "thread-safe" in NOTES.
* libc/stdlib/rand48.c: Remove extra space in FUNCTION description
and hyphenate "pseudo-random".
* libc/string/bcmp.c: Remove extra blank lines in documentation.
* libc/string/strncat.c: Likewise.
* libc/string/memchr.c: Remove extra ">" character in documentation.
* libc/string/strcspn.c: Use "characters" instead of "chars".
* libc/string/strpbrk.c: Likewise.
* libc/string/strerror_r.c: Capitalize "GNU".
* libc/string/strnlen.c: Likewise.
* libc/string/strtok.c: Fix formatting, spelling and punctuation in
documentation. Use "multi-threaded" and "thread-safe" in NOTES.
* libc/string/wcscat.c: Split PORTABILITY into two paragraphs.
* libc/string/wcschr.c: Likewise.
* libc/string/wcscmp.c: Likewise.
* libc/string/wcscpy.c: Likewise.
* libc/string/wcscspn.c: Likewise.
* libc/string/wcslen.c: Likewise.
* libc/string/wcsncat.c: Likewise.
* libc/string/wcsncmp.c: Likewise.
* libc/string/wcsncpy.c: Likewise.
* libc/string/wcsnlen.c: Likewise.
* libc/string/wcspbrk.c: Likewise.
* libc/string/wcsrchr.c: Likewise.
* libc/string/wcsspn.c: Likewise.
* libc/string/wmemchr.c: Likewise.
* libc/string/wmemcmp.c: Likewise.
* libc/string/wmemcpy.c: Likewise.
* libc/string/wmemset.c: Likewise.
* libc/string/wmemmove.c: Likewise. Also fix FUNCTION description.
* libc/string/wcswidth.c: Formatting and punctuation in documentation.
* libc/string/wcwidth.c: Likewise.
* libm/common/s_modf.c: Remove extra period from documentation.
* libm/math/s_isnan.c: Fix formatting, grammar and punctuation in
documentation.
* libm/mathfp/s_isnan.c: Likewise.
* libm/math/s_ldexp.c: Fix punctuation.
* libm/mathfp/s_ldexp.c: Likewise.
* libm/math/w_log.c: Likewise.
* libm/mathfp/s_logarithm.c: Likewise.
* libm/math/w_j0.c: Add spaces to FUNCTION description.
* libm/mathfp/w_jn.c: Likewise.
2005-10-28 21:21:08 +00:00
Jeff Johnston
729d1ff9d8
2003-06-06 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/argz/argz_add.c: Change to use _DEFUN macro for function
definition.
* libc/argz/argz_add_sep.c: Ditto.
* libc/argz/argz_append.c libc/argz/argz_count.c: Ditto.
* libc/argz/argz_create.c libc/argz/argz_create_sep.c: Ditto.
* libc/argz/argz_delete.c libc/argz/argz_extract.c: Ditto.
* libc/argz/argz_insert.c libc/argz/argz_next.c: Ditto.
* libc/argz/argz_replace.c libc/argz/argz_stringify.c: Ditto.
* libc/argz/envz_add.c libc/argz/envz_entry.c: Ditto.
* libc/argz/envz_get.c libc/argz/envz_merge.c: Ditto.
* libc/argz/envz_remove.c libc/argz/envz_strip.c: Ditto.
* libc/locale/nl_langinfo.c libc/misc/ffs.c: Ditto.
* libc/posix/closedir.c libc/posix/creat.c: Ditto.
* libc/posix/execl.c libc/posix/execle.c: Ditto.
* libc/posix/execlp.c libc/posix/execve.c: Ditto.
* libc/posix/isatty.c libc/posix/opendir.c: Ditto.
* libc/posix/popen.c libc/posix/readdir.c: Ditto.
* libc/posix/readdir_r.c libc/posix/rewinddir.c: Ditto.
* libc/posix/scandir.c libc/posix/seekdir.c: Ditto.
* libc/posix/telldir.c libc/search/hcreate.c: Ditto.
* libc/search/tdelete.c libc/search/tdestroy.c: Ditto.
* libc/search/tfind.c libc/search/tsearch.c: Ditto.
* libc/search/twalk.c libc/signal/signal.c: Ditto.
2003-06-06 19:57:51 +00:00
Geoffrey Keating
b944c6f661
* libc/signal/signal.c (__sigtramp_r): ISO C requires
...
case labels to be integral constant expressions, so
use an if/else tree instead.
(_raise_r): Likewise.
2000-09-19 19:39:45 +00:00
Jeff Johnston
c87be3e4d6
Mon Apr 17 12:46:00 2000 Marek Michalkiewicz <marekm@linux.org.pl>
...
* libc/signal/signal.c (_signal_r) : Removed unused local variable temp. * libc/stdio/findfp.c (std): Added declaration of flags and file.
* libc/stdio/mktemp.c (_gettemp, _mkstemp_r, mkstemp): Added int
return type.
* libc/stdio/putchar.c (putchar): Added return statement.
* libc/stdio/refill.c (lflush): Added correct parentheses.
* libc/stdio/vfprintf.c (_VFPRINTF_R): Ditto.
* libc/stdio/vfscanf.c (__svfscanf): Changed sprintf call which
prints long value to use l qualifier.
* libc/stdlib/dtoa.c (_dtoa_r): Added parentheses to remove warning
messages and initialized local values: ilim, ilim1, and spec_case.
* libc/stdlib/ecvtbuf.c (print_e): Removed unused variable dp.
* libc/stdlib/mbctype.h (_issjis1, _issjis2): Added parentheses.
* libc/stdlib/mprec.c: Ditto.
* libc/stdlib/setenv_r.c: Ditto.
* libc/stdlib/strtod.c: Ditto.
* libc/stdlib/strtol.c: Ditto.
* libc/stdlib/strtoul.c: Ditto.
* libm/common/sf_expm1.c: Added curly braces to if else clauses.
* libm/common/sf_log1p.c: Ditto.
* libm/common/sf_scalbn.c: Ditto.
* libm/math/ef_log.c: Ditto.
2000-04-17 17:10:18 +00:00
Christopher Faylor
8a0efa53e4
import newlib-2000-02-17 snapshot
2000-02-17 19:39:52 +00:00