LLVM/project 289b604libc/docs/dev undefined_behavior.rst, libc/src/__support/threads thread.h

[libc][thread] detect self-join and mutual-join deadlock (#194891)

Fix #194034.

Detect the deadlock cases of mutual thread joining.

Required by
`libcxx/test/std/thread/thread.jthread/join.deadlock.pass.cpp`


Assisted-by: Codex with gpt-5.5 high fast
DeltaFile
+83-6libc/test/integration/src/pthread/pthread_join_test.cpp
+22-0libc/src/__support/threads/linux/thread.cpp
+19-0libc/docs/dev/undefined_behavior.rst
+2-1libc/src/__support/threads/thread.h
+3-0libc/test/integration/src/pthread/CMakeLists.txt
+1-0libc/src/__support/threads/linux/CMakeLists.txt
+130-76 files

FreeBSD/ports 6b04d95math/verdict distinfo Makefile

math/verdict: upgrade to v1.4.5
DeltaFile
+3-3math/verdict/distinfo
+1-1math/verdict/Makefile
+1-1math/verdict/pkg-plist
+5-53 files

FreeBSD/ports f61b53escience/elmerfem Makefile distinfo, science/elmerfem/files pkg-message.in

science/elmerfem: upgrade to 26.2

Release notes at https://github.com/ElmerCSC/elmerfem/releases/tag/release-26.2
DeltaFile
+10-0science/elmerfem/files/pkg-message.in
+4-2science/elmerfem/Makefile
+3-3science/elmerfem/distinfo
+5-0science/elmerfem/pkg-plist
+22-54 files

FreeBSD/ports 66170a4textproc/ibus-typing-booster distinfo Makefile

textproc/ibus-typing-booster: upgrade to 2.30.7

Release notes at
        https://github.com/mike-fabian/ibus-typing-booster/releases/tag/2.30.7
DeltaFile
+3-3textproc/ibus-typing-booster/distinfo
+1-1textproc/ibus-typing-booster/Makefile
+4-42 files

FreeBSD/ports 2533718security/apkid distinfo Makefile

security/apkid: upgrade to v3.1.0

Release notes at https://github.com/rednaga/APKiD/releases/tag/v3.1.0
DeltaFile
+3-3security/apkid/distinfo
+1-1security/apkid/Makefile
+4-42 files

FreeBSD/ports ab67eb1www/threejs pkg-plist distinfo

www/threejs: upgrade to r184

Release notes at https://github.com/mrdoob/three.js/releases/tag/r184
DeltaFile
+5-1www/threejs/pkg-plist
+3-3www/threejs/distinfo
+1-1www/threejs/Makefile
+9-53 files

LLVM/project 8f45c1eutils/bazel/llvm-project-overlay/llvm BUILD.bazel

[Bazel] Fixes caa18a8 (#194967)

This fixes caa18a808aa0cc473a686fde72dfa12b4585eadd.

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+3-0utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+3-01 files

LLVM/project 965146dllvm/lib/DWARFLinker/Classic DWARFLinkerDeclContext.cpp, llvm/test/tools/dsymutil/X86 odr-simple-template-names.test odr-simple-template-names-mixed.test

[dsymutil] Fix ODR type uniquing for -gsimple-template-names (#194501)

With -gsimple-template-names (now the default on macOS with deployment
target >= 26), template types like vector<int> and vector<float> both
get DW_AT_name("vector") in DWARF, with template parameters encoded only
as DW_TAG_template_type_parameter children.

Previously, dsymutil used only DW_AT_name for ODR type uniquing, causing
different template specializations to collide. This PR fixes that by
reconstructing template parameter information from child DIEs when the
type name does not already contain template parameters.

The reconstructed name is used only for uniquing and not emitted into
the output DWARF. The parallel DWARF linker already handled this
correctly via SyntheticTypeNameBuilder.

rdar://175115639
DeltaFile
+369-0llvm/test/tools/dsymutil/X86/odr-simple-template-names.test
+348-0llvm/test/tools/dsymutil/X86/odr-simple-template-names-mixed.test
+28-3llvm/lib/DWARFLinker/Classic/DWARFLinkerDeclContext.cpp
+745-33 files

FreeBSD/ports 5543b03dns/knot3 distinfo distinfo.py-libknot

dns/{knot3,py-libknot}: Update 3.5.3 => 3.5.4

Changelog:
https://www.knot-dns.cz/2026-04-02-version-354.html

PR:             294867
Sponsored by:   UNIS Labs
MFH:            2026Q2

(cherry picked from commit f037b74ac5ac6cd44311df38f15464aac06083ca)
DeltaFile
+3-3dns/knot3/distinfo
+3-3dns/knot3/distinfo.py-libknot
+1-1dns/knot3/knotdns.mk
+7-73 files

FreeBSD/ports f037b74dns/knot3 distinfo distinfo.py-libknot

dns/{knot3,py-libknot}: Update 3.5.3 => 3.5.4

Changelog:
https://www.knot-dns.cz/2026-04-02-version-354.html

PR:             294867
Sponsored by:   UNIS Labs
MFH:            2026Q2
DeltaFile
+3-3dns/knot3/distinfo
+3-3dns/knot3/distinfo.py-libknot
+1-1dns/knot3/knotdns.mk
+7-73 files

FreeNAS/freenas 95147d3src/middlewared/middlewared/utils/lio config.py

Add LUNs on STANDBY
DeltaFile
+37-58src/middlewared/middlewared/utils/lio/config.py
+37-581 files

LLVM/project caa18a8llvm/include/llvm/DWP DWP.h DWPStringPool.h, llvm/lib/DWP DWP.cpp ELFWriter.cpp

[llvm-dwp] Replace MCStreamer with direct ELF writer for zero-copy output (#192112)

Replace the MCStreamer-based output pipeline with a lightweight direct
ELF writer (DWPWriter). Section data is stored as zero-copy StringRef
chunks pointing to the mmap'd input files, and written as a minimal
ELF64 relocatable object directly to disk.

## Rationale
The MCStreamer pipeline copies all section data into 16KB MCDataFragment
blocks, accumulates them in memory, then writes everything out during
MCAssembler::Finish(). This can be cause lots of memory pressure and
slow down llvm-dwp.

For instance, on a 3.3GB DWP file, this translates to rougly ~3.3GB of
heap allocation and two full copies of the data.

The new DWPWriter avoids this via:
- emitBytes() stores a StringRef chunk (zero-copy, no allocation)
- emitIntValue() writes to a small per-section buffer (index tables)

    [16 lines not shown]
DeltaFile
+343-111llvm/lib/DWP/DWP.cpp
+119-35llvm/include/llvm/DWP/DWP.h
+7-91llvm/tools/llvm-dwp/llvm-dwp.cpp
+63-0llvm/lib/DWP/ELFWriter.cpp
+10-31llvm/include/llvm/DWP/DWPStringPool.h
+37-0llvm/include/llvm/DWP/ELFWriter.h
+579-2683 files not shown
+581-2749 files

NetBSD/pkgsrc WbflSlRdoc CHANGES-2026

   doc: Updated shells/oh-my-posh to 29.12.0
VersionDeltaFile
1.2684+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc ycRhqarshells/oh-my-posh distinfo Makefile

   shells/oh-my-posh: update to 29.12.0

   Features

    - template: add cmd function to run OS commands from templates (#7495) (b38d1cf)
VersionDeltaFile
1.300+4-4shells/oh-my-posh/distinfo
1.329+2-2shells/oh-my-posh/Makefile
+6-62 files

LLVM/project a9cef14clang-tools-extra/clang-tidy/bugprone MoveForwardingReferenceCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Fix some false positive in bugprone-move-forwarding-reference (#191435)

In the following case:

template <typename T, typename U>
void shocase(U&& SomeU) {
  [SomeU] () { T SomeT(std::move(SomeU)); };
}

We use to flag the move as a forward, while the lambda captures SomeU by
copy, which makes the move valid.
DeltaFile
+17-7clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
+22-0clang-tools-extra/test/clang-tidy/checkers/bugprone/move-forwarding-reference.cpp
+4-0clang-tools-extra/docs/ReleaseNotes.rst
+43-73 files

LLVM/project a26d9c6llvm/docs LangRef.rst

[LangRef] asm clobber constrains: '~memory' allows reads and synchronization (#150191)

I was not sure what the best way is for talking about "synchronization effects".
DeltaFile
+7-4llvm/docs/LangRef.rst
+7-41 files

FreeBSD/src 0216ea8sys/dev/netmap netmap.c

netmap: check for possible out-of-bound write with options

Submitted by:   hari.thirusangu at sophos.com
MFC after:      2 weeks
DeltaFile
+1-0sys/dev/netmap/netmap.c
+1-01 files

NetBSD/pkgsrc uM9iytdtextproc/p5-Text-BibTeX distinfo, textproc/p5-Text-BibTeX/patches patch-btparse_src_string__util.c patch-btparse_src_util.c

   p5-Text-BibTeX: fix ctype(3) usage.
VersionDeltaFile
1.1+92-0textproc/p5-Text-BibTeX/patches/patch-btparse_src_string__util.c
1.1+24-0textproc/p5-Text-BibTeX/patches/patch-btparse_src_util.c
1.1+24-0textproc/p5-Text-BibTeX/patches/patch-btparse_src_names.c
1.1+18-0textproc/p5-Text-BibTeX/patches/patch-btparse_src_lex__auxiliary.c
1.1+15-0textproc/p5-Text-BibTeX/patches/patch-btparse_src_sym.h
1.31+6-1textproc/p5-Text-BibTeX/distinfo
+179-11 files not shown
+181-37 files

LLVM/project 9f72098llvm/lib/Transforms/Vectorize VPlanVerifier.cpp

[VPlan] Include wide IVs with NUW as monotonic in verifier. (#194959)

This fixes a verifier failure after
https://github.com/llvm/llvm-project/pull/194267 due to a wide IV 
used in header mask compare being narrowed during later 
optimizations.

This is in line how we treat other recipes, like adds, in the verifier
check.

Should fix https://lab.llvm.org/buildbot/#/builders/187/builds/19595.
DeltaFile
+1-1llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
+1-11 files

FreeBSD/src bffaea6sys/compat/linuxkpi/common/include/linux gfp.h, sys/compat/linuxkpi/common/src linux_page.c

linuxkpi: Implement __GFP_THISNODE in alloc_pages()

It indicates to `alloc_pages()` to allocate the pages from the current
NUMA domain. If it couldn't, it should not retry elsewhere and return
failure.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 06a51a510a60ca29193b2cdb8120b630ea9ef18c)
DeltaFile
+12-3sys/compat/linuxkpi/common/src/linux_page.c
+1-1sys/compat/linuxkpi/common/include/linux/gfp.h
+13-42 files

FreeBSD/src 1feb0efsys/compat/linuxkpi/common/include/linux gfp.h

linuxkpi: Define `GFP_KERNEL_ACCOUNT` flag

This flag combines `GFP_KERNEL` and `__GFP_ACCOUNT`. The latter is also
defined in this commit. It is defined as a no-op flag as it is not
implemented.

The DRM generic code started to use it in Linux 6.12.x.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit af01ffbfb1c0a0104d3a4c7dd1342ed7c81c6c54)
DeltaFile
+2-0sys/compat/linuxkpi/common/include/linux/gfp.h
+2-01 files

FreeBSD/src 5450393sys/compat/linuxkpi/common/include/linux bits.h bitops.h

linuxkpi: Move `GENMASK()` to <linux/bits.h>

... from <linux/bitops.h>.

This matches the location on Linux.

<linux/bits.h> is also included from <linux/bitops.h>. Therefore it will
not break anything.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 47e1ca7f3720c76fdc729e03034fa53c798b9318)
DeltaFile
+14-0sys/compat/linuxkpi/common/include/linux/bits.h
+2-2sys/compat/linuxkpi/common/include/linux/bitops.h
+16-22 files

FreeBSD/src 73efadesys/compat/linuxkpi/common/include/linux pci.h

linuxkpi: Add `pci_dev_is_disconnected()`

For now, it is an empty stub that always return false. On Linux, it
looks at an internal error state of the device to determine if it is
disconnected.

The amdgpu DRM driver started this in Linux 6.12.x.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 43b47418e769df02f43f2b4636dd5c7516fa51f8)
DeltaFile
+7-0sys/compat/linuxkpi/common/include/linux/pci.h
+7-01 files

FreeBSD/src 8f8af33sys/compat/linuxkpi/common/include/linux minmax.h

linuxkpi: Define `min_array()` and `max_array()`

They are macros that return the minimum or maximum values of an array of
integers. They assume that the array contains elements.

The i915 DRM driver started to use `min_array()` in Linux 6.12.x.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 9a2de1d2042d1c2730dd3049c26d481813b5f2bd)
DeltaFile
+10-0sys/compat/linuxkpi/common/include/linux/minmax.h
+10-01 files

FreeBSD/src 12d558dsys/compat/linuxkpi/common/include/linux string.h

linuxkpi: Add `memdup_array_user()`

The amdgpu DRM driver started this in Linux 6.12.x.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 5dfbc6593cdacd5b4e4939e09d595b3a9c8e47da)
DeltaFile
+11-0sys/compat/linuxkpi/common/include/linux/string.h
+11-01 files

LLVM/project 865fd2aflang/lib/Semantics check-omp-loop.cpp openmp-utils.cpp, flang/test/Parser/OpenMP linear-clause.f90

[flang][OpenMP] Check conflicts between predetermined/explicit DSA

Improve checks for loop iteration variables with predetermined DSA
appearing in DSA clauses. Show both the location of the variable
in the offending clause, and in the loop.

Make the checks a bit more accurate as well: only allow LINEAR clause
on SIMD construct with a single affected loop.
DeltaFile
+80-22flang/lib/Semantics/check-omp-loop.cpp
+27-0llvm/include/llvm/Frontend/OpenMP/OMP.h
+11-14flang/test/Parser/OpenMP/linear-clause.f90
+14-6flang/lib/Semantics/openmp-utils.cpp
+0-15flang/lib/Semantics/check-omp-structure.cpp
+7-7flang/test/Semantics/OpenMP/do04.f90
+139-647 files not shown
+151-8513 files

FreeBSD/src dd7e503sys/compat/linuxkpi/common/include/linux array_size.h kernel.h

linuxkpi: Move `ARRAY_SIZE` to <linux/array_size.h>

The DRM generic code started to import this header directly in Linux
6.12.x. Let's move the definition of `ARRAY_SIZE()` (the only thing that
<linux/array_size.h> defines) to this header.

Also, include <linux/array_size.h> from the same headers as Linux. This
includes <linux/kernel.h>, so the change should not break anything.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 1c641d0436e377c57a767e37f56ce65253817d67)
DeltaFile
+17-0sys/compat/linuxkpi/common/include/linux/array_size.h
+1-2sys/compat/linuxkpi/common/include/linux/kernel.h
+1-0sys/compat/linuxkpi/common/include/linux/kfifo.h
+1-0sys/compat/linuxkpi/common/include/linux/string.h
+20-24 files

FreeBSD/src ce3348bsys/compat/linuxkpi/common/include/linux slab.h, sys/compat/linuxkpi/common/src linux_slab.c

linuxkpi: Add Linux 6.12 variant of `kvrealloc()`

In Linux 6.12, the API changed to be closer to `krealloc()`:
* The function does not take the old size anymore
* The function becomes a wrapper around `krealloc()` with a fallback
  mechanism.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit d74fa49d0c0476353af137d22b5ef8711c67b854)
DeltaFile
+25-18sys/compat/linuxkpi/common/include/linux/slab.h
+38-0sys/compat/linuxkpi/common/src/linux_slab.c
+63-182 files

FreeBSD/src 9fb9b04sys/compat/linuxkpi/common/include/linux wordpart.h compiler.h

linuxkpi: Move {lower,upper}_32_bits macros to <linux/wordpart.h>

... from <linux/compiler.h>.

<linux/wordpart.h> is the header defining them on Linux 6.12 (I didn't
check older versions).

<linux/wordpart.h> is also included from <linux/kernel.h>.

The DRM generic code started to depend on <linux/wordpart.h> in Linux
6.12.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 0a2f3b8ef16786a44fc88afd8862920df4527a3c)
DeltaFile
+13-0sys/compat/linuxkpi/common/include/linux/wordpart.h
+0-3sys/compat/linuxkpi/common/include/linux/compiler.h
+1-0sys/compat/linuxkpi/common/include/linux/kernel.h
+14-33 files

FreeBSD/src b34aa6bsys/compat/linuxkpi/common/include/linux rbtree.h

linuxkpi: Add `rb_add()`

It is the same as `rb_add_cached()` but it works on `struct rb_root`, not
a `struc rb_root_cached`. It also does not return anything.

The DRM generic code started to use this in Linux 6.12.x.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit cff716c2854c167ef7ff3a4785f5faed9b0a4f98)
DeltaFile
+20-0sys/compat/linuxkpi/common/include/linux/rbtree.h
+20-01 files