[lld-macho] Build the export trie by edges, not bytes (#236626)
Emit singleton suffixes directly and scan common prefixes in one pass,
avoiding repeated byte-wise partitioning. This speeds up builds that
emit large export tries.
Reland of #234857, which was accidentally merged into a stale stack
branch instead of main. Same diff, already reviewed there.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
[LoongArch] Use XVPERMI.Q for lane-crossing LASX shuffles (#232209)
Introduce XVPERMI.Q ISD node in TableGen for add lowering for 256-bit
lane shuffle.
Also extend lowerVECTOR_SHUFFLEAsLanePermuteAndShuffle to support dual
input permute and shuffle, so that splice like this:
```
%2 = shufflevector <8 x i32> %0, <8 x i32> %1,
<8 x i32> <i32 7, i32 8, i32 9, i32 10,
i32 11, i32 12, i32 13, i32 14>
```
could be lowered to:
```
(XVBSLL_V $xr2, $xr1, 4)
(XVPERMI_Q $xr1, $xr0, 33)
(XVBSRL_V $xr0, $xr1, 12)
(XVOR_V $xr0, $xr2, $xr0)
```
All permute that destination lane comes from maximum of two source lanes
[3 lines not shown]
CodeGen: Replace TargetOptions::DebuggerTuning with module flag
Read the debugger tuning from the module's "debugger-tuning" flag instead of
TargetOptions. Delete the now-dead -debugger-tune= cl::opt and the
TargetOptions::DebuggerTuning field.
Update the tests relying on it to directly use the module flag. The cases
that exercise multiple values do a text substitution to swap the value.
Alternatively this could be changed to synthesize the module flag in the
llc flag like some of the other widely used module flags do.
Co-authored-by: Claude Sonnet 5 <noreply at anthropic.com>
www/node26: Enable Temporal support
Node.js 26 enables Temporal by default, but its configure script
silently disables it when cargo/rustc are missing, which was the case
in the build environment.
The Rust crates are vendored in deps/crates and built by gyp with
"cargo rustc --frozen", so only the toolchain and environment from
USES=cargo are needed; the framework build/install/test stages are
turned off. Pass --v8-enable-temporal-support so that a missing
toolchain fails the build instead, and check in post-install that
Temporal resolves named time zones, since a broken setup fails
silently at runtime.
Approved by: maintainer (sunpoet, via telegram)
www/node2{2,4,6}: Remove obsolete build dependency and patches
- Drop BUILD_DEPENDS on devel/binutils: objdump was only needed by
tools/genv8constants.py, which no longer exists.
- Drop patch-src-cares_wrap.h: dns/c-ares installs ares_nameser.h, so
the upstream include works as is.
- www/node22: drop the linux-elf no-asm OpenSSL patches that removed
-ldl (only used with BUNDLED_SSL on non-amd64): FreeBSD provides
libdl, and node24/node26 already link -ldl unpatched.
Approved by: maintainer (sunpoet via telegram)
[docs] Add AI policy to HowToSubmitABug (#236946)
We've been getting a lot of AI-generated bug reports lately; we should
have a clear description of expectations for anyone submitting such
reports.
This reflects the current version of the policy, not the one proposed in
the "Forbid AI-generated communication" RFC. We can adjust the text when
that is approved.
[ASan][test] Disable StrArgsOverlapTest on Android AArch64 (#237043)
Temporarily disable `AddressSanitizer.StrArgsOverlapTest` on Android
AArch64 while waiting for #237000.
On Android 17 (API 37) AArch64, Bionic's `strcat` calls `strcpy at plt(dst
+ strlen(dst), src)`, so `strcat(str, str + 10)` in `StrArgsOverlapTest`
re-enters `INTERCEPTOR(strcpy)` with `to == from` and fails with
`strcpy-param-overlap` on
https://lab.llvm.org/staging/#/builders/sanitizer-x86_64-linux-android.
Assisted-by: Gemini
enforce some basic size and consistency checks on RSA private values
(d, iqmp, etc). This could be used for an (unlikely) DoS against ssh-agent
if an attacker can add a bogus key to it.
Anthropic ANT-2026-9VCMKJ8F
[MachineVerifier] Track defs inside bundles
Reuse LivePhysDefs instead of rescanning the bundle, and skip the
undefined-register check on BUNDLE header uses.
don't leave ssh-agent is a useless state if `ssh-add -s` is run multiple
times with the same PKCS#11 provider. Just refuse the operation.
Anthropic ANT-2026-944YIV1E
sysutils/cosmic-monitor: New port: System monitor for COSMIC
COSMIC System Monitor displays useful stats such as CPU
load and temperature, memory and storage use, and GPU
metrics.
It's cross-platform but currently Linux-centric, so a few features are
missing from this FreeBSD port. With that said, it builds cleanly and
I'll work with upstream to implement the missing FreeBSD features.
WWW: https://github.com/pop-os/cosmic-monitor
PR: 300230
Reported by: Josh Megnauth <jo.sh at tutanota.com> (new maintainer)
clean up properly when stopping the progress meter, even if backgrounded
and unable to output. Avoids reading free'd memory in a subsequent
progress meter invocation if the right (wrong) sequence of backgrounding
and forgroundings happened.
Anthropic ANT-2026-4MDN97DH
set an upper limit on the size of env names/values that will be accepted
for environment passing (e.g. SendEnv/AcceptEnv).
Reported as Anthropic ANT-2026-2XP5ZUQG but fixed differently
NAS-144973 / 27.0.0 / Load ixnas on POSIX ACL SMB shares and allow mixed ACL types (by anodos325) (#20094)
vfs_ixnas now takes the ACL type of each file from statx and passes
files with POSIX ACLs to the default Samba handling. Add it to POSIX ACL
shares too, and stop rejecting share paths with child datasets of
another ACL type.
Original PR: https://github.com/truenas/middleware/pull/20093
Co-authored-by: Andrew Walker <andrew.walker at truenas.com>
correct timeout accounting for ConnectTimeout and banner exchange that
was broken in openssh-9.5, which caused the timeout to be erroneously
reset between successful reads.
Anthropic ANT-2026-2UMTJC7S
NAS-144973 / 28.0.0-BETA.1 / Load ixnas on POSIX ACL SMB shares and allow mixed ACL types (#20093)
vfs_ixnas now takes the ACL type of each file from statx and passes
files with POSIX ACLs to the default Samba handling. Add it to POSIX ACL
shares too, and stop rejecting share paths with child datasets of
another ACL type.
[KnownFPClass][NFC] Remove isKnownNeverZero helper to encourage proper denormal handling (#236625)
Removes `isKnownNeverZero()`, `isKnownNeverPosZero()`, and
`isKnownNeverNegZero()` which only compare against the literal `+-0.0`,
`+0.0`, and `-0.0` respectively. This encourages the use of
`isKnownNeverLogicalZero(Mode)` and friends which properly account for
the input denormal mode.
If input denormals are properly handled, you can still compare against
`+-0.0` literals via the generic `isKnownNever(fcZero)`.
AMDGPU: Fold global address into subregister use with lo/hi relocation
Split 64-bit relocations into the 32-bit halves when applying a
subregister extract, similar to how immediates are modified when
folding. The same split is applied when 64-bit mov pseudos are
expanded.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[lldb] Copy valid breakpoint overrides from the dummy target (#235834)
`Target::PrimeFromDummyTarget` copied a breakpoint override into a new target only when `Validate` failed, because an `llvm::Error` converts to true on failure. Overrides registered on the dummy target therefore never reached later targets. Copy the overrides that validate, and log the error of those that don't.
Rename `Validate` to `HasErrors`, still returning an `llvm::Error`, so call sites read the right way round. It now also checks that the override's class exists, so adding an override with a missing class fails with a useful error instead of failing on every matching breakpoint.
Test both: an override on the dummy target applies to targets created later, and `test_bad_values` now covers a missing class.
AMDGPU: Fix folding 64-bit move imm into subreg use in SIShrinkInstructions
foldImmediates folded the full 64-bit immediate of a move into a
subregister use, rather than the value of the used half. Extract the
immediate value of the used subregister. Global addresses were similarly
broken.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
Reclaim empty segments in a separate thread, rather than doing so at
segment unlock. This allows segment reclaim to be done without the segment
lock. Should address PR 60820.