[llvm-reduce] Parse library options into LLVMContext (#233162)
cl::ParseCommandLineOptions sets library options in T::Global,
no longer read by LibraryOptionsContext::get since #233044.
Switch to cl::parseCommandLineOptions.
[mlir][ArithToLLVM] Preserve defined signed remainder by -1
Select a zero dividend when the divisor is -1 before emitting llvm.srem.
This preserves arith.remsi(INT_MIN, -1) == 0 without introducing LLVM UB.
Support scalar and vector operands, including multidimensional vectors.
Add regression coverage to the existing ArithToLLVM conversion test.
Tests were not run as requested.
[libc++] Granularize <execution> (#229315)
Move execution policies into `__execution/execution_policies.h`
to separate them from upcoming C++26 sender/receiver components.
Also move `__type_traits/is_execution_policy.h` into `__execution`
directory.
This is a prerequisite for #229095.
libthr: Remove deadcode in join_common
The while loop previous can only be break when ret == ETIMEDOUT. They
never produce EBUSY. Remove the deadcode here.
Reviewed by: kib
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D60711
[mlir][arith] Check overflow when reassociating integer constants
Folding (x + 100 nsw) + 100 nsw to x + (-56) nsw in i8 introduces
poison for inputs such as x = -100 that were previously defined.
Check signed and unsigned overflow when folding constants in the
add/sub/mul reassociation patterns. Retain each common nsw/nuw flag
only when its constant arithmetic does not overflow. Keep index
behavior unchanged for a separate fix.
Add regression coverage for invalid and preserved overflow flags.
Eliminate very low concurrency limit in RAIDframe, improving write throughput as much as 25%.
RAIDframe maintains a per-set freelist of "emergency buffers" to ensure it can perform I/O
under heavy memory pressure. The freelist size was 10, and each I/O request can require
up to 2 buffers in some recovery conditions, so raidPtr->openings was limited to RAIDOUTSTANDING,
which was set to 6 (this was a bug; it should have been 5).
There is no need at all for this limit for RAID 0 or RAID 1 sets; they do not buffer I/O in
the relevant way. Eliminate the allocation entirely in this case; openings is set as the
configured queue length for the RAID set.
For parity RAID sets, we dynamically size two freelists of pre-allocated buffers and the
openings value so that we consume no more than 1% of system RAM per set:
openings = MIN(maxQueueDepth, MAX(RAIDOUTSTANDING, (1% of physmem), bytes_per_opening))
stripe buffers: 2 * openings
I/O buffers: openings * max_stripes_per_bp * numCol
RAIDOUTSTANDING (now used as a floor) remains 6.
[16 lines not shown]
[mlir][arith] Check overflow when reassociating integer constants
Folding (x + 100 nsw) + 100 nsw to x + (-56) nsw in i8 introduces
poison for inputs such as x = -100 that were previously defined.
Check signed and unsigned overflow when folding constants in the
add/sub/mul reassociation patterns. Retain each common nsw/nuw flag
only when its constant arithmetic does not overflow. Keep index
behavior unchanged for a separate fix.
Add regression coverage for invalid and preserved overflow flags.
mailsend-go: update to 1.0.13
* Fix Issue #76. The options -printCerts and -verifyCert now take effect
while sending mail, not just with -info. Added -verbose as a shortcut for
-debug -printCerts -verifyCert together.
No need to update unless you need certificate details or verification while sending mail.
* Some code cleanup, use go 1.27 to compile, tagged quotedprintable to
v1.0.1. Updated gomail v1.0.4 to use quotedprintable v1.0.1.
www/node2{2,4,6}: Use bundled merve to avoid loading two simdutfs
node dies with SIGBUS (signal 10) the first time it lexes the exports
of a CommonJS module, e.g. early in any `npm install`, for example
www/tailwindcss4 fails to build, reporting "*** Signal 10".
Running lldb inside poudriere build, because we get a core dump:
frame #0 libsimdutf.so.36 simdutf::detail::find(...) +77: jmpq *%rax
frame #1 libmerve.so.1 lexer::CJSLexer::addReexport(...)
...
frame #6 node node::cjs_lexer::Parse(...)
rax = 0x4444444443434343 ("CCCCDDDD", string data)
This appears to be caused by having two different simdutf versions
loaded into one process:
- node is configured with --shared-merve but not --shared-simdutf, so
[24 lines not shown]
cnmagic(9): minor tweaks
Call it a "magic sequence" (not "magic key sequence") - there are no
"keys" in the serial input and wscons(4) does not even use cnmagic(9),
so. Mention that latter fact in CAVEATS.
Document CNC_BREAK.
Update to 9.50
Upstream changes:
9.50 2026-10-16
- Added SECURITY.md policy for reporting security issues.
- Fixed a security issue in Mojo::DOM where the content of title and textarea elements was not escaped during
rendering, allowing escaped end tags to break out and turn sanitized HTML into live markup.
9.49 2026-08-10
- Added EXPERIMENTAL support for partitioned cookies. (rawleyfowler)
- Added EXPERIMENTAL partitioned attributes to Mojo::Cookie::Response and Mojolicious::Sessions
devel/libagcre and textproc/agcre: Update to version 20261015
Changes since previous version:
Bring over changes from the development branch:
+ unicode escapes can be set with \xNNNN as well as \uNNNN
+ tighten up bounds checking when looking ahead while compiling
+ make sure illegal utf8 sequences are handled as single bytes
+ fill out the unicode sequences recognised by unicode_isprint
and unicode_isgraph
+ update unicode_isspace to not recognise 0x200e and 0x200f (they're
directional markers for BiDi text, not whitespace)
+ tighten up the way hex numbers are calculated in unicode escapes
+ bump version number to 20261015