[libc] Support for argument-taking ptrace requests (#201830)
Some of these requests are architecture specific, and linux/ptrace.h is
pretty clean, so I'm including it for all the constants definitions
(this matches bionic, but not musl or glibc).
There's one unfortunate rename that we need to fix up (kernel uses
PTRACE_PEEKUSR, without the *E*), and (matching all libc
implementations) I also add the BSD-compatibility names for the basic
requests (although the usefulness if this is questionable as nearly
everything about ptrace is OS-specific).
Some of the options structs also have a different name in the kernel
headers (ptrace_peeksiginfo_args) and glibc (__ptrace_peeksiginfo_args),
but:
- these are very scarcely used, and
- the manpage actually documents the kernel names
which is why I'm hoping we can get away with this.
[6 lines not shown]
OpenMP: Accept amdgpu name in arch directive (#201789)
Accept amdgpu as an alias for amdgcn as part of the general
trend of preferring the amdgpu name. This is so the name is
consistent in the future when the triple arch name changes.
NFS: protocol-level NFSv4.1 HA failover tests
Add a suite that checks NFSv4.1 keeps its promises across a TrueNAS HA
failover. A failover here means the active controller reboots, the standby
takes over the shared IP and pool and brings nfsd back up, and a client
talking to the VIP should keep working through it. These tests check that it
does.
The work splits into eight groups. Each captures some state, drives one
failover -- or a deterministic nfsd restart for the grace checks -- and then
verifies that state on the controller that took over:
* identity - both controllers present as the same server, and a config
change made on one reaches the other
* grace - a client re-establishes its open and lock during the grace
period, and they are honoured against other clients once it
lifts
* namespace - files, snapshots, filehandles, and file metadata (mode,
ownership, size, timestamps, link counts) all survive
[12 lines not shown]
protocols: Update with IANA list
- Update /etc/protocols with IANA list updated 2026-03-09.
- Document that 240 (pfsync) is not assigned by IANA.
- Document deprecated protocols.
PR: 295739
Reviewed by: des
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D57445
[X86][APX] Implement Windows APX ABI callee-saved registers per Microsoft spec (#200391)
Per the Microsoft x64 calling convention, R30 and R31 are non-volatile
when APX is available. Define CSR_Win64_APX and CSR_Win64_APX_NoSSE
extending the standard Win64 CSR sets. Update getCalleeSavedRegs and
getCallPreservedMask accordingly.
Reserve R30/R31 in functions that call setjmp, as the unwinder cannot
restore APX extended registers. Emit a warning for large functions where
this may impact performance.
Ref:
https://learn.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170#callercallee-saved-registers
---------
Co-authored-by: Daniel Paoliello <danpao at microsoft.com>
NFS: protocol-level NFSv4.1 HA failover tests
Add a suite that checks NFSv4.1 keeps its promises across a TrueNAS HA
failover. A failover here means the active controller reboots, the standby
takes over the shared IP and pool and brings nfsd back up, and a client
talking to the VIP should keep working through it. These tests check that it
does.
The work splits into eight groups. Each captures some state, drives one
failover -- or a deterministic nfsd restart for the grace checks -- and then
verifies that state on the controller that took over:
* identity - both controllers present as the same server, and a config
change made on one reaches the other
* grace - a client re-establishes its open and lock during the grace
period, and they are honoured against other clients once it
lifts
* namespace - files, snapshots, filehandles, and file metadata (mode,
ownership, size, timestamps, link counts) all survive
[14 lines not shown]
[clang][bytecode] Fix conditional operator scoping (#201777)
The code and the comment are correct, but they also applied to the
conditional operator condition, which they shouldn't.
[IR] Preserve !invariant.group in copyMetadataForLoad (#200535)
copyMetadataForLoad is supposed to be used when only changing a load's
type. If we're only changing the type (and not the SSA value of the
loaded pointer) then we can preserve invariant.group.
All callers of this function indeed either (a) leave the pointer SSA
value unchanged, or (b) change *all* pointers in the group from one
value to another (which is also safe).
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
[Sema] Fix assertion crash on section conflict with a non-identifier decl (#200873)
NamedDecl::getName() asserts the name is a simple identifier, so
UnifySection crashed when the conflicting section decl had a special
name such as a lambda's call operator.
Drop the argument: `note_declared_at` has no format placeholder, so it
was dead code. The error already prints the section decl.
Fixes https://github.com/llvm/llvm-project/issues/192264
[JumpThreading] NFC: Add comment referencing #199408. (#199718)
Leave a breadcrumb indicating that not `freeze`'ing a select's condition
when turning it into a conditional branch is unsound (unless we can
prove that the cond is never poison). Nonetheless this doesn't seem to
cause real-world problems afaict.
[LV] Allow reductions with partial alias masking (#200813)
This patch enables reductions with partial alias masking by forcing the
use of a predicated reduction select with alias masking. This prevents
poison values from being propagated to the header phi for lanes outside
the alias mask.
Note: An alternate approach would be to select the identity value before
the final horizontal reduction (outside the vector loop). That however,
does not generalize to all reduction kinds (e.g., AnyOf), and at least
for AArch64 SVE, we already prefer the in-loop selects.
misc/CodeWhale: rename from DeepSeek-TUI, update to 0.8.53
Packaged in wip by Chavdar Ivanov and Claude Code.
Upstream (Hmbown) renamed the project from DeepSeek-TUI to CodeWhale.
The repository, distfile, and primary command are now codewhale; the
deepseek and deepseek-tui commands remain as legacy shims and are
scheduled for removal upstream in v0.9.0.
This is a git rename of wip/DeepSeek-TUI to wip/CodeWhale plus an update
from 0.8.39 to 0.8.53.
Notable changes since 0.8.39:
- Provider-agnostic: in addition to DeepSeek V4, supports OpenRouter,
NVIDIA NIM, Fireworks, SiliconFlow, Ollama and other OpenAI-compatible
endpoints.
- New primary binaries codewhale and codewhale-tui (plus the short codew
alias and codewhale-app-server); deepseek / deepseek-tui kept as shims.
[8 lines not shown]
Hide the Outbound NAT menu item if mode is either automatic or disabled, or no rules node exists anymore in it. Move migration assistant out of Rules [legacy] so it doesn't disappear if no legacy rules exist anymore, now that it is also used for NAT migration.
toxcore: update to 0.2.23
Bug Fixes
- limit number of saved group peers when loading from disk And add
`unpack_gc_saved_peers` bounds test
- DHT:
- refactor memory handling of loaded dht state Previous code could
double-free if more than one dht states per tox-file and a following
allocation fails
- Suppress the warning about IPv6 nodes when IPv6 is turned off
- av: Fix Use-After-Free when peer goes offline.
- gca: announce max sizes where 32bytes too large
- onion: Size GCA announce response buffer to actual content length.
- test: fix mypy failure
Features
- Add `Tox_Iterate_Options` for granular control over `tox_iterate`.
- Add a function to get the list of valid group chat numbers.
Restructure alert plugin to the lean typesafe layout
## Problem
The alert plugin passed mypy but didn't follow the typesafe convention the other converted plugins use: the eponymous `alert` service lived in `alert.py` as an 1100-line `Service` with all logic, models, and helpers inline, `__init__.py` was empty, and the two sibling services each combined their service class and service part in one off-convention file.
## Solution
- Move `AlertService` into a lean `__init__.py` that exposes only the endpoint stubs; each delegates to plain functions in `lifecycle.py` / `runtime.py` / `oneshot.py` / `queries.py` that take `(context, state)`.
- Lift all mutable runtime state into a dedicated `AlertState` object (`state.py`) built once in `__init__`. Concurrency is intentionally unchanged — it still relies on the asyncio event loop plus the existing `process_alerts` job lock, with no new lock introduced.
- Pull the standalone pieces into `state.py`, `alert_classes.py`, and `serialize.py`, and split the siblings into `alertservice.py` / `alertservice_crud.py` and `alertclasses.py` / `alertclasses_config.py` to match the `*_crud.py` / `*_config.py` convention.
- Move the inline `AlertOneshotDelete` models into the API package, and update `main.py` imports plus the setup-ordering key (`alert.alert` -> `alert`, since `setup()` now lives in the package `__init__`).
LinuxKPI: 802.11: set flag if frame should be part of an A-MPDU
In the output path where we are sending a frame to the driver mark it
if it should be part of an A-MPDU based on its tid, type, and whether
net80211 thinks that we are in the right state for this.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
LinuxKPI: 802.11: make *addba* work better
Fill in more details for lkpi_ic_addba_request(), lkpi_ic_addba_response(),
and lkpi_ic_addba_response_timeout().
Migrate the ltxq flags seen_dequeue and stopped to a bitfield and add %b
support to log messages. This seemed the better approach after needing
an additional stop field for BA while we have to hold packets from being
transmitted.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
LinuxKPI: 802.11: add note about rate control support under boot -v
We currently do not support rate control in LinuxKPI. As more drivers
and chipsets gain suppport for higher throughput add a note under
bootverbose if we hit one of these cases (currently only older iwlwifi
chipsets).
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
LinuxKPI: 802.11: adjust tracing for action/ampdu/addba functions
Adjust the pure debug tracing to no longer be under HT and add more
to the other functions we are interested in, so we can follow the
calls more easily.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
LinuxKPI: 802.11: implement ieee80211_start_tx_ba_session()
Implement ieee80211_start_tx_ba_session() as a start for rtw8x (and
select mt76 chipsets) to support more throughput.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days