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
sysutils/cpu-x: the port had been updated and improved (+)
- Update to the latest version 5.4.1; the program had been
rewritten in C++ hence gtk30 -> gtkmm30 in USE_GNOME list
- Adds support for CPU Technology DB (needs libcpuid 0.8.0+)
- Fixes the build against modern tools (NASM 3.0, CMake 3.31)
- Switched from unsatisfactory GLFW to EGL to properly detect
OpenGL and UMD on more GPU types; since `graphics/libglvnd'
is a popular desktop dependency, enable it for GUI flavor
- Fix CONFLICTS_INSTALL, prune our patches merged upstream
PR: 287310, 297951
Reported by: portscout
x11-wm/wideriver: Fix run dependency
- Wideriver is only compatible with x11-wm/river-classic
- Update COMMENT and pkg-descr
- Bump PORTREVISION
Reported by: Alan Braslau <alan.braslau at icloud.com> (via private email)
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
(cherry picked from commit eaaf838e33042ed3f282a5cdf8e1260e78d4989b)
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)
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)
www/pomerium: Fix build with WITH_PIE
Go cannot internally link PIE executables on freebsd/amd64, so
-buildmode=pie (added by Uses/go.mk when WITH_PIE is set) requires
cgo and external linking. The port builds with CGO_ENABLED=0, like
upstream does, so the build failed with:
-buildmode=pie requires external (cgo) linking, but cgo is not enabled
Set PIE_UNSAFE to build a regular executable instead.