FreeBSD/src 7940130 — lib/libc/gen Symbol.map timespec_getres.3, lib/libc/tests/gen Makefile timespec_getres_test.c

libc: Export timespec_getres(3) and add tests

timespec_getres() has been declared in <time.h> and built into libc,
but never listed in a symbol map.  It is therefore local to libc.so,
and dynamically linked callers fail to link.

Reviewed by:    ziaee, fuz, des
Approved by:    fuz (mentor)
Fixes:          9b5d724cad10 ("libc: Add timespec_getres(3) as per C23.")
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D60799

(cherry picked from commit 3ac9299ee90cc7a6330c560d8c49d5151185f80e)
DeltaFile
+124-0lib/libc/tests/gen/timespec_getres_test.c
+6-2lib/libc/gen/timespec_getres.3
+1-0lib/libc/tests/gen/Makefile
+1-0lib/libc/gen/Symbol.map
+132-24 files

FreeBSD/src 96da671 — lib/libc/gen getcap.c getcap.3

libc: Fix stack buffer overflow in cgetnext()

`cgetnext()` copies a capability record's name field into a fixed
1024 byte on-stack buffer (`nbuf[BSIZE]`) one character at a time,
but never checks that the write pointer stays within the buffer.
Therefore, a record name that is longer than `BSIZE` (either on a
single line, or accumulated across several `\`-continued lines as
the pointer is not reset amidst continuation) writes past the end
of `nbuf` and smashes the stack.

The name field is read directly from the capability file, so any
consumer of `cgetnext()`/`cgetfirst()` that processes an untrusted
`termcap(5)`- or `printcap(5)`-style database (e.g. `cap_mkdb(1)`,
`lpr(1)`, or any third-party caller) can be exposed and hence made
to corrupt the stack.

Reviewed by:    fuz, dteske
Approved by:    fuz (mentor), dteske (mentor)
MFC after:      1 week

    [3 lines not shown]
DeltaFile
+18-2lib/libc/gen/getcap.3
+5-0lib/libc/gen/getcap.c
+23-22 files

LLVM/project b4a3155 — mlir/docs/Rationale SideEffectsAndSpeculation.md

[mlir][docs] Add guidance on "non observable" side effect modeling
DeltaFile
+47-2mlir/docs/Rationale/SideEffectsAndSpeculation.md
+47-21 files

OPNSense/core a58787b — src/opnsense/service/templates/OPNsense/Monit monitrc

monit: wants \0x not \x #11051
DeltaFile
+1-1src/opnsense/service/templates/OPNsense/Monit/monitrc
+1-11 files

LLVM/project b68f5d6 — llvm/lib/Remarks BitstreamRemarkParser.cpp, llvm/unittests/Remarks BitstreamRemarksParsingTest.cpp

[Remarks] Return the error when the bitstream parser cannot enter a block

`BitstreamBlockParserHelperBase::enterBlock` tested the `Error` from `BitstreamCursor::EnterSubBlock` as a boolean and never consumed it. A container that ends right after a block header makes `EnterSubBlock` fail, and a build with `LLVM_ENABLE_ABI_BREAKING_CHECKS` then aborts with "Program aborted due to an unhandled Error" instead of reporting a parse error.

`enterBlock` now returns the error from `EnterSubBlock`, as the other bitstream readers do. The new test cuts a container written by the serializer after every 32-bit word and expects each prefix to fail. Without the fix it aborts in a build with ABI-breaking checks.

Assisted-by: Claude Code (Claude Fable 5.2)
DeltaFile
+28-2llvm/unittests/Remarks/BitstreamRemarksParsingTest.cpp
+1-3llvm/lib/Remarks/BitstreamRemarkParser.cpp
+29-52 files

LLVM/project 4c2a4a9 — llvm/test/CodeGen/Mips/GlobalISel/llvm-ir memset_inline.ll memcpy_inline.ll, llvm/test/CodeGen/RISCV/GlobalISel memset-inline.ll memcpy-inline.ll

[GlobalISel] Halve the bit width when lowering memory operations
DeltaFile
+167-564llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/memcpy_inline.ll
+119-282llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/memset_inline.ll
+40-120llvm/test/CodeGen/RISCV/GlobalISel/memcpy-inline.ll
+79-32llvm/test/CodeGen/RISCV/GlobalISel/memset-inline.ll
+4-14llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-memcpy-inline.mir
+4-10llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-memset-inline.mir
+413-1,0223 files not shown
+420-1,0349 files

LLVM/project 80e855e — llvm/test/CodeGen/Mips/GlobalISel/llvm-ir memset_inline.ll memcpy_inline.ll

[Mips][GlobalISel] Add baseline tests for inline memory operations
DeltaFile
+761-0llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/memcpy_inline.ll
+431-0llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/memset_inline.ll
+1,192-02 files

LLVM/project 71ae235 — llvm/test/CodeGen/RISCV/GlobalISel memset-inline.ll memcpy-inline.ll

[RISCV][GlobalISel] Add baseline tests for aligned inline memory operations
DeltaFile
+208-0llvm/test/CodeGen/RISCV/GlobalISel/memcpy-inline.ll
+56-0llvm/test/CodeGen/RISCV/GlobalISel/memset-inline.ll
+264-02 files

LLVM/project 57806b9 — llvm/lib/Transforms/InstCombine InstCombineCompares.cpp, llvm/test/Transforms/InstCombine load-cmp-wide-bitvector.ll

[InstCombine] Fix miscompile in foldCmpLoadFromIndexedGlobal (#242608)

The index check `i & 8` to delay checking for out-of-bounds (for the bit
vector) indices causes miscompiles when a global larger than 64 elements have
interesting elements between e.g. indices 65 and the next time the condition is
checked, which is 73.

The guard was also slightly incorrect according to its documentation: it'd need
to be `i & 7` instead of `i & 8`.

It was also unnecessary: each iteration does constant evaluation and updates a
state machine represented as 6 variables. 5 integer checks at the end of such a
loop does not make it any more slower than it already is, and in the worst case
causes 7 extra constant evaluations and state machine updates before bailing
out.
DeltaFile
+21-0llvm/test/Transforms/InstCombine/load-cmp-wide-bitvector.ll
+3-4llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
+24-42 files

LLVM/project 7cf5897 — llvm/lib/Remarks BitstreamRemarkParser.h BitstreamRemarkParser.cpp, llvm/unittests/Remarks BitstreamRemarksParsingTest.cpp

[Remarks] Return the error when the bitstream parser cannot enter a block

`BitstreamBlockParserHelperBase::enterBlock` tested the `Error` from `BitstreamCursor::EnterSubBlock` as a boolean and never consumed it. A container that ends right after a block header makes `EnterSubBlock` fail, and a build with `LLVM_ENABLE_ABI_BREAKING_CHECKS` then aborts with "Program aborted due to an unhandled Error" instead of reporting a parse error.

`parseBlock` now calls `EnterSubBlock` itself and returns its error, as the other bitstream readers do. That leaves `enterBlock` without a job, so it is gone. The new test cuts a container written by the serializer after every 32-bit word and expects each prefix to fail. Without the fix it aborts in a build with ABI-breaking checks.

Assisted-by: Claude Code (Claude Fable 5.2)
DeltaFile
+28-2llvm/unittests/Remarks/BitstreamRemarksParsingTest.cpp
+0-6llvm/lib/Remarks/BitstreamRemarkParser.cpp
+1-3llvm/lib/Remarks/BitstreamRemarkParser.h
+29-113 files

LLVM/project c6148f3 — llvm/lib/Remarks BitstreamRemarkParser.cpp, llvm/unittests/Remarks BitstreamRemarksParsingTest.cpp

[Remarks] Reject remarks of type Unknown in the bitstream parser

The bitstream remark parser only rejected type values above `Type::Last`, so a record with type 0, `Type::Unknown`, parsed as a valid remark. Writing such a remark as YAML reaches `llvm_unreachable("Unknown remark type")` in `YAMLRemarkSerializer.cpp`, which is how `llvm-remarkutil bitstream2yaml` crashes on a container with a zeroed type field. The YAML parser already rejects a remark without a type.

Reject type 0 with the existing "Unknown remark type." error. The new test serializes a remark without a type and expects that error.

Assisted-by: Claude Code (Claude Fable 5.2)
DeltaFile
+18-1llvm/unittests/Remarks/BitstreamRemarksParsingTest.cpp
+3-2llvm/lib/Remarks/BitstreamRemarkParser.cpp
+21-32 files

LLVM/project 5f0ab9f — llvm/lib/Target/LoongArch LoongArchMergeBaseOffset.cpp

Make the LU52I.D case look like others
DeltaFile
+2-2llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
+2-21 files

LLVM/project 83915c5 — llvm/lib/IR Verifier.cpp

Verifier: Look up the AMDGPU metadata kinds once (#242573)

visitInstruction looked up two AMDGPU metadata kinds by name for every
instruction. Look up their IDs when constructing the Verifier.

O3 instructions in opt:
consumer-typeset z08.bc -0.34%, kimwitu++ k.bc -0.22%, sqlite3 -0.15%.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+10-3llvm/lib/IR/Verifier.cpp
+10-31 files

LLVM/project 3377a1d — llvm/lib/IR Verifier.cpp

Verifier: Check each metadata attachment of an instruction once (#242574)

visitInstruction looked up about 30 metadata kinds for every
instruction, followed by another getAllMetadata call. Collect the set
once and switch over the kinds.

instructions in opt: consumer-typeset z08.bc -0.94%,
  kimwitu++ k.bc -0.64%, sqlite3 -0.43%, SPASS cnf.bc -0.09%.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+157-166llvm/lib/IR/Verifier.cpp
+157-1661 files

LLVM/project 466ee6f — llvm/lib/Target/AArch64 AArch64TargetMachine.h AArch64TargetMachine.cpp

AArch64: Migrate to LastSubtargetCache in getSubtargetImpl (#242555)

These already reused the last subtarget for functions with the same
function attribute set. Use LastSubtargetCache to additionally filter
to the subtarget relevant attributes and work towards all targets 
using a common pattern.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+29-21llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+17-2llvm/lib/Target/AArch64/AArch64TargetMachine.h
+46-232 files

LLVM/project 8792610 — llvm/lib/Transforms/IPO WholeProgramDevirt.cpp

[WholeProgramDevirt] Do not keep the locally built summary in the pass (#242421)
DeltaFile
+6-5llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
+6-51 files

FreeBSD/ports a667be4 — devel/py-traits Makefile distinfo

devel/py-traits: Update to 7.3.0
DeltaFile
+3-3devel/py-traits/distinfo
+1-2devel/py-traits/Makefile
+4-52 files

FreeBSD/ports 12c197b — math/R-cran-maxLik Makefile distinfo

math/R-cran-maxLik: Update to 1.6.10
DeltaFile
+3-3math/R-cran-maxLik/distinfo
+1-1math/R-cran-maxLik/Makefile
+4-42 files

FreeBSD/ports 8e86142 — math/R-cran-sp Makefile distinfo

math/R-cran-sp: Update to 2.2.4
DeltaFile
+3-3math/R-cran-sp/distinfo
+1-1math/R-cran-sp/Makefile
+4-42 files

FreeBSD/ports 7b29c55 — math/R-cran-MatchIt Makefile distinfo

math/R-cran-MatchIt: Update to 4.8.2
DeltaFile
+3-3math/R-cran-MatchIt/distinfo
+1-2math/R-cran-MatchIt/Makefile
+4-52 files

FreeBSD/ports c676084 — science/py-morphio Makefile distinfo

science/py-morphio: Update to 3.5.1
DeltaFile
+3-3science/py-morphio/distinfo
+1-1science/py-morphio/Makefile
+4-42 files

FreeBSD/ports 43a9f33 — astro/mepo distinfo Makefile

astro/mepo: Update to 1.4.0

Uses my Zig update maintenance fork to update the codebase for 0.17.

PR:             299269
Approved by:    arrowd (co-mentor)
DeltaFile
+6-4astro/mepo/Makefile
+3-3astro/mepo/distinfo
+9-72 files

FreeBSD/ports 70f7eee — x11/ly Makefile pkg-plist, x11/ly/files patch-build.zig

x11/ly: Update to 1.5.0

PR:             299269
Approved by:    arrowd (co-mentor)
DeltaFile
+33-15x11/ly/distinfo
+15-6x11/ly/Makefile.zig
+11-0x11/ly/files/patch-build.zig
+1-1x11/ly/Makefile
+2-0x11/ly/pkg-plist
+62-225 files

FreeBSD/ports 124f18c — x11-wm/river Makefile

x11-wm/river: Change to lang/zig016

PR:             299269
Approved by:    siva (maintainer)
Approved by:    arrowd (co-mentor)
DeltaFile
+1-1x11-wm/river/Makefile
+1-11 files

FreeBSD/ports e38b8d4 — www/zine-ssg Makefile.zig distinfo, www/zine-ssg/files patch-zig-packages_translate__c-0.0.0-Q__BUWjQ7BwAhlMt3Zf4l3Jw-y0__TOpJWgcK8rk4d0aWv_src_Translator.zig patch-build.zig

www/zine-ssg: Update to 0.14.0 and latest zig

PR:             299269
Approved by:    arrowd (co-mentor)
DeltaFile
+41-45www/zine-ssg/distinfo
+54-0www/zine-ssg/files/patch-zine-0.14.0_build.zig
+53-0www/zine-ssg/files/patch-zig-packages_aro-0.0.0-JSD1QoXINgDHR5zwZF9brvI0kmpe5kI1uhYvxDSm2cWa_src_aro_Target.zig
+19-22www/zine-ssg/Makefile.zig
+0-36www/zine-ssg/files/patch-build.zig
+34-0www/zine-ssg/files/patch-zig-packages_translate__c-0.0.0-Q__BUWjQ7BwAhlMt3Zf4l3Jw-y0__TOpJWgcK8rk4d0aWv_src_Translator.zig
+201-1037 files not shown
+273-12913 files

FreeBSD/ports 68a52a9 — devel/superhtml Makefile Makefile.zig, devel/superhtml/files patch-src_template.zig patch-build.zig.zon

devel/superhtml: Update to latest zig

PR:             299269
Approved by:    arrowd (co-mentor)
DeltaFile
+9-28devel/superhtml/files/patch-build.zig
+15-15devel/superhtml/distinfo
+0-28devel/superhtml/files/patch-build.zig.zon
+7-10devel/superhtml/Makefile.zig
+6-3devel/superhtml/Makefile
+2-2devel/superhtml/files/patch-src_template.zig
+39-866 files

FreeBSD/ports 0a470f1 — x11-wm/river-classic Makefile

x11-wm/river-classic: Change to lang/zig016

PR:             299269
Approved by:    siva (maintainer)
Approved by:    arrowd (co-mentor)
DeltaFile
+1-1x11-wm/river-classic/Makefile
+1-11 files

FreeBSD/ports f571082 — audio/linuxwave Makefile

audio/linuxwave: Change to lang/zig016

PR:             299269
Approved by:    arrowd (co-mentor)
DeltaFile
+1-1audio/linuxwave/Makefile
+1-11 files

FreeBSD/ports ee03140 — lang/zig distinfo Makefile, lang/zig/files patch-CMakeLists.txt

lang/zig: Update to 0.17.0

Zig's CMake build no longer passes -Dno-langref to ZIG_EXTRA_BUILD_ARGS
and now includes a share/doc/zig/langref.html doc file with the ability
to disable it as part of the DOCS build option.

PR:             299269
Approved by:    orsolic (maintainer)
Approved by:    arrowd (co-mentor)
DeltaFile
+0-14lang/zig/files/patch-CMakeLists.txt
+6-2lang/zig/Makefile
+3-3lang/zig/distinfo
+9-193 files

FreeBSD/ports 53e8c4c — devel/zls Makefile

devel/zls: Change to lang/zig016

PR:             299269
Approved by:    arrowd (co-mentor)
DeltaFile
+1-1devel/zls/Makefile
+1-11 files