LLVM/project 5ddd083clang/lib/AST/ByteCode Interp.h Interp.cpp

[clang][AST] Outline constant-interpreter shift diagnostics (#202633)

CheckShift is instantiated for each primitive left-hand and right-hand
type
and for both shift directions. Its four diagnostic paths are cold, but
each
instantiation currently emits the diagnostic construction and undefined
behavior handling.

Move those paths to the non-template, noinline diagnoseShiftFailure
function.
Valid shifts retain the existing checks and do not call the outlined
function.
Invalid shifts preserve the same diagnostic arguments and call
noteUndefinedBehavior exactly once.

On arm64 macOS with a Release build of standalone Clang, this changes:

  linked binary:  222,173,192 -> 221,924,960 bytes (-248,232)

    [5 lines not shown]
DeltaFile
+21-14clang/lib/AST/ByteCode/Interp.h
+27-0clang/lib/AST/ByteCode/Interp.cpp
+48-142 files

LLVM/project 4c6e578llvm/include/llvm/MC MCAsmStreamer.h, llvm/lib/Target/SystemZ/MCTargetDesc SystemZHLASMAsmStreamer.h SystemZHLASMAsmStreamer.cpp

[SystemZ][z/OS] Show instruction encoding in HLASM output (#181904)

This change adds the support to show instruction encoding as a comment
when emitting HLASM text. With this, the last 2 LIT tests migrate to
HLASM syntax.
DeltaFile
+83-55llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
+9-18llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
+7-5llvm/test/CodeGen/SystemZ/call-zos-02.ll
+3-0llvm/include/llvm/MC/MCAsmStreamer.h
+3-0llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
+105-785 files

LLVM/project 5f66b69clang/docs ReleaseNotes.md, clang/lib/Sema SemaTemplate.cpp SemaDecl.cpp

[clang] accept member specializations declared in class scope (#207256)

Explicit specializations are not restricted to namespace scope since
CWG727 was accepted as a DR.

Also fixes a crash upon error recovery in this case which was a recent
unreleased regression.

Fixes #206866
DeltaFile
+41-0clang/test/SemaTemplate/member-specialization.cpp
+5-4clang/lib/Sema/SemaTemplate.cpp
+9-0clang/test/CXX/drs/cwg7xx.cpp
+6-0clang/lib/Sema/SemaDecl.cpp
+3-0clang/docs/ReleaseNotes.md
+64-45 files

LLVM/project dcf969ecompiler-rt/lib/scudo/standalone secondary.h

[scudo] Remove internal linkage from LargeBlock header helpers (NFC) (#207708)

`addHeaderTag` and `getHeader` are static function templates in
`secondary.h,` so any TU that includes the header without using them
trips `-Wunused-template`. Dropping static fixes the warning.

Part of #202945.
DeltaFile
+3-3compiler-rt/lib/scudo/standalone/secondary.h
+3-31 files

LLVM/project 62708d1llvm/include/llvm/CodeGen CostTable.h

[CodeGen] Compact cost table entries (#202836)

ISD and CostType can both be shrunk to uint16_t, which reduces the
binary by 16KB.

Work towards #202616

AI tool disclosure: Co-authored with OpenAI Codex.
DeltaFile
+5-4llvm/include/llvm/CodeGen/CostTable.h
+5-41 files

LLVM/project 3fbe826mlir/lib/Target/LLVMIR/Dialect/OpenMP OpenMPToLLVMIRTranslation.cpp, mlir/test/Target/LLVMIR openmp-llvm.mlir

[MLIR][OpenMP] Prevent openmp-device attribute being added to the host (#207719)

This attribute is only intended for an OpenMP target device but a recent
patch started causing it to appear on the host. This causes the
OpenMPOpt pass to treat the LLVM IR module as an OpenMP offloading
target, potentially introducing invalid modifications.

Fixes #207423.
DeltaFile
+4-4mlir/test/Target/LLVMIR/openmp-llvm.mlir
+3-2mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+7-62 files

LLVM/project 7cb7f07compiler-rt/lib/sanitizer_common/tests sanitizer_mutex_test.cpp sanitizer_test_utils.h

[compiler-rt][sanitizer_common] Fix -Wunused-template in test helpers… (#207706)

`Ident` is a static function template in a test header, so any test TU
that never calls it trips `-Wunused-template`. Drop static.

`check_locked` in `sanitizer_mutex_test.cpp` has no callers.

Part of #202945.
DeltaFile
+0-6compiler-rt/lib/sanitizer_common/tests/sanitizer_mutex_test.cpp
+2-3compiler-rt/lib/sanitizer_common/tests/sanitizer_test_utils.h
+2-92 files

LLVM/project a3624cbclang/test/Interpreter emulated-tls.cpp, llvm/lib/ExecutionEngine/Orc Layer.cpp

[ORC] Track __emutls_t definitions in IRMaterializationUnit (#207161)

When emulated TLS is enabled, `IRMaterializationUnit`'s constructor
emits an `__emutls_t.<var>` symbol for each non-zero-initialized
`thread_local` global and records it in `SymbolFlags`, but never adds it
to `SymbolToDefinition`.

If the same weak (`linkonce_odr`) definition is materialized by more
than one module — e.g. an `inline` function that odr-uses such a
`thread_local`, pulled into two `PartialTranslationUnit`s by clang-repl
— `JITDylib::defineImpl` discards the duplicate via
`IRMaterializationUnit::discard()`. `discard()` looks the symbol up in
`SymbolToDefinition` and, finding nothing, dereferences `end()`: an
assertion failure in `+Asserts` builds and heap corruption otherwise.

Register `__emutls_t.<var>` in `SymbolToDefinition` alongside its flags,
mirroring the `__emutls_v.<var>` handling just above.

### Test

    [11 lines not shown]
DeltaFile
+25-0clang/test/Interpreter/emulated-tls.cpp
+1-0llvm/lib/ExecutionEngine/Orc/Layer.cpp
+26-02 files

OPNSense/plugins df5fd73net/firewall-legacy Makefile, net/firewall-legacy/src/www firewall_rules_edit.php firewall_rules.php

net/firewall-legacy: simple GUI pluing

NAT rules follow for 27.1 and menu registration remains in core.
DeltaFile
+1,827-0net/firewall-legacy/src/www/firewall_rules_edit.php
+1,109-0net/firewall-legacy/src/www/firewall_rules.php
+1-1net/firewall-legacy/Makefile
+2,937-13 files

FreeBSD/src 7f5fa76sys/cddl/contrib/opensolaris/uts/common/dtrace dtrace.c

dtrace: Fix DOF section-specific validation

The entry size of the probe section is assumed to be at least
sizeof(dof_probe_t) by the loop further below.

enoff_sec->dofs_entsize was not being validated at all.

When multiplying an index by a table entry size, make sure the
multiplication can't overflow.

Fix an off-by-one when validating the translated probe argument array.

Make sure that the probe argument argvs are valid string offsets
even if the argument count is zero.

Reviewed by:    christos
MFC after:      2 weeks
Sponsored by:   CHERI Research Centre
Differential Revision:  https://reviews.freebsd.org/D57979
DeltaFile
+23-7sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
+23-71 files

FreeBSD/src b56b601sys/cddl/contrib/opensolaris/uts/common/dtrace dtrace.c

dtrace: Improve DOF string table validation

The check for a nul terminator implicitly assumes that the section size
is positive.  Make the assumption explicit.

Reviewed by:    christos
MFC after:      2 weeks
Sponsored by:   CHERI Research Centre
Differential Revision:  https://reviews.freebsd.org/D57977
DeltaFile
+3-2sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
+3-21 files

FreeBSD/src 8dc98f4sys/cddl/contrib/opensolaris/uts/common/dtrace dtrace.c

dtrace: Fix DOF section bounds validation

We must ensure that each DOF section does not overlap with the DOF
header or section table.  Otherwise the relocations processed in the
second pass over sections can manipulate DOF metadata, leading to OOB
writes.

Reviewed by:    christos
MFC after:      2 weeks
Sponsored by:   CHERI Research Centre
Differential Revision:  https://reviews.freebsd.org/D57976
DeltaFile
+12-0sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
+12-01 files

FreeBSD/src c1b6ebcsys/cddl/contrib/opensolaris/uts/common/dtrace dtrace.c

dtrace: Improve DOF section size validation

The loop which validates each DOF section assumes that the section
header is present, so the section size must be at least as large as the
header, otherwise a small OOB access is possible.

Reviewed by:    christos
MFC after:      2 weeks
Sponsored by:   CHERI Research Centre
Differential Revision:  https://reviews.freebsd.org/D57975
DeltaFile
+2-2sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
+2-21 files

FreeBSD/src a8f5e24contrib/ee ee.c

ee: Handle EINTR when waiting for a character

Otherwise one can't easily attach gdb to ee.

Reviewed by:    bapt
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D57997
DeltaFile
+4-0contrib/ee/ee.c
+4-01 files

FreeBSD/src 705a88acontrib/ee ee.c

ee: Improve handling of malformed UTF-8 characters

In delete(), when copying the deleted character to the d_char buffer,
don't assume that it fits.  utf8_prev() may return a sequence of more
than 5 bytes.

In insert_utf8(), fix the copy-up of the line.  We extended the line by
"len" bytes, so "temp" has to be repositioned accordingly.  Compare with
plain insert().

Use sizeof when copying to buffers instead of hard-coding buffer sizes.

Don't dynamically allocate d_char, there is no need.

Fixes:          62fba0054d9e ("ee: add unicode support")
Reported by:    Sayono Hiragi (overflow in delete())
Reviewed by:    bapt
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D57996
DeltaFile
+16-15contrib/ee/ee.c
+16-151 files

NetBSD/src ZBBqC1usys/arch/m68k/m68k pmap_68k.c

   pmap_enter(): When overwriting an existing mapping for one to a different
   PA, don't pass the vm_page * computed earlier to the pmap_remove_mapping()
   call; that vm_page * is for the new PA, not the existing one we're removing
   the mapping for.
VersionDeltaFile
1.74+3-3sys/arch/m68k/m68k/pmap_68k.c
+3-31 files

FreeNAS/freenas 5a0db73src/middlewared/middlewared/plugins keychain.py, tests/api2 test_keychain_utils.py test_keychain_key_pair.py

NAS-141677 / 26.0.0-RC.1 / Replication fixes (#19255)

• Removing an SSH key pair now correctly updates SFTP cloud credentials
that were using that key.
• Encrypted SSH private keys are now rejected more consistently during
validation.
• Remote SSH semi-automatic setup now returns a clear error when the
selected SSH key pair no longer exists or is invalid.
• Fixed SSH pairing with TrueNAS 13 systems during remote replication
setup.
DeltaFile
+381-0tests/api2/test_keychain_utils.py
+109-0tests/api2/test_keychain_key_pair.py
+66-0tests/api2/test_keychain_replication.py
+57-1tests/api2/test_keychain_ssh.py
+13-5src/middlewared/middlewared/plugins/keychain.py
+13-0tests/api2/test_replication_utils.py
+639-61 files not shown
+645-87 files

LLVM/project c827c90mlir/lib/Dialect/Arith/IR ValueBoundsOpInterfaceImpl.cpp, mlir/test/Dialect/Arith value-bounds-op-interface-impl.mlir

Improving MinUI and MaxUI implementation in valuebounds (#207701)

Previously, the valuebounds implementation for MinUI and MaxUI was too
conservative.
We can already make correct assumptions even when we know only one
operand is provably not negative.
DeltaFile
+29-13mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
+19-7mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
+48-202 files

OPNSense/core a4995f6. plist, src/www firewall_rules_edit.php firewall_rules.php

firewall: legacy rules pages move to plugin #9947
DeltaFile
+0-1,827src/www/firewall_rules_edit.php
+0-1,109src/www/firewall_rules.php
+0-2plist
+0-2,9383 files

FreeNAS/freenas 912f6d5src/middlewared/middlewared/plugins keychain.py, tests/api2 test_keychain_utils.py test_keychain_key_pair.py

NAS-141677 / 25.10.5 / Replication fixes (#19256)

• Removing an SSH key pair now correctly updates SFTP cloud credentials
that were using that key.
• Encrypted SSH private keys are now rejected more consistently during
validation.
• Remote SSH semi-automatic setup now returns a clear error when the
selected SSH key pair no longer exists or is invalid.
• Fixed SSH pairing with TrueNAS 13 systems during remote replication
setup.

---------

Co-authored-by: themylogin <themylogin at gmail.com>
DeltaFile
+381-0tests/api2/test_keychain_utils.py
+109-0tests/api2/test_keychain_key_pair.py
+66-0tests/api2/test_keychain_replication.py
+57-1tests/api2/test_keychain_ssh.py
+13-5src/middlewared/middlewared/plugins/keychain.py
+13-0tests/api2/test_replication_utils.py
+639-61 files not shown
+645-87 files

LLVM/project 6eb0dacflang/lib/Optimizer/Transforms/CUDA CUFDeviceGlobal.cpp, flang/test/Fir/CUDA cuda-device-global.f90

[flang][cuda] Only strip internal linkage for device globals (#207521)

Stripping all linkage was too much. Only strip internal linkage so the
symbol is visible to CUDA API.
DeltaFile
+6-4flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
+5-1flang/test/Fir/CUDA/cuda-device-global.f90
+11-52 files

OPNSense/plugins 79d642c. README.md, net/firewall-legacy Makefile pkg-descr

net/firewall-legacy: add firewall legacy plugin
DeltaFile
+6-0net/firewall-legacy/Makefile
+3-0net/firewall-legacy/pkg-descr
+1-0README.md
+10-03 files

NetBSD/pkgsrc pghU93Dwww/php-nextcloud Makefile

   www/php-nextcloud: Update required php versions

   Upstream "documents" that >= php 8.5 is not ok.
VersionDeltaFile
1.88+3-4www/php-nextcloud/Makefile
+3-41 files

LLVM/project bed625bllvm/lib/Transforms/InstCombine InstCombineVectorOps.cpp, llvm/test/Transforms/InstCombine insert-element-shuffle-vector-debugloc.ll

[InstCombine] Propagate debuglocs when replacing insert->extract elts (#206026)

InstCombine may replace an extractelement->insertelement chain, where
the insert vector is wider than the extract vector, with a pair of
shufflevectors - one to widen the extract vector, and one to perform the
extract+insert simultaneously. Currently the second shufflevector
correctly adopts the insertelement's debug location, since it replaces
the chain of instructions that culminates with the insert. The first
shufflevector however takes its debug location from its insert position,
if the extract vector was a PHI or non-instruction, and otherwise
receives no location.

Since the first shufflevector is really adapting the extract vector for
use by one or more other instructions, we can consider it an extension
of the extractvector. If the extract vector is an instruction, its debug
location should be used (even if it is a PHI - this likely defaults to a
CompilerGenerated debug location); otherwise, the extract vector is a
constant, and so the shufflevector represents a constant materialization
- so should receive a CompilerGenerated location.
DeltaFile
+54-0llvm/test/Transforms/InstCombine/insert-element-shuffle-vector-debugloc.ll
+9-0llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
+63-02 files

LLVM/project 9d59248llvm/lib/Target/AMDGPU AMDGPULowerKernelArguments.cpp, llvm/test/CodeGen/AMDGPU lower-kernargs.ll

[AMDGPU] Do not copy the range attribute onto a widened kernarg load (#207655)

Sub-dword args (e.g. i8) are loaded as a full i32 and truncated. Copying
the i8 range onto the i32 load is invalid IR, and its bounds are wrong
since the upper bytes hold other args

Only copy the range when the load type matches the argument type
DeltaFile
+21-0llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
+1-1llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
+22-12 files

NetBSD/pkgsrc zqMS9obdoc CHANGES-2026

   doc: Updated www/php-nextcloud to 32.0.12
VersionDeltaFile
1.4288+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc n1gvAhRdoc CHANGES-2026

   doc: Updated www/chromium to 150.0.7871.46
VersionDeltaFile
1.4287+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc UFj9U6Wwww/php-nextcloud PLIST distinfo

   www/php-nextcloud: Update to 32.0.12

   Tested on netbsd-10 amd64.  As in recent past versions, the
   click-to-update on the web fails, and the "php occ" command-line path
   works.  I do not believe this is a packaging issue.

   Upstream NEWS content: micro update
VersionDeltaFile
1.70+288-329www/php-nextcloud/PLIST
1.73+4-4www/php-nextcloud/distinfo
1.87+2-2www/php-nextcloud/Makefile
+294-3353 files

NetBSD/pkgsrc 5JFQu3Owww/chromium distinfo cargo-depends.mk, www/chromium/patches patch-chrome_browser_about__flags.cc patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc

   chromium: update to 150.0.7871.46

   This update includes 433 security fixes. Please see the Chrome Security Page for more information.
VersionDeltaFile
1.49+2,142-2,022www/chromium/distinfo
1.2+171-133www/chromium/cargo-depends.mk
1.22+68-104www/chromium/patches/patch-chrome_browser_about__flags.cc
1.22+52-25www/chromium/patches/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc
1.22+13-49www/chromium/patches/patch-build_config_compiler_BUILD.gn
1.22+28-33www/chromium/patches/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc
+2,474-2,3661,625 files not shown
+5,744-5,2091,631 files

LLVM/project 6840e60clang/lib/AST ExprConstant.cpp ExprConstShared.h, clang/lib/AST/ByteCode InterpBuiltin.cpp

[Clang][ExprConstant] Normalize aux target builtin IDs before dispatch (#201805)

When compiling for a device target that has an auxiliary host target
(for example OpenMP or CUDA offload), builtins of the auxiliary target
are registered with IDs shifted past the primary target's builtins. The
constant evaluator passed the raw ID straight into the target-specific
evaluation switches in the Pointer/Int/Vector/Float expression
evaluators, so a shifted auxiliary ID could fall through to an unrelated
builtin's case (or miss its case entirely) and fail to fold.

Add a getConstantEvaluatedBuiltinID() helper that translates auxiliary
builtin IDs back to their canonical target IDs via
BuiltinInfo::getAuxBuiltinID(), and use it before dispatching in each of
those evaluators.
DeltaFile
+74-23clang/lib/AST/ExprConstant.cpp
+24-0clang/test/Sema/aux-target-builtin-constexpr.cpp
+21-0clang/lib/AST/ExprConstShared.h
+13-1clang/lib/AST/ByteCode/InterpBuiltin.cpp
+132-244 files