witness: add tunables debug.witness.lock_order_{data_count,hash_size}
Add tunable debug.witness.lock_order_data_count to allow adjusting the
number of witness lock order data entries (stacks) without recompiling
the kernel. This may help to display stacks when a lock order reversal
is reported but the number of entries is exhausted before recording the
first lock order, by allowing the user to reboot with an adjusted
tunable and try again.
Tunable debug.witness.lock_order_hash_size is also provided to allow the
hash table load factor to be managed, though that is not required.
Also tweak witness_lock_order_add to avoid computing a hash when it
won't be needed because the lock order data entries are exhausted.
Reviewed by: kib, markj
Sponsored by: Dell Inc.
Differential Revision: https://reviews.freebsd.org/D57600
witness: actually set read-only tunables in time for witness_startup
SYSCTL_XXX with CTLFLAG_RDTUN and without CTLFLAG_NOFETCH should not be
used for values that are needed before SI_SUB_KLD. Otherwise they are
tuned after they are needed. Set CTLFLAG_RDTUN | CTLFLAG_NOFETCH for
the debug.witness.witness_count and debug.witness.skipspin sysctls and
add separate tunables for them, which run at SI_SUB_TUNABLES time, i.e.,
in time for witness_startup.
Reviewed by: kib, markj
Sponsored by: Dell Inc.
Differential Revision: https://reviews.freebsd.org/D57613
[clang-cl][test] Use /Zs to avoid writing unnecessary output files (#204501)
#194779 adds a test clang/test/Preprocessor/init-datetime-macros.c which
verifies some diagnostics. However, it does so with `/c`, which will
unnecessarily generate an output, and when run on a build system that
does not run tests in a writeable dir by default, will cause the test to
fail.
Since we don't care about the resulting object file, use `/Zs`
(equivalent of `-fsyntax-only`) to check the diagnostics but not produce
any output files.
documentation: Turn on verbose asciidoctor build
The other builds are verbose by default.
This will increase consistency and reduce cargo-culting.
Discussed with: dch, kevans
math/py-petsc4py: remove deprecated dry_run parameter from build_ext
...to fix build with newer setuptools
While here, correct name of file for stripping
Co-authored by: Hiroo Ono
Approved by: maintainer timeout
PR: 294431
Event: FreeBSD Developer Summit June 2026
Event: BSDCan 2026
[offload][OpenMP] Fix record replay when no memory is used
Progams that do not use any memory (e.g., no mappings) were failing because
we were trying to execute zero size transfers.
documentation: Modernize custom macros
Convert our custom macros to output asciidoctor instead of raw html,
silencing 6500 warnings. This will enable us to turn verbose builds
on, which will enable us to actually understand what is going on in
the doc tree.
Reviewed by: dch, kevans
[RFC][BOLT] Add a new parallel DWARF processing(2/2) (#197859)
This PR implements a new parallel DWARF debug info processing pipeline
for BOLT that significantly speeds up `--update-debug-sections` for
large binaries. It is the second part of the split from the overall RFC
changes
RFC - [[RFC][BOLT] A New Parallel DWARF Processing Approach in
BOLT](https://discourse.llvm.org/t/rfc-bolt-a-new-parallel-dwarf-processing-approach-in-bolt/90736)
(The overall changes.)
This PR does the following:
1. **Equivalence-class CU partitioning:** Replaces batchsize grouping
with union-find over DW_FORM_ref_addr references. Connected CUs share a
bucket; isolated CUs become singletons.
> For the non-LTO case, CUs have no cross-CU dependencies, so each CU is
placed into its own singleton bucket and processed fully in parallel.
> For the LTO case, CUs with cross-CU dependencies are grouped into the
same bucket and processed sequentially within that bucket, while
[7 lines not shown]
[AMDGPU] Keep i64 carry chains on VCC when feeding VALU users
This PR fixes an issue where ISel could mix scalar and vector carry chains when
lowering widened integer add/sub operations. A scalar-looking i64 carry producer
may feed a divergent carry consumer, so ISel now keeps that carry chain on VCC
to avoid invalid MIR.
python.mk: fix ${PYTHON_PLATFORM} for 3.14+
3.14 and later do not include the FreeBSD major version in the string.
Event: FreeBSD Developer Summit June 2026
Event: BSDCan 2026
[LoongArch] Combine FP_TO_UINT/FP_TO_SINT with [X]VFTINTRZ instruction (#201569)
Combine double conversion to signed 32-bit integer with
`[X]VFTINTRZ_W_D` instructions.
There are three cases:
1. For VT smaller than i32, we promote it to i32 then truncate to the
final result.
2. For `fptoui double to i32`, we convert it to `fptosi double to i64`
then truncate, avoid doing so with LASX enabled because we already have
the corresponding pattern in TableGen.
3. Last, for `fptosi double to i32`, we'll split them into blocks
(128-bit or 256-bit depending on whether LASX is enabled or not) and
then feed them into `[X]VFINTRZ_W_D` instructions, we using the XV
version, a shuffle is need because of the data layout is per 128-bit
lane.
devel/libisofs: Update 1.5.6 => 1.5.8.pl02
Changelog:
libisofs-1.5.8.pl02.tar.gz Fri May 22 2026
===============================================================================
* Bug fix: iso_local_get_projid() without flag bit5 returned
ISO_PROJID_NO_OPEN_LOCAL on dangling symlinks
* Bug fix: Compile time error with --disable-lfa-flags --enable-projid
libisofs-1.5.8.pl01.tar.gz Tue Apr 07 2026
===============================================================================
* Bug fix: iso_image_set_ignore_aclea() inverted the setting for reading
the XFS-style project id from disk files
* Silenced error messages about ioctl(FS_IOC_FSGETXATTR)
libisofs-1.5.8.tar.gz Thu Apr 02 2026
===============================================================================
* Bug fix: File path of imported BIOS boot image was forgotten when it gets
overwritten by a file of the same name. Thanks Brian C. Lane.
[39 lines not shown]
handbook: Remove sectnumlevels
Asciidoctor documentation says sectnumlevels from 0-5 are accepted.
Since every chapter sets this value to 6, it is not being parsed and
does not do anything.
Discussed with: bcr
Stop building ruby33 ports by default
Ruby 3.3 is now in security maintenance mode, so per our Ruby support
policy, we will no longer build ruby33 packages by default.