[llvm] Adjust remaining LLVM_ABI annotation issues (#224619)
Following up from #224293. Some annotations cannot be automatically
adjusted by the ids-check-helper and idt:
* Only headers under llvm/include are parsed. Source files and internal
headers are not.
* Headers are parsed in release mode, so debug-only declarations are
invisible.
* idt ignores private declarations.
These were found while performing a dylib build on Windows.
The effort to build LLVM as a dylib is tracked in #109483.
[mlir] Fix ArmSME ABI stub exports (#224629)
Previously, the `MLIR_ARMSMEABISTUBS_EXPORTED` macro would expand to
`__declspec(dllimport)` when building LLVM as a dylib on Windows. This
would cause a build failure since it is an incorrect annotation on a
function definition.
The intent here is to always export the symbol, so these changes use the
`LLVM_ALWAYS_EXPORT` macro, which properly expands to the right
attribute depending on the compiler / platform.
The effort to build LLVM as a dylib is tracked in #109483.
Remove popups and all the associated overlay machinery (they were the last user
of it). display-popup stays but becomes an (undocumented) compatibility command
to open a floating pane.
kern_linker: use __func__ correctly in diagnostics
__func__ is a variable not a string literal so pass it to printf. This
only manifest when KLD_DEBUG was defined so wasn't tested by an kernel
including LINT.
Reported by: Mark Millard <marklmi at yahoo.com>
Sponsored by: Innovate UK
[DAGCombiner] Refine an extload to a zextload under zext(trunc(...))
When a narrow load also has a user at its extended width, the load is
retyped into an any-extending load early and the remaining narrow use
becomes a truncate. A later zext of that truncate then has nothing to
fold against: the extload's high bits are undefined, so the mask cannot
be removed, and reduceLoadWidth refuses to narrow a load with several
users.
Refine the extload to a zextload in place instead. The truncate discards
only the load's extension bits, which are undefined, so defining them as
zero is valid for every existing user and it makes the zext a no-op. The
load keeps its value type and only its extension kind changes, unlike
tryToFoldExtOfExtload, which widens the load and therefore requires a
single use.
EXTLOAD is the only extension kind this applies to. A zextload already
has those bits known zero, so the known-bits (zext (truncate x)) fold
collapses that case before this one is reached, and a sextload has them
[29 lines not shown]
qemu port changes from Brad:
"This integrates the getexecpath() diff I had as well as some further
fixes for QGA.
Replaces the horrible code for FS info retrieval with a combination
of reuse of what was there for FreeBSD, a recent FreeBSD commit for
guest-get-fsinfo and a diff to tweak the code to build on NetBSD and
OpenBSD.
Rewritten qmp_guest_get_vcpus() function and uses
sysconf(_SC_NPROCESSORS_ONLN)."
unbound: update to 1.26.1
This release consolidates security fixes for issues reported over
a period of time. There are fixes for CVE-2026-77860, CVE-2026-77955,
CVE-2026-78227, CVE-2026-80225, CVE-2026-81634, CVE-2026-81642,
CVE-2026-82717, CVE-2026-82720 and CVE-2026-85501.
Bug Fixes
- Fix CVE-2026-81642, Heap buffer overflow and possible Remote Code
Execution when digesting DNSKEY. Thanks to Yuqi Qiu and Xiang Li
from Nankai University, AOSP Lab for the report.
- Fix CVE-2026-81634, Possible heap buffer overflow during DNSSEC
canonicalization. Thanks to Vlatko Kosturjak with Marlink Cyber,
for the report.
- Fix CVE-2026-82717, CNAME synthesis could lead to heap corruption.
Thanks to Ben Morris from Anthropic for the report.
- Fix CVE-2026-77955, Possible ZONEMD verification bypass window.
Thanks to Yuqi Qiu and Xiang Li from Nankai University, AOSP Lab,
[20 lines not shown]
[C++20] [Modules] Don't check redeclaration for TagUseKind::Referencekind declaration (#194546)
Close https://github.com/llvm/llvm-project/issues/72038
The reason of the issue is ISO forbids redeclaration between GMF and the
module purview.
But "struct kevent evt;" was thought to be declaration than triggers the
above issue.
In this patch, we simply not checking for cases of TagUseKind::Reference
declaration.
[MLIR] `remove-dead-values` and RegionBranchOp canononicalizations fixes around the `IsolatedFromAbove` ops (#224831)
I have a downstream op which is both `RegionBranchOpInterface` and
`IsolatedFromAbove`, trying use `remove-dead-values` on it and
especially trying to use this op as pass root uncovered various issues.
* `LivenessAnalysis` were treating yielded values as dead
* `RegionBranchOpInterface` canonicalization were just asserting on
`IsolatedFromAbove`
* When rooting on `func.func` it would leave callers invalid.
* Subsequent canonicalization could reach outside the scope.
[RISCV] Fold vmnot.m of an integer compare into the compare (#222553)
Fold a mask NOT of an integer vector compare into the compare by
inverting
the condition code, so `vmsne.vi` + `vmnot.m` becomes `vmseq.vi`:
(vmxor_vl (setcc_vl a, b, cc), vmset_vl) -> (setcc_vl a, b, !cc)
Only `SETCC_VL` with integer operands, one use and an undef passthru is
handled. The NOT also flips the masked-off lanes, which the inverted compare
would copy unchanged from the passthru, so the passthru must be undef.
The mask can be anything. FP compares are excluded since the inverse of an
ordered compare is unordered.
Fixes #222158