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
Fix remaining condition identity collisions and mismatches
Follow up on #233038 by preserving Clang's substituted template bindings
when normalizing condition roots. Profile written array bounds through
TypeLoc, including typedef definitions and adjusted function parameters.
Retain bindings in function types and qualified member references, and
include template-specialization qualifiers and array-trait dimensions.
Use the same type normalization for qualified references and aliases.
Normalize Flang intrinsic declarations and implied-DO indices independently
of their scope-local symbol addresses. Preserve resolved procedure identity
and distinguish implied-DO bindings by nesting and type, allowing identical
conditions to participate in the strict-subset tie-break again.
Correct the Clang runtime symbol checks and declare-variant candidate
order. Exercise fresh matching after PCH loading, and add paired distinct
and identical expression controls. Update the implicit-NOTHING test to
check its guarded selection and barrier fallback under source-selector
subset comparison.
audio/rtmidi: add options to select ALSA and JACK midi backends
Before this only JACK was enabled.
PR: 299507
Submitted by: Ivan <bsd at abinet.ru> (initial version)
audio/rtmidi: add options to select ALSA and JACK midi backends
Before this only JACK was enabled.
PR: 299507
Submitted by: Ivan <bsd at abinet.ru> (initial version)
[LV] Check stores to invariant addresses before handling unsafe deps (#233142)
canVectorizeMemory validates stores to loop-invariant addresses only
after handling the case where LAA reports the loop as unsafe. The early
exit checking canVectorizeIndirectUnsafeDependences account for
histograms skipped the invariant address checks.
Reorder checks to make sure such accesses are checked even if there
histograms to fix miscompile.
clntrdma.h: Add some fields to RDMA structures (glue for nfsclrdma.ko)
This patch adds some fields to NFS client side RDMA
structures and an additional argument to xprt_rdma_release_send().
This patch does not fix any semantics issue.
MFC after: 3 months
Fixes: 884ee8d6c9b4 ("nfscl: Add some glue for client side NFS over RDMA")
clntrdma.h: Add some fields to RDMA structures (glue for nfsclrdma.ko)
This patch adds some fields to NFS client side RDMA
structures and an additional argument to xprt_rdma_release_send().
This patch does not fix any semantics issue.
MFC after: 3 months
Fixes: 884ee8d6c9b4 ("nfscl: Add some glue for client side NFS over RDMA")
[OpenMP] Preserve condition identity in subset ties (partial #233038)
Subset comparisons previously treated unrelated user conditions with the
same applicability trait as equal. This could select the wrong directive
when candidate scores tied. Add frontend-produced condition keys and
compare source selectors separately from their effective ranking traits.
The standalone Flang reproducer in #233038 now tests a before b and selects
TASKYIELD when both are true. The shared matcher retains the expected
strict-superset result for identical conditions and preserves precedence
when the first candidate has a higher score. This is a partial fix: known
identity defects and failing regression tests remain.
Implemented:
- Add owned condition keys and optional immutable original-selector
snapshots to VariantMatchInfo. Normalize condition truth bits only for
subset comparison, count condition presence once, and require matching
known keys when a prospective subset contains a condition. Keep the
[51 lines not shown]
[VPlan] Don't look through FOR splices in isUsedByLoadStoreAddress. (#233141)
isUsedByLoadStoreAddress incorrectly looked through recurrence splices.
This lead to makeVPlanMemOpDecision incorrectly replicating loads
(instead of widening), while the address is converted to a single-scalar
by legacy decision.
This fixes a miscompile in the added test.
[flang][OpenMP] Make sure that exec METADIRECTIVE is in execution part
A METADIRECTIVE can be in either the specification part or the execution
part, depending on whether the variant directives contained in it are
declarative or executable. The OmpMetadirectiveDirective AST node can
hold any combination of variants, that is it can represent both kinds.
When the parser builds the specification part and attempts to create
an OmpMetadirectiveDirective, once it gets one it puts it in the
specification part regardless of the contents.
When an executable METADIRECTIVE is the first statement of the execution
part, it will end up in the specification part. This is an identical
situation as that for utility directives.
Recognize executable METADIRECTIVEs at the end of the specification
part and move them over to the beginning of the execution part.
Create an isolated implementation branch from refreshed main and record its
base. Preserve existing local files. Keep B's diff separate from A's TARGET
normalization and construct-subset changes, and from C's scoring changes.
**Implementation approach.** Give the original condition an explicit,
frontend-produced structural identity. Preserve it across candidate copies
and transformations. Compare source selector identity separately from the
effective traits used for applicability and scoring.
Prefer an owned structural key with exact equality, or an interned equivalent
whose owner demonstrably outlives every comparison. LLVM should not depend
on Clang or Flang AST types. A hash can accelerate lookup, but hash equality
alone must never prove expression equality.
The largest design work is producing correct keys. Neither a raw source
string, a folded expression, nor the current generic Clang profile satisfies
the required contract. Complete the capture and equivalence checkpoint below
before treating a proposed key format as ready for integration.
[266 lines not shown]
LLVMgold: Parse -plugin-opt options into LibraryOptionsContext (#233144)
Since #233044, the LLVMContexts that LTO creates read the defaults
instead, so passes ignore options like -vectorize-loops.
Parse them into a cl::LibraryOptionsContext and set it as
lto::Config::LibraryOptions and the PipelineTuningOptions' context, as
lld does.
[VPlan] Only hoist from blocks guaranteed to execute in licm (NFC). (#232512)
When hoisting, licm assumes that all top-level blocks of the vector loop
region execute on every iteration, which holds as long as the region is
linearized. Check it explicitly, by only hoisting from blocks that
dominate the region's exiting block.
Currently NFC, but preparation to run LICM before linearization and
support partially linearized CFG.
PR: https://github.com/llvm/llvm-project/pull/232512
[LV] Add test for miscompiles with histograms and scalarization. (#233135)
Add 2 additional tests for miscompile with stores to invariant addresses
and histograms and incorrectly scalarizing loads feeding a first-order
recurrence.
Also modernize check lines while touching the tests.
ldd(1) has traditionally printed the command: header itself, before
starting the program with LD_TRACE_LOADED_OBJECTS. There are various
circumstances where the program does not properly trace, so the output
looks weird. It is also different from the manual "env LD_TRACE_LOADED_OBJECTS="
method. This change makes ld.so print the command header itself.
ok kettenis
using pledge execpromises here is pointless because ldd is just a wrapper
around setenv LD_TRACE_LOADED_OBJECTS. Because the setenv method is
available to everyone, ld.so has to protect the process itself.
ok kettenis