LLVM/project f7e87c3 — llvm/lib/Target/RISCV/GISel RISCVLegalizerInfo.cpp, llvm/test/CodeGen/RISCV/GlobalISel half-fcmp.ll

[RISCV][GlobalISel] Promote f16 to f32 for G_FCMP without Zfh (#231097)

Without Zfh, G_FCMP with f16 operands had no matching legalization rule,
so GlobalISel failed to legalize it.
This commit widen the operands to f32 instead, matching SelectionDAG,
which promotes f16 SETCC when Zfh is not available.

Godbolt link: https://godbolt.org/z/Y9P7Yqa8d
DeltaFile
+341-0llvm/test/CodeGen/RISCV/GlobalISel/half-fcmp.ll
+1-0llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
+342-02 files

LLVM/project 106392e — llvm/lib/Target/RISCV/GISel RISCVLegalizerInfo.cpp, llvm/test/CodeGen/RISCV/GlobalISel half-imm.ll

[RISCV][GlobalISel] Use Zfhmin for G_FCONSTANT s16 (#230723)

`fmv.h.x` is available with Zfhmin, and the selector already
materializes f16 constants through a GPR and `fmv.h.x`. SelectionDAG
handles f16 constants with Zfhmin, but GlobalISel would abort because
G_FCONSTANT s16 was only legal with Zfh.

SelectionDAG: https://godbolt.org/z/coMc7j3x9
GlobalISel: https://godbolt.org/z/MqzdG1r4v
DeltaFile
+46-0llvm/test/CodeGen/RISCV/GlobalISel/half-imm.ll
+1-1llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
+47-12 files

LLVM/project fc7cdf2 — llvm/lib/Target/RISCV/GISel RISCVLegalizerInfo.cpp, llvm/test/CodeGen/RISCV/GlobalISel half-convert.ll

[RISCV][GlobalISel] Use Zfhmin for G_FPEXT from f16 to f64 (#230721)

From SPEC: If the D extension is present, the fcvt.d.h and fcvt.h.d
instructions are also included.

Link:
https://github.com/riscv/riscv-isa-manual/blob/1b9ca13819259df4b3bc87a7d7dcda06dd2fb6a9/src/unpriv/zfhmin.adoc?plain=1#L14-L17

Follow up of https://github.com/llvm/llvm-project/pull/227225
DeltaFile
+42-0llvm/test/CodeGen/RISCV/GlobalISel/half-convert.ll
+2-1llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
+44-12 files

FreeBSD/ports 440a623 — security/vuxml/vuln 2026.xml

security/vuxml: Document DSA sig vuln in pycryptodome(x) < 3.24.1

Sponsored by: Saltant Solutions LLC
DeltaFile
+49-0security/vuxml/vuln/2026.xml
+49-01 files

OpenBSD/ports 6saScbj — games/scummvm Makefile distinfo, games/scummvm/patches patch-configure

   update to scummvm 2026.4.0
VersionDeltaFile
1.27+7-0games/scummvm/pkg/PLIST
1.34+2-2games/scummvm/patches/patch-configure
1.52+2-2games/scummvm/distinfo
1.111+1-1games/scummvm/Makefile
+12-54 files

FreeBSD/ports 1527e33 — net/freerdp3 pkg-plist distinfo

net/freerdp3: Update 3.32.1 => 3.32.2

Changelog:
https://github.com/FreeRDP/FreeRDP/releases/tag/3.32.2
https://github.com/FreeRDP/FreeRDP/blob/3.32.2/ChangeLog

Security:       GHSA-4g67-jhpc-q5xp
Security:       GHSA-799q-hjgw-g55g
Security:       GHSA-cg4f-57hc-v7w7
Security:       GHSA-rrp5-666j-g6gp
Security:       GHSA-wg7g-gx9g-r96c
Security:       GHSA-f53w-3364-jr35
Security:       GHSA-66mr-7wc7-23vc
Security:       GHSA-hqf8-95c7-6r92
Security:       GHSA-8g9g-hqqp-fw69
Security:       GHSA-jq25-3374-4262
Security:       GHSA-7qw2-8h66-pvpw
Security:       GHSA-5j39-x36c-x9pm
Security:       GHSA-6p3w-fv52-cf24

    [36 lines not shown]
DeltaFile
+14-18net/freerdp3/Makefile
+3-11net/freerdp3/distinfo
+2-0net/freerdp3/pkg-plist
+19-293 files

LLVM/project eb883e1 — llvm/lib/Transforms/InstCombine InstCombineSelect.cpp, llvm/test/Transforms/InstCombine select-and-cmp.ll select-or-cmp.ll

[InstCombine] Fix profiles in FoldSelectWithAndOrCond (#231327)

3b38314a2b69847305b692677dbe64f1eb43235a also incorrectly applied branch
weights. The fact that the true and false arms have the same value says
little about the value distribution of the condition. For example, if we
take the following case:

```llvm
%A = icmp ne i32 %x, %z
%B = icmp eq i32 %y, %z
%C = and i1 %A, %B
%D = select i1 %C, i32 %z, i32 %x, !prof !1
ret i32 %D
```

which LLVM folds to

```llvm
%B = icmp eq i32 %y, %z

    [9 lines not shown]
DeltaFile
+14-19llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+13-6llvm/test/Transforms/InstCombine/select-factorize.ll
+2-3llvm/test/Transforms/InstCombine/select-or-cmp.ll
+1-1llvm/test/Transforms/InstCombine/select-and-cmp.ll
+0-1llvm/utils/profcheck-xfail.txt
+30-305 files

FreeBSD/ports 3a3ea9a — net/freerdp3 pkg-plist distinfo

net/freerdp3: Update 3.32.1 => 3.32.2

Changelog:
https://github.com/FreeRDP/FreeRDP/releases/tag/3.32.2
https://github.com/FreeRDP/FreeRDP/blob/3.32.2/ChangeLog

Security:       GHSA-4g67-jhpc-q5xp
Security:       GHSA-799q-hjgw-g55g
Security:       GHSA-cg4f-57hc-v7w7
Security:       GHSA-rrp5-666j-g6gp
Security:       GHSA-wg7g-gx9g-r96c
Security:       GHSA-f53w-3364-jr35
Security:       GHSA-66mr-7wc7-23vc
Security:       GHSA-hqf8-95c7-6r92
Security:       GHSA-8g9g-hqqp-fw69
Security:       GHSA-jq25-3374-4262
Security:       GHSA-7qw2-8h66-pvpw
Security:       GHSA-5j39-x36c-x9pm
Security:       GHSA-6p3w-fv52-cf24

    [34 lines not shown]
DeltaFile
+14-18net/freerdp3/Makefile
+3-11net/freerdp3/distinfo
+2-0net/freerdp3/pkg-plist
+19-293 files

LLVM/project 0b906b4 — llvm/include/llvm/ExecutionEngine/JITLink aarch64.h, llvm/test/ExecutionEngine/JITLink/AArch64 ELF_branch_addends.s

[JITLink][AArch64] Preserve destination addends on external branches (#231231)

Currently, an external branch such as `b target + addend` is incorrectly
redirected to `stub + addend` instead of `target + addend`. With an
addend of 4, for example, this skips the `adrp` in the stub's `adrp +
ldr + br` sequence, leaving `x16` without the expected page address,
which may cause a segmentation fault.

Reproducer on AArch64:
```asm
// caller.s
.text
.p2align 2
.globl main
main:
    mov x16, #0     // Make the skipped adrp expose the bug.
    b target + 4
```
```asm

    [24 lines not shown]
DeltaFile
+37-0llvm/test/ExecutionEngine/JITLink/AArch64/ELF_branch_addends.s
+4-1llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
+41-12 files

FreeBSD/src 1ca7f66 — usr.bin/ncal ncal.c, usr.bin/ncal/tests regress.se-r-jd-171202-nhl.out regress.se-r-jd-170003-nhl.out

ncal(1): handle Sweden's transitional calendar (1700-1712)

Sweden used a unique intermediate calendar during 1700-1712.  In 1700,
Sweden omitted the Julian leap day (Feb 29, 1700) to begin a gradual
transition to the Gregorian calendar.  The transition was abandoned
mid-way due to the Great Northern War; to revert to the Julian calendar,
an extra day "Feb 30, 1712" was added.  Sweden finally adopted the
Gregorian calendar in 1753 (already handled correctly by ncal).

ncal previously displayed Feb 1700 as a 29-day month and Feb 1712 as a
29-day month, both incorrect for the Swedish (-s SE) calendar mode.

Add flag_sweden, which is set when the SE country code is selected (via
-s SE or the locale) and cleared by -J, since -J selects the plain
Julian calendar.  When active, sndaysr() and sdater() apply the one-day
offset that characterised the Swedish transitional calendar:

  - Feb 1700: displayed with 28 days (no leap day)
  - 1700-03-01 to 1712-02-30: dates run one day ahead of Julian, so

    [15 lines not shown]
DeltaFile
+36-0usr.bin/ncal/tests/ncal_test.sh
+24-0usr.bin/ncal/ncal.c
+8-0usr.bin/ncal/tests/regress.se-r-jd-171202-nhl.out
+8-0usr.bin/ncal/tests/regress.se-r-jd-170003-nhl.out
+8-0usr.bin/ncal/tests/regress.se-r-3-1712-nhl.out
+8-0usr.bin/ncal/tests/regress.se-r-3-1700-nhl.out
+92-02 files not shown
+105-08 files

LLVM/project c951fe6 — compiler-rt/lib/asan asan_report.cpp asan_errors.cpp, compiler-rt/test/asan/TestCases assume_dereferenceable_halt_on_error.cpp assume_dereferenceable_pass.cpp

Reland "[compiler-rt][asan] Add asan checks for __builtin_assume_dereferencable" (#224163)

This relands commit bf8cf4b7b31b956ea4dfec93b0b4d77b359b188b (#190871),
which was reverted in commit e3b3706ceeea94ade3557275628a0e589e10ba24
(#193655).

This checks that the range covered by this intrinsic is dereferenceable.
Specifically it checks for `llvm.assume` intrinsics using the
`dereferenceable` operator bundle and asserts that the shadow for this
range is zero.

Fixes included in this reland:
1. Darwin Stable ABI: Added `__asan_report_assume_dereferenceable` and
`__asan_report_assume_dereferenceable_noabort` to `asan_abi_tbd.txt` to
resolve the interface symbols diff failure in
llvm_interface_symbols.cpp.
2. MSVC Support: Added `UNSUPPORTED: msvc` to the new
`assume_dereferenceable*.cpp` tests, as
`__builtin_assume_dereferenceable` is a Clang builtin not supported by

    [7 lines not shown]
DeltaFile
+90-0compiler-rt/test/asan/TestCases/assume_dereferenceable.cpp
+30-8compiler-rt/lib/asan/asan_errors.cpp
+37-0llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
+36-0compiler-rt/test/asan/TestCases/assume_dereferenceable_pass.cpp
+23-4compiler-rt/lib/asan/asan_report.cpp
+23-0compiler-rt/test/asan/TestCases/assume_dereferenceable_halt_on_error.cpp
+239-1211 files not shown
+322-2017 files

OpenBSD/src uJv0BTj — sys/dev/pci files.pci if_rge.c

   Add RX queues/RSS/TSO support and update microcode for RTL8127.

   On the RTL8127, the RX and TX descriptors use the 16-byte format
   instead of the 32-byte one.
VersionDeltaFile
1.18+1,644-649sys/dev/pci/if_rgereg.h
1.46+879-303sys/dev/pci/if_rge.c
1.373+2-2sys/dev/pci/files.pci
+2,525-9543 files

LLVM/project b4aba96 — llvm/utils profcheck-xfail.txt

[ProfCheck] Update XFAIL list (#231328)

This test was apparently fixed by other patches.
DeltaFile
+0-1llvm/utils/profcheck-xfail.txt
+0-11 files

OpenZFS/src b060bcb — module/zfs zio.c, tests/runfiles common.run

zio: drop a queued scan read only when its block is freed

zio_free_sync() tells the scan that a block is freed before it knows
whether the space will be released. A dedup or cloned block with other
references is only dereferenced, but the scan still removes its queued
read. The sorted scan queue holds one read per location, so the block's
remaining references are never verified or repaired: a scrub reports
nothing and a resilver can leave the block missing on the new device.

Notify the scan where the space is actually released: in zio_free_sync()
just before an immediate free, which also receives a dedup block's last
free from ddt_phys_free(), and in zio_dva_free(), which cloned and gang
blocks reach once they are no longer referenced.

The regression verifies physical sharing, forces sorted scanning, and
bounds in-flight I/O so the shared block remains queued behind a larger
file after traversal. Removing one reference must leave the other file
readable from the replacement alone.


    [2 lines not shown]
DeltaFile
+133-0tests/zfs-tests/tests/functional/block_cloning/block_cloning_resilver_free.ksh
+6-1module/zfs/zio.c
+1-1tests/runfiles/common.run
+2-0tests/zfs-tests/include/tunables.cfg
+1-0tests/zfs-tests/tests/Makefile.am
+143-25 files

HardenedBSD/src 14a8334 — sys/arm64/arm64 identcpu.c pmap.c, sys/arm64/include cpu.h

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/pledge
DeltaFile
+25-33sys/net/iflib.c
+20-3sys/kern/kern_rmlock.c
+11-6sys/arm64/include/cpu.h
+2-2sys/arm64/arm64/pmap.c
+0-2sys/sys/mbuf.h
+1-1sys/arm64/arm64/identcpu.c
+59-476 files

HardenedBSD/src deced32 — sys/powerpc/powerpc trap.c exec_machdep.c

Merge remote-tracking branch 'rad/hardened/15-stable/main' into hardened/15-stable/pledge
DeltaFile
+7-1sys/powerpc/powerpc/exec_machdep.c
+6-0sys/powerpc/powerpc/trap.c
+13-12 files

HardenedBSD/src 4197322 — sys/arm64/arm64 identcpu.c pmap.c, sys/arm64/include cpu.h

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+25-33sys/net/iflib.c
+20-3sys/kern/kern_rmlock.c
+11-6sys/arm64/include/cpu.h
+2-2sys/arm64/arm64/pmap.c
+0-2sys/sys/mbuf.h
+1-1sys/arm64/arm64/identcpu.c
+59-476 files

HardenedBSD/src c31cb44 — sys/powerpc/powerpc trap.c exec_machdep.c

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+7-1sys/powerpc/powerpc/exec_machdep.c
+6-0sys/powerpc/powerpc/trap.c
+13-12 files

LLVM/project 161eb9f — llvm/test/Transforms/InstCombine ctpop.ll

Add vector test
DeltaFile
+15-0llvm/test/Transforms/InstCombine/ctpop.ll
+15-01 files

HardenedBSD/ports 0de714b — databases/mysql267-server Makefile pkg-plist, databases/mysql267-server/files patch-sql_rpl__log__encryption.cc patch-storage_innobase_ut_crc32.cc

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+327-0databases/mysql267-server/pkg-plist
+77-87www/fmd-server/distinfo
+157-0databases/mysql267-server/Makefile
+151-0databases/mysql267-server/files/patch-storage_innobase_ut_crc32.cc
+134-0databases/mysql267-server/files/patch-sql_rpl__log__encryption.cc
+105-24net-mgmt/icingaweb2-module-director/pkg-plist
+951-111108 files not shown
+3,023-269114 files

NetBSD/pkgsrc-wip aff8166 — fresh Makefile COMMIT_MSG

Update editors/fresh to v.0.5.3
DeltaFile
+3-3fresh/distinfo
+1-1fresh/Makefile
+1-1fresh/COMMIT_MSG
+5-53 files

OpenBSD/src mJ4tgoV — usr.sbin/npppd/pppoe pppoed.c

   Fix TLV handling which lacks the check length checks for padding.
   This could out-of-bounds memory write, stack disclosure, and SIGSEGV.

   Reported and fix provided by Franz Bettag
VersionDeltaFile
1.27+11-3usr.sbin/npppd/pppoe/pppoed.c
+11-31 files

LLVM/project 7466db2 — llvm/lib/Transforms/InstCombine InstCombineAddSub.cpp, llvm/test/Transforms/InstCombine ctpop.ll

[InstCombine] Fold trunc(ctpop(A)) + trunc(ctpop(B)) -> trunc(ctpop(A) + ctpop(B))

This allows the combine added in #231321 to kick in and fold the motivating ctpop case in automotive-bitcount:

```c
static char bits[256] = {0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8};

int CDECL ntbl_bitcount(long int x)
{
      return
            bits[ (int) (x & 0x0000000FUL)       ] +
            bits[ (int)((x & 0x000000F0UL) >> 4) ] +
            bits[ (int)((x & 0x00000F00UL) >> 8) ] +
            bits[ (int)((x & 0x0000F000UL) >> 12)] +
            bits[ (int)((x & 0x000F0000UL) >> 16)] +
            bits[ (int)((x & 0x00F00000UL) >> 20)] +
            bits[ (int)((x & 0x0F000000UL) >> 24)] +
            bits[ (int)((x & 0xF0000000UL) >> 28)];
}
```
DeltaFile
+5-13llvm/test/Transforms/InstCombine/ctpop.ll
+6-0llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
+11-132 files

LLVM/project c858152 — llvm/test/Transforms/InstCombine ctpop.ll

Precommit tests
DeltaFile
+17-0llvm/test/Transforms/InstCombine/ctpop.ll
+17-01 files

LLVM/project ffdc919 — lldb/docs/resources lldbgdbremote.md, lldb/include/lldb/Utility AcceleratorGDBRemotePackets.h

[lldb] Add jLLDBSettings remote packet (#229179)

## Summary

Add the negotiated `jLLDBSettings` packet for LLDB-specific settings on
a GDB-remote connection. The initial fields are:

- `dyld_plugin_name`: dynamic-loader plugin LLDB should use.
- `accelerator_plugin_name`: identifies the server-side accelerator
plugin.
- `send_dyld_packet_to_accelerator`: selects the accelerator or native
connection for dynamic-loader queries.

The object can be extended with additional settings. LLDB only sends the
packet when the server advertises `lldb-settings+`; servers that do not
advertise it retain existing behavior.

This is the protocol foundation for #217393.


    [4 lines not shown]
DeltaFile
+44-0lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
+40-0lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
+37-0lldb/docs/resources/lldbgdbremote.md
+22-0lldb/unittests/Utility/AcceleratorGDBRemotePacketsTest.cpp
+17-0lldb/include/lldb/Utility/AcceleratorGDBRemotePackets.h
+16-0lldb/source/Utility/AcceleratorGDBRemotePackets.cpp
+176-03 files not shown
+187-09 files

FreeBSD/ports 25cd6b3 — net/norm distinfo Makefile

net/norm: use upstream divert(4) patch to make it working on modern FreeBSD

This was accepted upstream to the protolib and added to the port in
ab6be4dbf3bb.  Recently the patching was silently deleted in 5963119a132c.
The update of norm to 1.5.9 did not update the bundled dependency protolib
to a version that includes ba9ca1ca7d73592268ebfd5a43271303e76f461e,
instead it tied protolib to an older version.

Fixes:  5963119a132cd71510998f9173c54522a8e56678
DeltaFile
+4-0net/norm/Makefile
+2-0net/norm/distinfo
+6-02 files

HardenedBSD/ports 25cd6b3 — net/norm distinfo Makefile

net/norm: use upstream divert(4) patch to make it working on modern FreeBSD

This was accepted upstream to the protolib and added to the port in
ab6be4dbf3bb.  Recently the patching was silently deleted in 5963119a132c.
The update of norm to 1.5.9 did not update the bundled dependency protolib
to a version that includes ba9ca1ca7d73592268ebfd5a43271303e76f461e,
instead it tied protolib to an older version.

Fixes:  5963119a132cd71510998f9173c54522a8e56678
DeltaFile
+4-0net/norm/Makefile
+2-0net/norm/distinfo
+6-02 files

FreeBSD/ports e35b01d — sysutils/acpica-tools Makefile distinfo

sysutils/acpica-tools: Update to 20260930
DeltaFile
+3-3sysutils/acpica-tools/distinfo
+1-1sysutils/acpica-tools/Makefile
+4-42 files

HardenedBSD/ports e35b01d — sysutils/acpica-tools Makefile distinfo

sysutils/acpica-tools: Update to 20260930
DeltaFile
+3-3sysutils/acpica-tools/distinfo
+1-1sysutils/acpica-tools/Makefile
+4-42 files

LLVM/project 894e6cd — llvm/lib/Target/RISCV RISCVISelLowering.cpp RISCVInstrInfoP.td

[RISCV][P-ext] Remove RISCVISD::PPAIROE_H. NFC (#230356)

This is redundant with RISCVISD::PPAIROE.

Assisted-by: Claude
DeltaFile
+1-8llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+1-1llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+2-92 files