used to syslog and also send to stderr).
This behaviour can be changed by setting $LIBC_DIAGASSERT to a
string containing one or more of the following letters:
a abort() after syslog and/or print to stderr
A opposite of a
e print assertion message to stderr
E opposite of e
l log assertion message to syslog
L opposite of l
This allows per-process control of the _DIAGASSERT() behaviour (e.g,
if you want to abort() after the assertion is raised) by modifying the
environment before starting the process.
Note that __DIAGASSERT() is still a no-op unless libc is compiled
with -D_DIAGNOSTIC.
* Implement __assert()/__diagassert() by calling __assert13()/__diagassert13()
with a function of NULL, reducing unnecessary code duplication
the argument, instead of va_list. Might not make a difference on most
ports, depending on toolchain/MD typedefs. Does make a difference on sparc64,
where it wouldn't compile otherwise.
The code is (almost) a direct copy of the current arm26 sources.
It's identical to the current arm32 sources, with the following exceptions:
- _C_LABEL is used on references to C labels from assembler.
- Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__.
- It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a
should work on arm32 and be backward-compatible with existing code, but this
is not obviously true. For now, arm32 remains using its own bits of libc.
ld.elf_so with citrus locale, it bombs.
XXX this is shortterm workaround. if you are willing to test citrus locale,
use RUNE=yes in libc/locale/Makefile.inc.
(1) alloate two mbstate_t, for input/output, per a file stream.
(2) correct inbound escape sequence processing.
cope with incomplete string better. keep intermediate state for single shifts.
let C0/C1 go through.
XXX for (1), we should expand FILE structure, but is possible only with
libc major # bump.
for LC_ALL, return success if at least on of categories was loaded
successfully, error if no category was loaded; in the latter case, we don't
need to back off locale changes, since none happened