FreeBSD/src ad8f475 — sys/kern link_elf.c

link_elf: bounds-check the DT_HASH offset

parse_dynamic() builds the symbol hash table at ef->address + d_ptr
without checking that d_ptr lies within the mapped image, so a crafted
DT_HASH entry causes an out-of-bounds read of the hash header.  Reject
the object with ENOEXEC when the header does not fit in the image.

Reviewed by:    kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D61323
DeltaFile
+8-1sys/kern/link_elf.c
+8-11 files

FreeBSD/src 4b1963d — sys/kern link_elf_obj.c

link_elf_obj: validate section name offsets

A section name offset (sh_name) indexes the section name string table
without being checked against shstrcnt, and the result is passed to
strcmp(), so a corrupt object causes an out-of-bounds read.  Check that
the table is NUL-terminated and that every sh_name lies within it, in
both the preload and file paths, and reject the object with ENOEXEC.

Reviewed by:    kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D61338
DeltaFile
+27-0sys/kern/link_elf_obj.c
+27-01 files

FreeBSD/src 4e2c284 — sys/kern link_elf_obj.c

link_elf_obj: validate symbol name offsets

A symbol name offset (st_name) indexes the string table in several
places without being checked against ddbstrcnt, so a corrupt object
causes an out-of-bounds read.  Check that the string table is
NUL-terminated and that every st_name lies within it, in both the
preload and file paths, and reject the object with ENOEXEC.

Reviewed by:    kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D61322
DeltaFile
+25-0sys/kern/link_elf_obj.c
+25-01 files

FreeBSD/src f068327 — sys/kern link_elf_obj.c

link_elf_obj: bounds-check e_shstrndx in link_elf_load_file()

e_shstrndx is used to index the section header array after only being
checked against zero, so a malformed object can make the linker read up
to about 64K entries past the end of shdr[].  Reject such a file with
ENOEXEC, as link_elf_link_preload() already does.

Reported by:    llm-postcr
Reviewed by:    kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D61321
DeltaFile
+6-0sys/kern/link_elf_obj.c
+6-01 files

LLVM/project 00f4ec3 — mlir/lib/Dialect/XeGPU/Transforms XeGPULayoutImpl.cpp, mlir/test/Dialect/XeGPU propagate-layout-subgroup-invalid.mlir propagate-layout-subgroup.mlir

[mlir][XeGPU] Retry smaller inst_data when picking subgroup layouts (#239888)

Subgroup layout propagation always used the largest hardware block as
`inst_data`. When each subgroup's tile is smaller than that block, no
layout was found and propagation failed. For example, `64x16xf32` over
32 subgroups gives each subgroup `2x16`, which is smaller than the
`8x16` block.

This PR retries with smaller blocks until a subgroup layout fits:
- store_nd / prefetch_nd: try smaller block sizes.
- dpas / dpas_mx: try smaller M.

The largest block is still tried first, so existing results don't
change.

assisted-by-claude

---------

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+104-36mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+44-0mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
+0-15mlir/test/Dialect/XeGPU/propagate-layout-subgroup-invalid.mlir
+148-513 files

LLVM/project 7636b8a — llvm/include/llvm/MC MCTargetOptions.h MCMachObjectWriter.h, llvm/lib/MC MCToolOptions.td MCAsmInfoDarwin.cpp

[MC][MachO] Add an option to relocate cross-section offsets in DWARF (#239793)

Mach-O objects store references from one DWARF section into another as
bare offsets rather than relocations. For comparison in ELF, DWARF
references are relocations against sections that start at address 0.

Because of this Mach-O DWARF sections cannot be concatenated by tools
such as ld -r. However, this would be useful for some niche use-cases
such as doing an incremental (ld -r) link and then creating a static
archive that is then distributed to another machine.

This patch adds MCTargetOptions::MachORelocatableDwarf and a
-macho-relocatable-dwarf flag, which sets
DwarfUsesRelocationsAcrossSections for Darwin targets. When it is set,
every __DWARF section is also assigned address 0, like in ELF.

Assisted-by: Claude
DeltaFile
+57-0llvm/test/MC/MachO/AArch64/relocatable-dwarf.s
+25-11llvm/lib/MC/MachObjectWriter.cpp
+3-4llvm/include/llvm/MC/MCMachObjectWriter.h
+2-1llvm/lib/MC/MCAsmInfoDarwin.cpp
+3-0llvm/include/llvm/MC/MCTargetOptions.h
+2-0llvm/lib/MC/MCToolOptions.td
+92-161 files not shown
+93-167 files

LLVM/project 8a4be9e — clang/lib/CIR/CodeGen CIRGenModule.cpp, clang/test/CIR/CodeGen named-module-available-externally-skip.cppm

[CIR] Address reviewer feedback

Assisted-by: Cursor / Claude Opus 5.5
DeltaFile
+0-112clang/test/CIR/CodeGen/named-module-available-externally-skip.cppm
+29-0clang/test/CodeGenCXX/module-funcs-from-imports.cppm
+15-6clang/lib/CIR/CodeGen/CIRGenModule.cpp
+44-1183 files

GhostBSD/ports 57f5cdc — sysutils/bsdisks/files patch-objectmanager.cpp patch-drive.h

sysutils/bsdisks: refresh TimeMediaDetected on media change

TimeMediaDetected was only set when the drive appeared, so a card
inserted into a card reader that was already plugged in, or a disc
inserted into an optical drive, got a stale time and gvfs would not
automount it. Update it on devd MEDIACHANGE and send
PropertiesChanged so gvfs picks up the new value.

Use read-only accessors for TimeDetected and TimeMediaDetected,
matching the other Drive properties.
DeltaFile
+34-3sysutils/bsdisks/files/patch-drive.cpp
+9-4sysutils/bsdisks/files/patch-drive.h
+12-0sysutils/bsdisks/files/patch-objectmanager.cpp
+55-73 files

LLVM/project c30bc0d — llvm/test/tools/llvm-strings negative-char.test locale.test

Revert "[test][llvm-strings] Use printf for interpreting octal of echo -e" (#240613)

Reverts llvm/llvm-project#240529

Apparently this breaks things for z/OS. Not that it's easy to tell given
there's no upstream CI for z/OS as far as I can tell.

Co-authored-by: Jackson Stogel <jtstogel at gmail.com>
DeltaFile
+8-8llvm/test/tools/llvm-strings/encoding.test
+3-3llvm/test/tools/llvm-strings/locale.test
+3-3llvm/test/tools/llvm-strings/length.test
+1-1llvm/test/tools/llvm-strings/negative-char.test
+15-154 files

LLVM/project 4f031f3 — llvm/test/tools/llvm-strings negative-char.test locale.test

Revert "[test][llvm-strings] Use printf for interpreting octal of echo -e (#2…"

This reverts commit 55122cbdf14dfd7e81f830f424f06c4ef7fb4c4d.
DeltaFile
+8-8llvm/test/tools/llvm-strings/encoding.test
+3-3llvm/test/tools/llvm-strings/locale.test
+3-3llvm/test/tools/llvm-strings/length.test
+1-1llvm/test/tools/llvm-strings/negative-char.test
+15-154 files

LLVM/project eb476fc — llvm/lib/Target/SystemZ SystemZISelLowering.h SystemZISelLowering.cpp, llvm/test/CodeGen/SystemZ atomicrmw-xchg-02.ll

SystemZ: Lower sub-word atomicrmw during type legalization (#238532)

Produce the ATOMIC_LOADW_* nodes when replacing the illegal i8/i16
results, instead of custom lowering the promoted node later. This
removes the no-op custom type legalization case.

Constants are now any-extended, so one test materializes an immediate
with llill instead of lhi.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+43-54llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
+2-2llvm/lib/Target/SystemZ/SystemZISelLowering.h
+1-1llvm/test/CodeGen/SystemZ/atomicrmw-xchg-02.ll
+46-573 files

FreeBSD/src 8686152 — sys/netpfil/ipfilter/netinet ip_nat.c

ipfilter: Remove erroneous ntohs()

The original commit was wrong.  ipf_nat_builddivertmp() builds the UDP
template with the length in host byte order

M_DUP() copies that value unchanged. The old code was therefore correct.
It added fin_plen in host order and then did a single htons().

The original patch was discussed with Co-Pilot, which pointed out the
original bug. claude-opus-5-5 discovered the ntohs() error that
co-pilot suggested.

Interestingly this code had been running here for a couple of months.

Reported by:    llm-postcr
Fixes:          72cc9e3766f4
DeltaFile
+0-1sys/netpfil/ipfilter/netinet/ip_nat.c
+0-11 files

LLVM/project 5286aa0 — llvm/lib/Transforms/Vectorize VPlanLowering.cpp VPlanTransforms.h, llvm/test/Transforms/LoopVectorize alias-mask-needs-freeze.ll alias-mask-interleave-groups.ll

[LV] Expand alias-mask pointer bounds after the SCEV checks. (#240556)

materializeAliasMask expanded the diff-check pointer bounds via
VPExpandSCEVRecipes in the entry block, before the SCEV checks. The
bounds come from LAA's SCEVs, which are computed under LAA's predicates
(e.g. versioned strides), so they are only valid if the predicates hold.

For example a bound could become%n /u (%y + 1) after versioning 
%stride == 1, which divides by zero for %y == -1 and %stride != 1, 
while the original loop is well defined.

Expand the bounds directly in the alias-mask check block using
VPSCEVExpander, which is dominated by the SCEV checks.
DeltaFile
+80-3llvm/test/Transforms/LoopVectorize/alias-mask.ll
+9-6llvm/lib/Transforms/Vectorize/VPlanLowering.cpp
+10-5llvm/lib/Transforms/Vectorize/VPlanTransforms.h
+4-4llvm/test/Transforms/LoopVectorize/alias-mask-interleave-groups.ll
+1-1llvm/test/Transforms/LoopVectorize/alias-mask-needs-freeze.ll
+1-1llvm/test/Transforms/LoopVectorize/AArch64/alias-mask.ll
+105-201 files not shown
+106-217 files

LLVM/project c7fcb57 — clang/include/clang/Basic DiagnosticGroups.td DiagnosticSemaKinds.td, clang/lib/Sema SemaStmt.cpp

[Clang][OBT] Diagnose overflow handlers in local class member functions

The overflow handler diagnostics skipped any body finished while another
function scope was active, so that a lambda is diagnosed with its
enclosing function. That also skipped member functions of local classes,
which the enclosing walk does not visit, so they were never diagnosed.
Skip only nested lambdas. A local class member function is a separate
function, so it can warn under -Woverflow-behavior-no-handler but never
under -Woverflow-behavior-unreachable-handler.

Also inline the three single-use diagnostic groups, and use %enum_select
for the lambda or block in -Woverflow-behavior-unreachable-handler.

Signed-off-by: Justin Stitt <justinstitt at google.com>
DeltaFile
+37-0clang/test/SemaCXX/overflow-behavior-handler-warnings.cpp
+26-0clang/test/CodeGenCXX/overflow-behavior-handler.cpp
+11-9clang/lib/Sema/SemaStmt.cpp
+7-5clang/include/clang/Basic/DiagnosticSemaKinds.td
+0-4clang/include/clang/Basic/DiagnosticGroups.td
+81-185 files

LLVM/project b8dc66b — libc/src/__support/fixed_point fx_bits.h

[libc][stdfix][NFC] Use cpp::numeric_limits<T>::digits in divifx (#239900)

Use `cpp::numeric_limits<T>::digits` in `divifx` to count value bits
instead of `sizeof(IntType) * 8 - cpp::is_signed_v<IntType>`.

Also compare `INTERMEDIATE_BITS` against
`cpp::numeric_limits<int64_t>::digits` (63) instead of `64` for signed
types, since `INTERMEDIATE_BITS` excludes the sign bit.

Follows
https://github.com/llvm/llvm-project/pull/235602#issuecomment-6417638445.
DeltaFile
+7-4libc/src/__support/fixed_point/fx_bits.h
+7-41 files

LLVM/project 7e5b09c — libc/shared/math log10p1bf16.h, libc/src/__support/math log10p1bf16.h

[libc][math][c++23] Add log10p1bf16 math function (#235343)

This PR adds the `log10p1bf16` math function to LLVM libc for the
`bfloat16` type. It computes `log10(1 + x)` and handles special cases
like NaN, infinity, zero, and the domain boundary at `x = -1`.

The implementation uses a polynomial approximation for small inputs and
range reduction with a lookup table for other inputs. Special cases are
handled to maintain the expected floating-point behavior, including
exception behavior.

Added unit tests for accuracy, special values, and exception handling,
along with smoke tests. Updated the relevant libc entrypoint lists,
CMake files, and Bazel build files to integrate the function into both
build systems.

Validated the implementation using the available CMake and Bazel build
and test targets.


    [4 lines not shown]
DeltaFile
+174-0libc/src/__support/math/log10p1bf16.h
+98-0libc/test/src/math/smoke/log10p1bf16_test.cpp
+45-0libc/test/src/math/log10p1bf16_test.cpp
+27-0libc/shared/math/log10p1bf16.h
+25-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+25-0libc/src/math/log10p1bf16.h
+394-026 files not shown
+501-132 files

OpenZFS/src 468ad6a — cmd/zdb zdb.c

zdb: borrow only the length read in the --anyraid-map dump

vdev_anyraid_read_map() reads each tile map chunk at its rounded
length, not as a full 16 MiB buffer, but print_anyraid_mapping()
borrows and returns SPA_MAXBLOCKSIZE bytes of each buffer.  Debug
builds abort on 'zdb --anyraid-map -vv' and higher: "VERIFY3U(
abd->abd_size, >=, n) failed (512 >= 16777216)" in abd_borrow_buf().
Borrow and return the size of each buffer.

Also free the two arrays that zdb_print_anyraid_tile_layout()
allocates for its separator lines, which valgrind reports as lost
with any --anyraid-map -v level.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Paul Dagnelie <paul.dagnelie at klarasystems.com>
Signed-off-by: Tigerblue77 <37409593+tigerblue77 at users.noreply.github.com>
Closes #19728
DeltaFile
+8-5cmd/zdb/zdb.c
+8-51 files

OpenZFS/src 1f3ad31 — module/zfs vdev_anyraid.c

anyraid: write the last tile's entries when a map chunk fills

vdev_anyraid_write_map_sync() issues each 16 MiB chunk of the tile map
as soon as an entry fills it, but when that entry belongs to the last
tile it stops and leaves the chunk to the final write.  If the entry
was the skip entry before that tile, or the location of one of its
copies but not the last, the remaining entries of the tile are never
written: once the vdev is opened again, the map has lost that tile or
some of its copies.

Stop only when the entry that filled the chunk is the last one, and
otherwise issue the chunk and go on.  Found from reading, as was the
read of a full last chunk: a chunk holds 4194304 entries, and this was
not reproduced.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Paul Dagnelie <paul.dagnelie at klarasystems.com>
Signed-off-by: Tigerblue77 <37409593+tigerblue77 at users.noreply.github.com>
Closes #19728
DeltaFile
+6-2module/zfs/vdev_anyraid.c
+6-21 files

OpenZFS/src 1662a9d — module/zfs vdev_anyraid.c

anyraid: read a full last map chunk when the map fills it

vdev_anyraid_read_map() takes the length of the last tile map chunk as
map_length % SPA_MAXBLOCKSIZE, which is 0 when the map length is a
multiple of 16 MiB.  That chunk is then read as a single sector while
its checksum covers 16 MiB, so every copy of such a map fails its
checksum and the vdev cannot be opened.

Take the length left in the map, at most SPA_MAXBLOCKSIZE, as the
parsing loop of anyraid_open_existing() already does.  Found
from reading: such a map has about 4 million entries, and this was
not reproduced.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Paul Dagnelie <paul.dagnelie at klarasystems.com>
Signed-off-by: Tigerblue77 <37409593+tigerblue77 at users.noreply.github.com>
Closes #19728
DeltaFile
+3-3module/zfs/vdev_anyraid.c
+3-31 files

OpenZFS/src 372f1c4 — module/zfs vdev_anyraid.c, tests/runfiles common.run

anyraid: write the tile map at the vdev's ashift

map_write_issue() rounds each tile map chunk up to the ashift of the
leaf it writes to, while vdev_anyraid_read_map() reads and checks it
rounded up to the ashift of the anyraid vdev.  When a leaf's ashift is
smaller than the vdev's, the checksum of every map copy covers fewer
bytes than the read, every copy fails it, and the vdev cannot be
opened: the pool cannot be imported again after an export or a
reboot.  This is the case of 512e disks, which report 512-byte logical
and 4 KiB physical sectors, when the pool's ashift is not set: the
vdev takes the physical ashift and its leaves the logical one.  A pool
created with -o ashift=12 is not affected, since zpool then sets that
ashift on every leaf too.

Round the write up to the vdev's ashift, as the read and the map
header already do.  Maps written with mismatched ashifts since
816804dfdd stay unreadable; no release carries that code.

anyraid_import_ashift makes file vdevs report 4 KiB physical sectors

    [7 lines not shown]
DeltaFile
+64-0tests/zfs-tests/tests/functional/anyraid/anyraid_import_ashift.ksh
+2-1module/zfs/vdev_anyraid.c
+1-1tests/runfiles/common.run
+1-0tests/zfs-tests/tests/Makefile.am
+68-24 files

NetBSD/pkgsrc joqDaOU — doc CHANGES-2026

   doc: Added cross/mingw-w64-i686-headers-crtdll version 14.0.0
VersionDeltaFile
1.7882+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc V1YtzO7 — doc CHANGES-2026

   doc: Added cross/mingw-w64-i686-gcc-crtdll version 14.2.0
VersionDeltaFile
1.7881+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc KWhCXQV — doc CHANGES-2026

   doc: Added cross/mingw-w64-i686-gcc-bootstrap-crtdll version 14.2.0
VersionDeltaFile
1.7880+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc ArmCcKg — doc CHANGES-2026

   doc: Added cross/mingw-w64-i686-crt-crtdll version 14.0.0
VersionDeltaFile
1.7879+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc iOUph1o — cross/mingw-w64-i686-crt-crtdll PLIST, cross/mingw-w64-i686-gcc-bootstrap-crtdll PLIST

   Add cross/mingw-w64-i686-*-crtdll

   This allows compiling for Win32s / Win95 without msvcrt. However, C++
   requires the _w* functions that are only in msvcrt and newer *and*
   require Windows NT, so C++ is disabled for now.
VersionDeltaFile
1.1+1,703-0cross/mingw-w64-i686-headers-crtdll/PLIST
1.1+726-0cross/mingw-w64-i686-gcc-crtdll/PLIST
1.1+675-0cross/mingw-w64-i686-gcc-bootstrap-crtdll/PLIST
1.1+493-0cross/mingw-w64-i686-crt-crtdll/PLIST
1.1+18-0cross/mingw-w64-x86_64-gcc/patches/patch-libgcc_config_i386_gthr-win32.h
1.1+18-0cross/mingw-w64-i686-gcc-crtdll/Makefile
+3,633-013 files not shown
+3,753-319 files

FreeBSD/poudriere 14c90f4 — src/share/poudriere common.sh

Merge pull request #1398 from svmhdvn/push-mxytqvwlmrvu

common: jail_runs: check for running jails with any ports/set
DeltaFile
+1-1src/share/poudriere/common.sh
+1-11 files

OpenZFS/src dfaf112 — scripts Makefile.am

build: skip script installation hook without userspace

The common.sh install hook runs even when CONFIG_USER is disabled.
With --with-config=kernel, no scripts create its destination directory,
so the shell redirection fails and make ignores the error.

Guard the hook with CONFIG_USER, like the scripts that use common.sh.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Giuseppe Piscitelli <ooonea at gmail.com>
Assisted-by: OpenAI Codex
Closes #19760
DeltaFile
+2-0scripts/Makefile.am
+2-01 files

FreeBSD/poudriere 2ac7984 — src/share/poudriere common.sh

common: jail_runs: check for running jails with any ports/set
DeltaFile
+1-1src/share/poudriere/common.sh
+1-11 files

OpenZFS/src df06292 — include/os/freebsd/spl/sys isa_defs.h, lib/libefi rdwr_efi.c

libspl: remove unused Solaris disk headers

We only use a few things in a single source file, so just move them
there and delete the rest.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #19785
DeltaFile
+0-474lib/libspl/include/sys/dkio.h
+0-257lib/libspl/include/sys/dklabel.h
+0-164lib/libspl/include/sys/dktp/fdisk.h
+81-2lib/libefi/rdwr_efi.c
+0-31include/os/freebsd/spl/sys/isa_defs.h
+0-14lib/libspl/include/sys/isa_defs.h
+81-9424 files not shown
+81-95810 files

LLVM/project 55122cb — llvm/test/tools/llvm-strings negative-char.test locale.test

[test][llvm-strings] Use printf for interpreting octal of echo -e (#240529)

`echo -e` may not interpret `\NNN` as octal with certain system shells.

LLVM-lit uses its internal shell by default now

(https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179),
so it's perfectly fine and correct to rely system-dependent behavior.
However, some downstream consumers (Google) are still migrating to use
the internal shell. Given that s/echo/printf/g is minor, sending this PR
for broader compatibility in the meantime. Happy to revert if there is
an objection to making changes like this during lit internal shell
migration.
DeltaFile
+8-8llvm/test/tools/llvm-strings/encoding.test
+3-3llvm/test/tools/llvm-strings/locale.test
+3-3llvm/test/tools/llvm-strings/length.test
+1-1llvm/test/tools/llvm-strings/negative-char.test
+15-154 files