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
* pad entries shorter than 'max' by spaces correctly
* fix off-by-one error which caused extra newline to be printed
if the list fit exactly to a screen
* fix typo in _rl_qsort_string_compare, which caused the list to not
be sorted after all
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.
- icmptype (offset of ICMP type field)
- icmpcode (offset of ICMP code field)
- tcpflags (offset of TCP flags field)
and field values:
- icmp-echoreply, icmp-unreach, icmp-sourcequench,
icmp-redirect, icmp-echo, icmp-routeradvert,
icmp-routersolicit, icmp-timxceed, icmp-paramprob,
icmp-tstamp, icmp-tstampreply, icmp-ireq, icmp-ireqreply,
icmp-maskreq, icmp-maskreply
- tcp-fin, tcp-syn, tcp-rst, tcp-push, tcp-ack, tcp-urg
This allows expressions like the following:
icmp[0] = 3
(tcp[13] & 0x02) != 0
to be written as:
icmp[icmptype] = icmp-unreach
(tcp[tcpflags] & tcp-syn) != 0
which is a bit more user-friendly for e.g. writing packet filter rules.
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.