FreeBSD/src a5a16basys/fs/nullfs null_vnops.c

nullfs: close a race when syncing inotify flags from the lower vnode

After a bypassed VOP, nullfs mirrors the lower vnode's inotify state
onto the upper vnode.  The flags were checked with lockless reads
before being updated with the asserting flag set/unset primitives, so
two threads syncing the same vnode concurrently (or a sync racing a
watch being established) could both decide to make the same change;
the loser then trips the "flags already set" assertion on an
INVARIANTS kernel.  On other kernels the race is harmless.

Keep the lockless check as the fast path, but re-make the decision
under the vnode interlock before actually changing the flags.

Reproduced in a 4-CPU VM with one thread cycling an inotify watch on
a lower-filesystem file while several threads stat(2) the same file
through a nullfs mount: the unpatched INVARIANTS kernel panics under
this load, the patched kernel runs it to completion.

Fixes:                  f1f230439fa4 ("vfs: Initial revision of inotify")

    [6 lines not shown]
DeltaFile
+14-5sys/fs/nullfs/null_vnops.c
+14-51 files

FreeBSD/src f68d7bflib/libc/stdlib strfromd.c strfroml.c, lib/libc/tests/stdlib strfrom_test.c

libc: Add strfromd, strfromf, and strfroml per C23

strfromd(), strfromf(), and strfroml() are implemented directly
in terms of gdtoa.  If a non-conforming format string is passed,
the string "EDOOFUS" is returned and errno set to EDOOFUS as an
extension.

Reviewed by:    fuz
MFC after:      1 month
Pull-Request:   https://github.com/freebsd/freebsd-src/pull/2301
Signed-off-by:  Faraz Vahedi <kfv at kfv.io>
DeltaFile
+590-0lib/libc/tests/stdlib/strfrom_test.c
+476-0lib/libc/stdlib/strfrom.c
+109-0lib/libc/stdlib/strfromd.3
+47-0lib/libc/stdlib/strfromf.c
+46-0lib/libc/stdlib/strfroml.c
+45-0lib/libc/stdlib/strfromd.c
+1,313-05 files not shown
+1,363-111 files

LLVM/project 4695d91llvm/include/llvm/ExecutionEngine/Orc/RTBridge Calls.h, llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS Calls.h

[ORC] Generalize RTBridge Callers to any runtime function (#213526)

An RTBridge Caller is a controller-side handle for calling a function in
the runtime. Until now the abstraction assumed every such function was a
trampoline -- a runtime function whose job is to invoke *another*
function at an address the controller supplies (run-as-main, run-as-int,
etc.) -- so every Caller carried a dedicated ExecutorAddr parameter for
that target.

Generalize Callers to call runtime functions of any shape. Invoking a
supplied target is now just one kind of call, with the target address an
ordinary leading argument rather than a built-in parameter: e.g.
MainCaller becomes Caller<int64_t(ExecutorAddr, ArrayRef<std::string>)>.

The SPS signatures already led with an SPSExecutorAddr for the target,
so this is a pure interface change -- the SPS wrappers and all call
sites are unaffected. It lets Callers model runtime functions that do
the work themselves, such as the memory-access wrappers, rather than
only those that dispatch to another function.
DeltaFile
+15-16llvm/include/llvm/ExecutionEngine/Orc/RTBridge/Calls.h
+8-9llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS/Calls.h
+23-252 files

LLVM/project 29a956eclang/include/clang/Options Options.td, clang/lib/CodeGen CGOpenMPRuntimeGPU.cpp

[offload][OpenMP] Add atomic cross-team reductions (#209298)

Regular cross-team reductions have two phases: the intra-team reduction
and the inter-team reduction. Atomic cross-team reductions replace the
second phase with a atomic instruction which is used by the main thread
of each team to directly fold the result of the intra-team reduction
into the final result. Since this requires a combination of "data type"
and "combine operation" for which an atomic instruction is available,
only some (but very common) reductions can be transformed to atomic
reductions. In cases where multiple reductions are performed on the same
construct, the atomic path is only taken if all reductions can be
transformed. Otherwise, we fall back to the regular cross-team reduction
using a buffer with per-team slots. This is not strictly necessary, but
hybrid reductions would induce more complexity with questionable
benefit.

Selecting an atomic path might not be the best option for every
situation, which is why it is not enabled by default. Instead, it can be
enabled via `-fopenmp-target-atomic-reduction`. Note that enabling the

    [17 lines not shown]
DeltaFile
+107-2clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
+90-0clang/test/OpenMP/target_teams_atomic_reduction_codegen.cpp
+64-0offload/test/offloading/xteam_atomic_reduction_usm.cpp
+32-0llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+18-0clang/test/Driver/openmp-target-atomic-reduction-flag.c
+9-0clang/include/clang/Options/Options.td
+320-26 files not shown
+340-212 files

HardenedBSD/src 0834609usr.sbin/bhyve bhyve_config.5

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+19-9usr.sbin/bhyve/bhyve_config.5
+19-91 files

HardenedBSD/ports 48409a1databases/rocksdb/files patch-cmake_RocksDBConfig.cmake.in RocksDBTargets.cmake, devel/cargo-readme distinfo

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+16-666math/deal.ii/pkg-plist
+113-0databases/rocksdb/files/RocksDBTargets.cmake
+110-0lang/sbcl/files/patch-contrib_sb-manual_texinfo.lisp
+85-0databases/rocksdb/files/patch-cmake_RocksDBConfig.cmake.in
+29-25devel/cargo-readme/distinfo
+15-17net-mgmt/py-napalm/Makefile
+368-70846 files not shown
+616-82452 files

LLVM/project b1e21e2llvm/lib/Transforms/Vectorize VPlanTransforms.h VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize find-last-iv-sinkable-expr.ll

[VPlan] Handle step where sign cannot be determined optimizeFindIVRed. (#213450)

optimizeFindIVReductions uses the step to determine if min or max is
needed. Bail out if the direction of the step cannot be determined via
SCEV.

Fixes https://github.com/llvm/llvm-project/issues/213424
DeltaFile
+112-0llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr.ll
+25-12llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+3-1llvm/lib/Transforms/Vectorize/VPlanTransforms.h
+140-133 files

NetBSD/pkgsrc 471INdVdoc CHANGES-2026

   Updated lang/py-libcst, devel/py-vcs-versioning
VersionDeltaFile
1.4902+3-1doc/CHANGES-2026
+3-11 files

NetBSD/pkgsrc oheJ78adevel/py-vcs-versioning Makefile distinfo

   py-vcs-versioning: updated to 2.2.3

   2.2.3 (2026-07-28)

   Fixed

   - Fix `ValueError` when parsing `.git_archival.txt` of a tagged commit whose tag contains more than one dash (e.g. `llvmorg-23.1.0-rc2`) - the `git describe` suffix is now matched precisely instead of splitting on the last two dashes.
VersionDeltaFile
1.7+4-4devel/py-vcs-versioning/distinfo
1.8+2-2devel/py-vcs-versioning/Makefile
+6-62 files

NetBSD/pkgsrc ownqkSklang/py-libcst PLIST Makefile

   py-libcst: updated to 1.9.0

   1.9.0 - 2026-07-29

   Added
   * Add support for Python 3.15
   * Add `CodemodCommand` helpers for adding and removing imports

   Fixed
   * Recognize Python 3.14 parser configurations
   * Allow a trailing comma after `**rest` in class patterns

   Updated
   * Document the new `CodemodCommand` import helpers
   * Fix the `tokenize` function's docstring grammar
   * Remove the retired macOS 13 runner from CI
VersionDeltaFile
1.22+22-31lang/py-libcst/distinfo
1.15+6-9lang/py-libcst/cargo-depends.mk
1.28+3-3lang/py-libcst/Makefile
1.14+4-1lang/py-libcst/PLIST
+35-444 files

FreeBSD/src ae417b3lib/msun/ld128 s_asinpil.c, lib/msun/ld80 s_atanpil.c s_asinpil.c

msun: add asinpi, acospi, and atanpi

This commit implements the inverse half-cycle
trigonometric functions:

   asinpi(x) = asin(x) / pi                        Eq. (1)
   acospi(x) = acos(x) / pi
   atanpi(x) = atan(x) / pi

Implemention details are contained in src/s_asinpi.c and
src/a_atanpi.c, where the details for acospi(x) appear in
the former.

*************

CAVEAT EMPTOR: The ld128 code has been only compiled.  It has
not been tested for correctness due to lack of hardware.

*************

    [125 lines not shown]
DeltaFile
+243-0lib/msun/src/s_asinpi.c
+215-0lib/msun/src/s_atanpi.c
+191-0lib/msun/ld80/s_asinpil.c
+175-0lib/msun/ld80/s_atanpil.c
+173-0lib/msun/ld128/s_asinpil.c
+157-0lib/msun/src/s_asinpif.c
+1,154-09 files not shown
+1,735-1515 files

FreeBSD/src 00a7997lib/libc/stdlib merge.c

libc/merge.c: use memcpy() for copying

Currently mergesort() uses ICOPY_*() to copy data as four byte blocks
instead of one byte. However, this is only achievable when both size and
base arguments are aligned to four bytes.

Use of memcpy() is ideal as 1) it is cleaner and 2) the library will use
SIMD for copying when the hardware supports it. Compared to ICOPY_*(),
SIMD can support up to 64 bytes. When the SIMD-backed memcpy() find the
address is unaligned, it can first copy data up to the nearest aligned
address, and then use SIMD operations for faster transfer. Thus memcpy()
can give better performance than mergesort()'s own implementation.

This is benchmarked on amd64 where there isn't a SIMD-backed
implementation yet. However, the baseline implementation in assembly
already delivers better performance in unaligned cases although there is
some performance drops in aligned cases. The benchmark results and
script is available in the Phabricator review. Ideally, more performance
improvements will come when amd64 gets SIMD implementation of memcpy().

    [5 lines not shown]
DeltaFile
+21-48lib/libc/stdlib/merge.c
+21-481 files

FreeBSD/src 296c05flib/libutil++ libutil++.hh

libutil++: Include <cerrno> in stringf.cc

stringf.cc uses errno and related macros without including <cerrno>.

Their availability is guaranteed only when the corresponding header
is included; transitive exposure is implementation-defined.

Modern libc++ has been progressively reducing incidental transitive
includes as part of its header removal policy (see LLVM libc++ Header
Removal Policy and D132284), making such dependencies brittle.

This change includes <cerrno> explicitly to make the dependency
well-defined. No functional or behavioural change intended.

Approved by:    fuz
Signed-off-by:  Faraz Vahedi <kfv at kfv.io>
Pull-Request:   https://github.com/freebsd/freebsd-src/pull/2188
DeltaFile
+1-0lib/libutil++/libutil++.hh
+1-01 files

LLVM/project 4e924a6lldb/source/Expression IRExecutionUnit.cpp

[lldb] std::move unique_ptrs, rather than calling .release. (#213525)

These .release() calls are legacy from the std::auto_ptr to
std::unique_ptr transition.
DeltaFile
+2-2lldb/source/Expression/IRExecutionUnit.cpp
+2-21 files

HardenedBSD/src afb2563usr.sbin/bhyve bhyve_config.5

bhyve: tidy up bhyve_config.5

There are few warnings reported by mandoc -Tlint:

bhyve_config.5:255:31: WARNING: new sentence, new line
bhyve_config.5:257:43: WARNING: new sentence, new line
bhyve_config.5:422:2: WARNING: missing section argument: Xr nm_open
bhyve_config.5:469:24: WARNING: skipping no-space macro
bhyve_config.5:483:2: WARNING: wrong number of cells: 2 columns, 4 cells
bhyve_config.5:484:2: WARNING: wrong number of cells: 2 columns, 4 cells
bhyve_config.5:541:24: WARNING: skipping no-space macro

 - "new sentence, new line" is a trivial formatting fix.
 - "missing section": there is actually no nm_open() manual page,
    so use .Nm instead of .Xr for it.
 - "no-space macro": format without .Oc and .Ns, similarly to
    how it is already done in bhyve.8 for VNC addresses.
 - "wrong number of cells": also a trivial fix.


    [6 lines not shown]
DeltaFile
+19-9usr.sbin/bhyve/bhyve_config.5
+19-91 files

FreeBSD/src afb2563usr.sbin/bhyve bhyve_config.5

bhyve: tidy up bhyve_config.5

There are few warnings reported by mandoc -Tlint:

bhyve_config.5:255:31: WARNING: new sentence, new line
bhyve_config.5:257:43: WARNING: new sentence, new line
bhyve_config.5:422:2: WARNING: missing section argument: Xr nm_open
bhyve_config.5:469:24: WARNING: skipping no-space macro
bhyve_config.5:483:2: WARNING: wrong number of cells: 2 columns, 4 cells
bhyve_config.5:484:2: WARNING: wrong number of cells: 2 columns, 4 cells
bhyve_config.5:541:24: WARNING: skipping no-space macro

 - "new sentence, new line" is a trivial formatting fix.
 - "missing section": there is actually no nm_open() manual page,
    so use .Nm instead of .Xr for it.
 - "no-space macro": format without .Oc and .Ns, similarly to
    how it is already done in bhyve.8 for VNC addresses.
 - "wrong number of cells": also a trivial fix.


    [6 lines not shown]
DeltaFile
+19-9usr.sbin/bhyve/bhyve_config.5
+19-91 files

LLVM/project e096d2flld/COFF Chunks.h Driver.cpp, lld/test/COFF arm64x-tls.s

[LLD][COFF] Replace ARM64EC TLS directory chunks with native chunks when available (#212845)

On ARM64X targets, CRT provides separate TLS directory chunks, expecting
the linker to sort it out. TLS directory uses _tls_start and _tls_end
symbols to reference .tls section. Those symbols use section sorting to
ensure that they are emitted at the start and end of .tls section, but that's
not enough when we have two separate chunks for views: only one of them
can really be the first one. Following MSVC, merge those chunks instead so
that both symbol tables point to the same chunk.

Additionally apply the same logic to _tls_used and _tls_index. This
allows entire TLS directory to be shared between EC and native views. To
achieve that, CRT additionally needs to mark each TLS callback with
-arm64xsameaddress. This matches how MSVC linker and libraries work, but
it requires EC and native views to use the same set of TLS callbacks. We
may emit separate TLS directories in the future to make it more robust.
DeltaFile
+121-0lld/test/COFF/arm64x-tls.s
+24-3lld/COFF/Driver.cpp
+2-1lld/COFF/Chunks.h
+147-43 files

OpenBSD/ports o9R8uZHx11/gnome/nautilus distinfo Makefile, x11/gnome/nautilus/patches patch-src_nautilus-file_c patch-src_nautilus-file-utilities_h

   Update to nautilus-50.2.2.
VersionDeltaFile
1.259+8-6x11/gnome/nautilus/Makefile
1.125+2-2x11/gnome/nautilus/distinfo
1.2+1-1x11/gnome/nautilus/patches/patch-src_nautilus-file_c
1.2+1-1x11/gnome/nautilus/patches/patch-src_nautilus-file-utilities_h
1.2+1-1x11/gnome/nautilus/patches/patch-src_nautilus-file-utilities_c
1.80+1-0x11/gnome/nautilus/pkg/PLIST
+14-116 files

OpenBSD/ports UgVVPNqmeta/gnome Makefile

   RDEP on a couple of useful thumbnailers.
VersionDeltaFile
1.304+5-1meta/gnome/Makefile
+5-11 files

OpenBSD/ports IcVKQ4Ex11/gnome Makefile

   +gst-thumbnailers
VersionDeltaFile
1.357+1-0x11/gnome/Makefile
+1-01 files

OpenBSD/ports IUcf18Wx11/gnome/gst-thumbnailers Makefile crates.inc, x11/gnome/gst-thumbnailers/pkg PLIST DESCR

   Import gst-thumbnailers-1.0.0

   GStreamer video and audio file thumbnailer.

   ok robert@
VersionDeltaFile
1.1+258-0x11/gnome/gst-thumbnailers/distinfo
1.1+128-0x11/gnome/gst-thumbnailers/crates.inc
1.1+35-0x11/gnome/gst-thumbnailers/Makefile
1.1+5-0x11/gnome/gst-thumbnailers/pkg/PLIST
1.1+1-0x11/gnome/gst-thumbnailers/pkg/DESCR
1.1.1.1+0-0x11/gnome/gst-thumbnailers/pkg/PLIST
+427-04 files not shown
+427-010 files

OpenBSD/ports Dh3kBqkx11/gnome Makefile

   +glycin
VersionDeltaFile
1.356+1-0x11/gnome/Makefile
+1-01 files

OpenBSD/ports no1m1QHx11/gnome/glycin Makefile crates.inc, x11/gnome/glycin/pkg PLIST DESCR

   Initial revision
VersionDeltaFile
1.1+654-0x11/gnome/glycin/distinfo
1.1+326-0x11/gnome/glycin/crates.inc
1.1+40-0x11/gnome/glycin/Makefile
1.1+17-0x11/gnome/glycin/pkg/PLIST
1.1+1-0x11/gnome/glycin/pkg/DESCR
1.1.1.1+0-0x11/gnome/glycin/pkg/PLIST
+1,038-04 files not shown
+1,038-010 files

NetBSD/src iwauO1qshare/man/man4 urtwn.4

   urtwn(4): touch up
VersionDeltaFile
1.20+17-13share/man/man4/urtwn.4
+17-131 files

OpenBSD/ports 2PqWggDgraphics/gdk-pixbuf2 Makefile

   Add comment; no pkg change.
VersionDeltaFile
1.110+5-2graphics/gdk-pixbuf2/Makefile
+5-21 files

LLVM/project 012e06bllvm/test/CodeGen/AArch64 extractvector-of-load.mir, llvm/test/CodeGen/AArch64/GlobalISel icmp-flags.mir fold-global-offsets-target-features.mir

[AArch64][GlobalISel] Update a number of combiner tests to concrete types. NFC (#213522)
DeltaFile
+112-112llvm/test/CodeGen/AArch64/GlobalISel/form-bitfield-extract-from-and.mir
+62-62llvm/test/CodeGen/AArch64/GlobalISel/opt-overlapping-and.mir
+61-61llvm/test/CodeGen/AArch64/GlobalISel/fold-global-offsets.mir
+32-32llvm/test/CodeGen/AArch64/GlobalISel/fold-global-offsets-target-features.mir
+18-18llvm/test/CodeGen/AArch64/GlobalISel/icmp-flags.mir
+14-14llvm/test/CodeGen/AArch64/extractvector-of-load.mir
+299-2995 files not shown
+337-33711 files

FreeBSD/ports 13fe463mail/msmtp Makefile distinfo, mail/msmtp/files patch-src_base64.h

mail/msmtp: update to 1.8.34

 - Update to 1.8.34
 - Remove patch merged upstream
DeltaFile
+0-10mail/msmtp/files/patch-src_base64.h
+3-3mail/msmtp/distinfo
+1-1mail/msmtp/Makefile
+4-143 files

HardenedBSD/ports 13fe463mail/msmtp Makefile distinfo, mail/msmtp/files patch-src_base64.h

mail/msmtp: update to 1.8.34

 - Update to 1.8.34
 - Remove patch merged upstream
DeltaFile
+0-10mail/msmtp/files/patch-src_base64.h
+3-3mail/msmtp/distinfo
+1-1mail/msmtp/Makefile
+4-143 files

LLVM/project a3da102libc CMakeLists.txt, libc/cmake/caches gpu.cmake

[libc] Use llvm-link approach to create libc bitcode library for GPU targets (#210662)
DeltaFile
+35-30libc/cmake/modules/LLVMLibCLibraryRules.cmake
+6-8libc/startup/gpu/CMakeLists.txt
+4-0libc/CMakeLists.txt
+3-0llvm/runtimes/CMakeLists.txt
+1-1libc/lib/CMakeLists.txt
+1-1libc/cmake/caches/gpu.cmake
+50-406 files

LLVM/project 45e4b0ellvm/lib/CodeGen/GlobalISel CallLowering.cpp, llvm/test/CodeGen/AArch64/GlobalISel ret-vec-promote.ll vec-param.ll

[AArch64][GlobalISel] Update extended scalar type to integer. (#213457)

This updates a number of scalar types in CallLowering to use integer.
DeltaFile
+44-44llvm/test/CodeGen/AArch64/GlobalISel/vec-param.ll
+8-8llvm/test/CodeGen/AArch64/GlobalISel/ret-vec-promote.ll
+6-6llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
+4-4llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.v2i65.ll
+4-4llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
+2-2llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.v2i65.ll
+68-686 files