editors/openoffice-devel: switch to upstream trunk
Switch to following the upstream trunk branch. The AOO42X is likely a
dead end, and the next major release will propably be 5.0.0.
[SelectionDAG] Allow PARTIAL_REDUCE_SUMLA in getPartialReduceMLS (#220886)
foldPartialReduceMLAMulOp turns
partial_reduce_*mla(acc, neg(mul(sext(a), zext(b))), splat(1))
into a PARTIAL_REDUCE_SUMLA node and, because of the negation, builds it
through SelectionDAG::getPartialReduceMLS. That helper only accepted
UMLA
and SMLA, so the mixed-sign case hit its "Unexpected opcode" assertion
whenever the target marks SUMLA as legal or custom for the transformed
types. The loop vectorizer produces exactly this shape for a reduction
chain that mixes adds and subs, e.g.
acc += (int)s8_a[i] * (int)u8_b[i];
acc -= (int)s8_c[i] * (int)u8_d[i];
so this crashed at -O2 in builds with assertions enabled on AArch64 with
+dotprod, and since #205373 also on X86 with AVX512-VNNI (release builds
[9 lines not shown]
[Option] Store the StringTable by value. NFC (#224818)
Suggested by
https://github.com/llvm/llvm-project/pull/224805#discussion_r4052408942
A StringTable is just a StringRef. Hold it by value and build it from
the storage array in optionTables(), so the generated OptionStrTable
object (16 bytes of .data.rel.ro and a relocation per table) is
unreferenced and discarded, and string lookups skip a load.
Aided by Opus 5
bhyve: fix byte order for manually set NVMe eui64
Manually specified eui64 value gets converted to big endian twice:
first using htobe64() and then using be64enc(). On little-endian hosts
that results in a little-endian value instead of a big-endian.
Fix by removing htobe64() for a user submitted value.
Fixes: 409a80e5a434 ("bhyve: Create EUI64 for NVMe namespaces")
Reviewed by: chuck
Relnotes: yes
Sponsored by: The FreeBSD Foundation
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D59080
(cherry picked from commit 8bd30a72e7012126a1c8d52b3ba32f844a88f8dc)
[Mips] Remove experimental warning bits in a few places (#223230)
- Remove the warning message "warning: MIPS-I support is experimental" from
MipsSubtarget.cpp. The warning can interfere with build systems that do not
expect diagnostic output on stderr.
- Remove experimental / highly experimental from a few MIPS processors.
MIPS I is on track and the rest I wouldn't consider experimental anymore.
[orc-rt] In SimpleRemoteCA, carry tag field as uint64_t (#224814)
A message's tag field is a 64-bit value on the wire, so carry it as a
uint64_t inside SimpleRemoteCA and only convert to an ExecutorAddr or
ResultKind only where needed, with validation.
[Option] Shrink Info from 40 to 24 bytes (#224807)
Few options set MetaVar, AliasArgs, Values, help text variants, or
subcommands (12%, 4%, 4%, 0.1%, 0.06% of 6955 options), yet every entry
carries all five. Move them to a deduplicated InfoExtra side table
reached by a 16-bit offset; row 0 serves options that set none. Narrow
Visibility to 16 bits; clang uses seven.
clang's table shrinks from 155 KB to 93 KB plus 4 KB of extras.
Aided by Opus 5
interfaces: fix PHP warnings and do not write unset ones
Pertains to interafces.php mostly but let's fix this so we
can see if the new interface settings work the same.
[AMDGPU] Fold 24 bit multiply with zero low bits
Fold `MUL_I24` and `MUL_U24` to zero when either operand has known zero
low 24 bits.
For example:
```
llvm.amdgcn.mul.i24(x, 0x01000000) -> 0
```
[AMDGPU] Always optimize out llvm.amdgcn.mbcnt.hi in wave32 mode (#224573)
The instruction v_mbcnt_hi_u32_b32 does nothing useful in wave32 mode so
we can always optimize it regardless of the workgroup size.
[Option] Derive the prefix union in the constructor. NFC (#224813)
The union is a function of the prefix table, so compute it in the
OptTable constructor instead of emitting OptionPrefixesUnion and
carrying it in Tables.
LLM-aided, extracted from #224805
Get rid of the wait in ixl_get_link_status, get rid of IXL_LINK_FLAG_WAITDONE;
fix another instance of the cv_timedwait() pattern noticed by riastradh@ in
PR kern/60736 . The only remaining change from revision 1.92 is the addition
of sc_link_state_done_task which avoids a lock inversion.
[libcxx] Avoid a busy-loop in atomic's lost_wakeup.pass.cpp (#211242)
Fixes #207763
On single-core or heavily loaded systems, using this_thread::yield()
prevents the notifier from burning all its allocated time on the
busy-loop.
The measurements were done on my Linux box, the time is the one reported
by lit. To isolate the test on a single core I used the following
commands:
export LIT_FILTER="wait/lost_wakeup.pass.cpp"
taskset -c 0 ninja -C build check-cxx
| Configuration | Linux futex | | Fallback | |
| -------------- | ----------- | ----------- | -------- | ----------- |
| | Normal | Pinned core | Normal | Pinned core |
| Before | 1.50s | 8.44s | 1.57s | 301.02s |
| With yield | 1.73s | 7.36s | 1.64s | 8.88s |
Both configurations are with the `run < 10` change.
[Option] Replace the OptionTables object with a function. NFC (#224805)
The generated `Tables` holds seven addresses, so needs dynamic
relocations in PIE and shared library builds:
```
static constexpr llvm::opt::OptTable::Tables OptionTables = {
OptionStrTable, OptionPrefixesTable, OptionPrefixesUnion, ...};
...
FooOptTable() : OptTable(OptionTables) {}
```
Emit a function instead. The caller builds the aggregate on the stack
from PC-relative addresses, which the linker resolves:
```
static constexpr llvm::opt::OptTable::Tables optionTables() {
return {OptionStrTable, OptionPrefixesTable, OptionInfoTable, ...};
}
[7 lines not shown]
www/angie-module-njs: Security update to 1.0.1
This maintenance update of njs fixes three security issues:
- Access control bypass in js_access when an asynchronous request body
continuation threw an exception or produced an unhandled rejection
(CVE-2026-18329). Previously, nginx could continue processing the
request as though the js_access check had succeeded. Affects
0.9.9-1.0.0. Thanks to Ta Duc Thien.
- Worker process crash when reading Response.statusText after an
upstream server returned a status line with an empty reason phrase
(CVE-2026-78222). Affects 0.5.1-1.0.0.
- Heap buffer overflow while parsing namespace prefix lists passed to
xml.exclusiveC14n() (CVE-2026-78689). Affects 0.7.10-1.0.0. Thanks to
Vladimir, Vulnerability Research Tech Lead @ Cyera, evilgensec.
PR: 298637
[5 lines not shown]
www/angie: Security update to 1.12.2
This maintenance release fixes CVE-2026-90439:
When using an OpenSSL version without native HTTP/3 support (3.5.0
or earlier), if the default server for the address that accepted a
regular HTTPS request also used HTTP/3 (the listen directive with the
quic parameter, possibly on a different port), while a server block
without HTTP/3 was selected by domain name (SNI), limited worker process
memory corruption or a worker process crash could occur
(CVE-2026-90439); the fix was ported from nginx 1.31.6.
PR: 298632
Changes: https://en.angie.software/angie/docs/oss_changes/#angie-1-12-2
Security: 6cf2ff4b-b38c-11f1-a655-3497f65b111b
Sponsored by: Netzkommune GmbH
(cherry picked from commit 1fa3fa28695213f50759b063a1097cc5ffdf8d83)
Fix link state handling in ixl driver (PR 60736):
1. The admin queue ("ATQ") polling could skip completions if there was
more than one pending command. Force ixl_atq_poll() to go in order
and simplify by looping around the post_locked and done_locked functions.
This makes ixl_atq_poll_done() superfluous, so remove that.
2. Add missing "goto out" in ixl_get_link_status() so we return EBUSY
instead of falling through to cv_timedwait(). This is much
less likely with fix 1 above but worth fixing anyway.
3. Mostly undo 1.92 - don't block waiting on link in ixl_init(), instead,
fire off a link status check and ignore the result. Meanwhile, in
ixl_init_locked(), enable the hardware link status interrupt.
Addresses the source of the multiple pending completions that triggered
problem 1 while still ensuring we get link status at initialization.