| Age | Commit message (Collapse) | Author |
|
|
|
|
|
While here, fix the pasto for the new ino_t and time_t size.
|
|
|
|
Otherwise, the following tests fail with wrong results:
- crypto/libcrypto/t_ciphers:evp
- crypto/libcrypto/t_pubkey:ec
Official document says ec_nistp_64_gcc_128 does not support big endian:
https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-ec_nistp_64_gcc_128
Thanks @a_rin for pointing this out on Twitter!
Note that an equivalent hack was present in openssl.old for aarch64eb,
alpha, and sparc64. But:
- alpha received upstream fix (PR lib/55701)
- sparc64 has been fixed differently (PR port-sparc64/57472)
|
|
Unaligned memory access reported in PR lib/55701 has been fixed by
upstream commit:
https://github.com/openssl/openssl/commit/77286fe3ec6b9777934e67e35f3b7007143b0734
Actually, kernel no longer complains with machdep.unaligned_print=1,
for sshd(8), ssh(1), and full ATF run.
|
|
Introduce Makefile.subdir in the same manner as new openssl.
|
|
Use same calculation as getrusage, not some ad-hoc arithmetic of
internal scheduler parameters that are periodically rewound.
PR kern/57512
XXX pullup-8
XXX pullup-9
XXX pullup-10
|
|
|
|
|
|
GSoC, by Theodore Preduta.
|
|
Pointer casts from an integer type to a floating-point type and vice
versa get a 'maybe troublesome' warning now. The previous assumption
that all types of the same bit-size are convertible may have been valid
from a technical point of view, but still such code should get more
attention.
The rules for struct and union types could be made more fine-grained
later, if the need arises. To suppress this warning, it's always
possible to cast to an intermediate 'void *'.
|
|
Might help us to see if we're off by just a little bit (maybe a tiny
jitter between the hardclock timer and the monotonic clock), or if
something is seriously amiss when the timerfd_block test fails
sporadically.
|
|
This reverts the change from tree.c 1.547 from 2023-07-03. Back then, I
didn't know that the actual value from a type's 'portable size in bits'
was not supposed to be used.
|
|
|
|
|
|
|
|
|
|
PUSH nodes are not marked as binary, yet they have a left and a right
operand.
If none of the queries is enabled, omit the query from the debug log.
|
|
No functional change intended.
|
|
|
|
|
|
When lint is compiled on x86-64 (where 'long double' has a 64-bit
mantissa) and targets arm (where 'long double' has a 53-bit mantissa),
warn if a constant cannot fit in the 'long double' of the target
platform, not of the host platform.
|
|
|
|
No functional change.
|
|
|
|
|
|
|
|
In C99 mode, there is no point warning about traditional C.
No change in the tests, as a complete test suite would require several
new test files, and migration mode is not used intensively.
|
|
The existing warning was only issued for function declarations, not for
function definitions.
The interesting change in the tests is in msg_351.c. Many other tests
use non-static functions due to their syntactic brevity. In these
tests, the warning is disabled individually, to allow new functions to
be added without generating warning 351.
|
|
|
|
kpreempt_disabled worked for my testing because I tested on aarch64,
which doesn't have kpreemption.
XXX Should move curcpu_stable() to somewhere that other things can
use it.
|
|
High-priority xcalls may reasonably assume that the spl is raised to
splsoftserial, so make sure to do that in xc_broadcast.
Low-priority xcalls may reasonably enter paths that assume the lwp is
bound to a CPU, so let's make it assertable even if it doesn't have
any other consequences when !mp_online.
XXX pullup-8
XXX pullup-9
XXX pullup-10
|
|
Use .Cd for options. Don't use the usual <space><tab>, which is
superfluous in the man page. Paragraph break after the config section
of synopsis, before the C API section.
|
|
initializing ci->ci_xen_hardclock_systime_ns, to avoid a possible race with
xen_timer_handler()
|
|
|
|
|
|
|
|
|
|
|
|
This uses hard interrupts to check progress of low-priority soft
interrupts, and one CPU to check progress of another CPU.
If no progress has been made after a configurable number of seconds
(kern.heartbeat.max_period, default 15), then the system panics --
preferably on the CPU that is stuck so we get a stack trace in dmesg
of where it was stuck, but if the stuckness was detected by another
CPU and the stuck CPU doesn't acknowledge the request to panic within
one second, the detecting CPU panics instead.
This doesn't supplant hardware watchdog timers. It is possible for
hard interrupts to be stuck on all CPUs for some reason too; in that
case heartbeat(9) has no opportunity to complete.
Downside: heartbeat(9) relies on hardclock to run at a reasonably
consistent rate, which might cause trouble for the glorious tickless
future. However, it could be adapted to take a parameter for an
approximate number of units that have elapsed since the last call on
the current CPU, rather than treating that as a constant 1.
XXX kernel revbump -- changes struct cpu_info layout
|
|
|
|
|
|
until support is added to ld.elf_so(1).
|
|
multicast frames, pointed out by Lwazi Dube.
|
|
aarch64eb.
Fix comments to explain what is going on for {arm,aarch64}eb on QEMU.
This is not due to QEMU bugs; it correctly configures everything for
little-endian environment, and we forcibly change byte order only for
CPU cores during kernel bootstrap.
|
|
|
|
|
|
Previously, in -w mode, any warning suppressed further 'unused'
warnings, even though there was no need to do that. This can be seen in
the test gcc_attribute_var.c, where only the last unused variable from a
function was marked as unused, the others slipped through.
Fixed by counting the errors and the warnings separately and only
combining them if actually desired.
|
|
|