FreshBSD

9 min read Original article ↗

LLVM/project 67349c5clang/lib/Sema SemaAMDGPU.cpp

clang/AMDGPU: Simplify cpu name checks for __builtin_amdgcn_is_processor

Instead of trying to figure out which TargetInfo to use, skip it and
directly use the source of truth from TargetParser. This avoids regressions
in future commits where isValidCPUName will be conditionally filtered.
DeltaFile
+4-8clang/lib/Sema/SemaAMDGPU.cpp
+4-81 files

LLVM/project 374df9fllvm/lib/Target/AArch64 AArch64SRLTDefineSuperRegs.cpp AArch64.h, llvm/test/CodeGen/AArch64 subreg-liveness-fix-subreg-to-reg-implicit-def.mir

[NewPM][AArch64] Port AArch64SRLTDefineSuperRegs pass to NewPassManager (#202803)

Standard port for the AArch64SRLTDefineSuperRegs pass.

Assisted by Gemini
DeltaFile
+38-17llvm/lib/Target/AArch64/AArch64SRLTDefineSuperRegs.cpp
+9-2llvm/lib/Target/AArch64/AArch64.h
+2-2llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+1-0llvm/lib/Target/AArch64/AArch64PassRegistry.def
+1-0llvm/test/CodeGen/AArch64/subreg-liveness-fix-subreg-to-reg-implicit-def.mir
+51-215 files

NetBSD/pkgsrc LqtcJOJwww/py-jwcrypto distinfo Makefile

   py-jwcrypto: updated to 1.5.8

   1.5.8

   Fix list iteration in claim format validation
   fix: bump minimum cryptography dependency to >= 39.0.0
   Wrap JWKSet parsing errors in InvalidJWKValue
   jwt: add opt-in strict_serialization to enforce compact form
VersionDeltaFile
1.10+4-4www/py-jwcrypto/distinfo
1.14+2-2www/py-jwcrypto/Makefile
+6-62 files

NetBSD/pkgsrc jE66DUudevel/py-click distinfo Makefile

   py-click: updated to 8.4.2

   8.4.2

   Fix Fish shell completion broken in 8.4.0 by {pr}3126. Newlines and tabs in option help text are now escaped, keeping the original completion format while still supporting multi-line help. {issue}3502 {issue}3043 {pr}3504 {pr}3508
   Deprecated commands and options with empty or missing help text no longer render a stray leading space before the (DEPRECATED) label. {pr}3509
   A {class}Group with invoke_without_command=True marks its subcommand as optional in the usage help, showing [COMMAND] instead of COMMAND. {issue}3059 {pr}3507
   echo_via_pager flushes after each write, so passing a generator streams output to the pager incrementally instead of staying hidden until the pipe buffer fills. {issue}3242 {issue}2542 {pr}3534
   echo_via_pager and get_pager_file no longer close a borrowed stdout stream when no external pager runs, completing the partial I/O operation on closed file fix from {pr}3482. {issue}3449 {pr}3533
VersionDeltaFile
1.37+4-4devel/py-click/distinfo
1.41+2-2devel/py-click/Makefile
+6-62 files

NetBSD/pkgsrc LmEoK3Bdevel/py-cython distinfo Makefile

   py-cython: updated to 3.2.6

   3.2.6 (2026-06-24)

   Bugs fixed

   * ``@functools.wraps()`` was broken in Py3.14+ for Cython compiled functions.

   * A double-free in the t-string code was fixed.

   * The ``-`` operator declarations for iterators in ``libcpp.vector`` we corrected.

   * The shared utility code module no longer uses a temporary file path that
     changed the C code on each generation.

   * On 32 bit platforms, cached constants are no longer made immortal during module import.
VersionDeltaFile
1.98+4-4devel/py-cython/distinfo
1.117+2-2devel/py-cython/Makefile
+6-62 files

LLVM/project 765f0d1clang/test/CodeGen/WebAssembly wasm-funcref.c, llvm/lib/Target/WebAssembly WebAssemblyLowerRefTypesIntPtrConv.cpp WebAssemblyFastISel.cpp

[WebAssembly] Represent reference types as TargetExtType (#203165)

Originally #71540 by Paolo Matos, I picked it up and finished it.
Resolves https://github.com/llvm/llvm-project/issues/69894.

Model WebAssembly externref and funcref as target("wasm.externref") /
target("wasm.funcref") TargetExtTypes instead of pointers in
non-integral address spaces 10 and 20.

The entire WebAssemblyLowerRefTypesIntPtrConv can be removed.

This breaks the GlobalISel handling for reference types, I just disabled
GlobalISel handling for functions that use them.

I added intrinsics for `wasm.ptr.to_funcref` and `wasm.funcref.to_ptr`.
ptr.to_funcref does a table.get from the indirect function pointer
table. As a special case, 0 is converted to the null funcref rather than
doing table.get on 0. `wasm.funcref.to_ptr` is only handled when we call
it immediately, otherwise it will fail to lower. We could dynamically

    [13 lines not shown]
DeltaFile
+0-85llvm/lib/Target/WebAssembly/WebAssemblyLowerRefTypesIntPtrConv.cpp
+50-21clang/test/CodeGen/WebAssembly/wasm-funcref.c
+59-11llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
+67-0llvm/test/CodeGen/WebAssembly/ref-null-zeroinitializer.ll
+6-50llvm/test/CodeGen/WebAssembly/GlobalISel/irtranslator/call-basics.ll
+32-21llvm/lib/Target/WebAssembly/GISel/WebAssemblyCallLowering.cpp
+214-18858 files not shown
+679-40564 files

LLVM/project c0e80b9clang-tools-extra/test/clang-doc class-partial-specialization.cpp, clang-tools-extra/test/clang-doc/json class-partial-specialization.cpp nested-pointer-qualifiers.cpp

[clang-doc] Test more language constructs (#205585)

We're missing several different language constructs in our tests. This
patch simply adds the basic tests and captures the output without trying
to fix or adjust any behavior, and can be considered a sort of precommit
test for future fixes to the various documentation components.
DeltaFile
+25-0clang-tools-extra/test/clang-doc/json/class-partial-specialization.cpp
+18-0clang-tools-extra/test/clang-doc/json/nested-pointer-qualifiers.cpp
+18-0clang-tools-extra/test/clang-doc/json/member-function-pointer-type.cpp
+18-0clang-tools-extra/test/clang-doc/json/function-pointer-type.cpp
+18-0clang-tools-extra/test/clang-doc/json/array-type.cpp
+13-0clang-tools-extra/test/clang-doc/class-partial-specialization.cpp
+110-09 files not shown
+165-015 files

NetBSD/pkgsrc ok7zYuDnet/libslirp distinfo Makefile

   net/libslirp: update to version 4.9.3

   This is a security update for CVE-2026-9539: libslirp TCP URG OOB Read
   Information Leak.

   Changes in 4.9.3:

   * Fix migration break on incorrect vmstate retcode

   Changes in 4.9.2:

   * Security:
     - oob: cap urgent data count to what is actually available
   * Fixed:
     - Honor dns server port number on macos
     - Cope with SO_ERROR possibly failing
     - vmstate: pass on read/write errors for state
     - Fix port conflict
     - tcp_sockclosed: Set linger timer on remaining closing states

    [62 lines not shown]
VersionDeltaFile
1.8+4-5net/libslirp/distinfo
1.9+3-4net/libslirp/Makefile
+7-92 files

NetBSD/src JuhB3I3tests/libexec/ld.elf_so t_dlclose_thread.c

   ld.elf_so(1): Run concurrent dlopen/dlclose test a few more seconds.

   More likely to provoke the problem this way.  Still not 100% reliable
   because the problem is a race condition, but better than having the
   test unexpectedly pass half the time.

   Also set a timeout of 20sec, since I've seen the test get into an
   infinite loop sometimes and it's now supposed to complete in 5sec +
   epsilon.

   PR lib/59751: dlclose is not MT-safe depending on the libraries unloaded
VersionDeltaFile
1.2+4-3tests/libexec/ld.elf_so/t_dlclose_thread.c
+4-31 files

LLVM/project bd1acfcllvm/include/llvm/Transforms/IPO SampleProfileMatcher.h, llvm/lib/Transforms/IPO SampleProfileMatcher.cpp

[SampleProfileMatcher] Sample profile duplication to avoid stale CFG profile matching conflicts (#202460)

Stale profile matching may map multiple different IR anchors into one
profile anchor because of the common function basename. One example is
`foo(int)` and `foo<bar>(float)` can both be mapped to `foo()` if
`foo()` is the only function that has a profile. And this creates
conflicting CFG matching for `foo(int)` and `foo<bar>(float)` when they
each runs stale profile matching. The CFG matching results will be
overwritten among the conflicting functions. And it will trigger the
following assertation failure:

https://github.com/llvm/llvm-project/blob/7087094b05a1bba64a99474cc501328919e11b4a/llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp#L332-L333

This patch tries to detect this conflict during the stale CG matching,
and create duplicated profiles to avoid CFG matching conflicts.
DeltaFile
+278-0llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-orphan-conflict.ll
+62-0llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
+5-0llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-orphan-conflict.prof
+2-0llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
+347-04 files

LLVM/project a218ee3lldb/include/lldb/Core ModuleSpec.h, lldb/include/lldb/Target Process.h

Fix ProcessElfCore::FindModuleUUID() so it work with symlinks. (#205235)

ProcessElfCore was reading the NT_FILE list and using that to help
FindModuleUUID to provide UUID information when loading core files. The
NT_FILE list contains resolved paths only, while the
DynamicLoaderPOSIXDYLD plug-in was using paths found in the r_debug
structure which contains a linked list of all of the shared libraries in
a process. The issue was these paths could be symlinks which would cause
ProcessELFCore::FindModuleUUID(...) to fail because the paths wouldn't
match up. This led to the ProcessELFCore often not being able to provide
UUIDs for shared libraries and cause the incorrect binaries to be loaded
from the current machine even when the shared library UUIDs don't match.

The solution was to add the ability for a ModuleSpec to contain a load
address for the shared library. This allows ProcessELFCore to uniquely
identify a library regardless of the name used in NT_FILE. We can now
correctly supply the UUID from the .gnu-build-id to any binaries which
use symlinks when linking, but have differing resolved paths to the
libraries.

    [13 lines not shown]
DeltaFile
+135-0lldb/test/API/functionalities/postmortem/elf-core/elf-dyld-nt-file-mismatch.yaml
+68-0lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
+32-7lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
+30-0lldb/include/lldb/Core/ModuleSpec.h
+9-8lldb/source/Core/DynamicLoader.cpp
+12-1lldb/include/lldb/Target/Process.h
+286-164 files not shown
+293-2310 files

FreeBSD/src 3584cdesys/kern kern_jail.c

jail: clean up locking around do_jail_attach

jail_attach_jd passed PD_DEREF to do_jail_attach, assuming it would take
care of freeing the held prison. This is not true, as do_jail_attach
immediately cleared that flag, leaving the jail stock in dying state
when it is later removed.

Reported by:    markj
Reviewed by:    markj
MFC after:      3 days
Differential Revision:  <https://reviews.freebsd.org/D57674>
DeltaFile
+43-33sys/kern/kern_jail.c
+43-331 files

FreeBSD/src 4ffa7e1sys/kern kern_osd.c

kern: osd: trash a slot's methods upon deregistration

This both lets us quickly identify a slot that's been deallocated while
debugging, and forces us to take a fault if something tries to call one
of the methods anyways somehow with osd_destructors[slot - 1] == NULL.

Reviewed by:    imp, jamie
Differential Revision:  https://reviews.freebsd.org/D48075
DeltaFile
+12-0sys/kern/kern_osd.c
+12-01 files

LLVM/project 85a94e3clang/docs ReleaseNotes.rst, clang/lib/Sema TreeTransform.h

[Clang] Transform SubstNonTypeTemplateParmExpr replacements in a constant-evaluated context (#196791)

Fixes #175831.

When transforming a `SubstNonTypeTemplateParmExpr`,
`TreeTransform::TransformSubstNonTypeTemplateParmExpr` calls
`Sema::CheckTemplateArgument` so that any sema annotations (such as
implicit casts) that were stripped from the replacement are recovered.
This is done in whatever evaluation context the node happens to appear
in after substitutions.

Since the normalization of constraints, a `SubstNonTypeTemplateParmExpr`
can end up inside an unevaluated operand, so the replacement gets
rebuilt in an unevaluated context.
Entities it refers to are then not odr-used: for example, when a call
materializes a by-value function parameter of class type, the copy
constructor is never marked odr-used and its definition is never
instantiated.
The constant evaluation performed by `CheckTemplateArgument` afterwards

    [11 lines not shown]
DeltaFile
+65-3clang/test/SemaTemplate/concepts.cpp
+13-0clang/lib/Sema/TreeTransform.h
+1-1clang/docs/ReleaseNotes.rst
+79-43 files