math/libsemigroups: only depend on HPCombi on amd64
HPCombi is SSE-only and the port already disables it elsewhere, but the
build dependency and the plist did not follow. Fixes the build on
powerpc64*.
lang/chez-scheme: enable on powerpc64*
There is no native backend for 64-bit PowerPC, so build the portable
bytecode variant. configure has to be taught that FreeBSD reports
"powerpc" from uname -m for every PowerPC flavour. Sent upstream.
sysutils/ytop: Update to version 1.0.1
fix: std::println throws an uncaught std::system_error writing to stderr
after PTY disconnect, causing SIGABRT and a core dump.
Co-authored-by: Michael Osipov <michaelo at FreeBSD.org>
PR: 299698
rtld: add .cfi_undefined lr to rtld_start.S on powerpc*
Without it, LLVM libunwind doesn't know where to stop when unwinding the
main thread, so it uses a stale LR as the return address and crashes.
Our libunwind doesn't do that since 5866c369e4fd reverted it, but
programs that bundle their own copy, like ClickHouse, are hit by it.
amd64, arm64, i386 and riscv already have the same annotation.
Approved by: jhibbits
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D60740
(cherry picked from commit c4fde87a3236b500246d4fce76dbca2a3d64f73a)
(cherry picked from commit aaa1abfc0ba6b366ef7fe48f70040f3a5b3e6b0c)
powerpc64: give each CPU its own KDB trap stack
Kernel mode program, trace, breakpoint and machine check exceptions go
through dbtrap, which saves the registers on trapstk and, if KDB doesn't
want the trap, restores them from there and continues with the normal
trap handler. There was just one trapstk for all CPUs, so when two of
them trapped at the same time they overwrote each other's frame and one
of them carried on with the other's registers. DTrace fbt probes are
these traps, so a probe on a function that runs on several CPUs at once
took the kernel down within seconds.
Keep the stack in the pcpu instead. The boot CPU gets a static one,
since it's set up before malloc works, the others allocate theirs in
cpu_pcpu_init() like the Book-E critical interrupt stack.
Approved by: jhibbits
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D60362
[2 lines not shown]
tests/sys/kern: stress FP registers across sigreturn on powerpc64
This is the program that found the races fixed in 1f1043d550ea. One
thread keeps a pattern in f14-f31 across a signal, while helpers pinned
to the same CPU keep different patterns in the real registers and get
woken up from another CPU to preempt it at random points. If the kernel
ever hands it somebody else's registers, the pattern doesn't match.
The register loads, the thr_kill() and the handshake with the helper are
in assembly so that nothing touches the FP registers between sigreturn
and the check. It runs for ten seconds and is skipped with fewer than
two CPUs.
Requested by: adrian
Approved by: jhibbits
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D60411
(cherry picked from commit 35a226dded9934c6beb5945a982a705712454be1)
(cherry picked from commit 8d3658947030aedf037e2f7b48c313049eddc7ff)
x11/xsnow: update to 3.9.9 release (+)
version 3.9.9
01: snow.c, xsnow.h and others: implement rotating flakes, following
the kind instructions of Rick Jansen, the godfather of xsnow.
version 3.9.8
moon.c: init_halo_surface: use correct expression for
initial brightness of halo.
Changelog: https://www.ratrabbit.nl/ratrabbit/xsnow/changelog/index.html
find.1: rewrite the -s flag section for clarity
Restructure the description of -s flag:
1. what the option does
2. why it is useful (deterministic order, streaming output)
3. how its results can differ from `find | sort'
Reviewed by: ziaee
MFC after: 3 days
misc/mbuffer: Update to 20261015
Changes according to the ChangeLog in the distribution tar ball:
20261015:
- rollback 20260929
- removed obsolete interlock code needed for Linux < 3.14
- fix for MacOS statistics initialization
20260929 (WITHDRAWN - MacOS already worked since 20251025):
- added MacOS support (patch provided by Robert Smith, WANSecurity, Inc)
20260926:
- prefer info from fpathconf over PIPE_BUF
- integrated some patches from Peter Pentchev
- build fixes
- buffer allocation limitation
- typos and grammar fixes