[UnsafeBufferUsage][SSAF] Change -Wunsafe-buffer-usage API for SSAF-based analysis (#191934)
Change -Wunsafe-buffer-usage API to match `Stmt`s instead of `Decl`s. It
is up to clients of the API to determine how to traversal a `Decl`. In
this change, the client is SSAF-based
UnsafeBufferUsageExtractor.
---------
Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
linuxkpi: Handle bin attributes in sysfs attribute groups
For instance, this is used by DRM drivers to declare the EDID property
of an GPU output connector:
sysctl -b sys.device.drmn1.card0.card0-DP-1.edid | edid-decode
...
Block 0, Base EDID:
EDID Structure Version & Revision: 1.4
Vendor & Product Identification:
Manufacturer: SAM
Model: 29814
Serial Number: 810635354 (0x3051505a)
Made in: week 15 of 2025
...
Reviewed by: bz, emaste, wulf
Sponsored by: The FreeBSD Foundation
[3 lines not shown]
[NFC][LowerTypeTests] Add AArch64 and X86 jump table tests with debug info (#192735) (#193358)
It just recommits test copied from non dbg version.
Implementation is https://github.com/llvm/llvm-project/pull/192736.
This is the same as #192735, accidentally merged into spr/users branch.
[ConstantFolding] Increase folding limit for vector loads to 128 bytes (#192775)
In FoldReinterpretLoadFromConst, ReadDataFromGlobal bails out when
BytesLoaded exceeds 32 bytes. This prevent folding in our downstream
OpenCL case where global constant is [16 x float] array and is loaded as
float16 vector, which is 64 bytes.
This PR increases BytesLoaded cap to 128 bytes, to accommodate large
vector support, e.g. double16 type in OpenCL. For scalar integer load,
the limit remains 32 bytes to avoid regression on load from string
literal.
---------
Co-authored-by: Nikita Popov <github at npopov.com>
[lldb] Fix a couple of return type / return value mismatches (#191464)
* `EmulateInstruction::ReadMemory()` returns a boolean value and is used
in boolean contexts, but the return type is specified as `size_t`.
Change it to `bool`. This also aligns it with `WriteMemory()`.
* `ClangExpressionDeclMap::GetSymbolAddress()` returns `false` if
`Target` is not available, but it is expected to return an address.
Change it to return `LLDB_INVALID_ADDRESS`.
* `ValueObject::GetPointeeData()` returns `true`, whereas a return value
of type `size_t` is expected. Change it to return 0 (this code is
unreachable).
loader: add hidden boot menu option and fix verbose/mute interaction
Add loader_menu_hidden="YES" support to hide the boot menu during the
autoboot countdown. Instead of drawing the full menu immediately, a
minimal "Press any key for boot menu..." prompt is shown. Pressing any
key reveals the menu; otherwise the system boots when the countdown
expires. The countdown duration is controlled by autoboot_delay.
Also force boot_mute=NO when verbose boot is enabled from the menu, so
that verbose output is not silenced by the default boot_mute="YES".
Disabling verbose leaves boot_mute untouched per loader.conf.
[NFC][LowerTypeTests] Add AArch64 and X86 jump table tests with debug info (#192735)
It just recommits test copied from non dbg version.
Implementation is https://github.com/llvm/llvm-project/pull/192736.
security/strongswan: Enable ML plugin by default to allow Post-Quantum Key Exchange Methods
Currently ML-DSA (used for Digital Signatures) is a draft in strongswan
(ETA Version 6.1.0 or later). So CNSA 2.0 cannot be fully supported yet.
https://linux-ipsec.org/slides/2025/steffen-pqc-auth-for-ikev2.pdf
But most firewalls (Palo Alto / Fortigate) already support ML-KEM Key
Exchange in addition to standard proposals.
E.g. aes128gcm16-ecp256-ke1_mlkem512.
More details:
https://docs.strongswan.org/docs/latest/config/proposals.html
PR: 294305
Approved by: strongswan at Nanoteq.com (maintainer, timeout 2 weeks)
Sponsored by: UNIS Labs
[offload] Fix synchronization when record replay is enabled (#193291)
When kernel record replay was enabled, the operations on the current
stream were not synchronized. That's because the current stream was
"ignored", and a new stream was used when RR is active. This is invalid
when there are pending operations on the original stream and can lead to
invalid prologue recording data.
This commit addresses this issue by using the original stream and
synchronizing it explicitly before and after kernel launch. This way, we
ensure the operations are completed before performing the prologue and
epilogue data recording. Additionally, the kernel record replay entry
points are moved to the same layer, in `GenericKernelTy::launch()`.
[runtimes] Enable Fortran only with explicit CMAKE_Fortran_COMPILER (#193332)
Only enable Fortran support when the user (or the bootstrapping build)
passes `-DCMAKE_Fortran_COMPILER=...`.
`enable_language(...)` other than C/CXX reveals problems with the
current build system. LLVM likes to add
`-Wl,--color-diagnostics`
to `CMAKE_EXE_LINKER_FLAGS` whenever possible. The problem is that
`CMAKE_EXE_LINKER_FLAGS` is added to the linker line regardless of which
language is used, but `HandleLLVMOptions.cmake` probes only
`CMAKE_CXX_COMPILER`. Other languages' compilers such as
`CMAKE_CUDA_COMPILER` (`nvcc`) or `CMAKE_Fortran_COMPILER` (`gfortran`)
may not accept the flag. CMake then fails when those compilers are "not
able to compile a simple test program." because it does not accept the
`--color-diagnostics` flag.
`CMAKE_EXE_LINKER_FLAGS` does not support generator expression such that
`$<$<COMPILE_LANGUAGE:C,CXX>:-Wl,--color-diagnostics>` does not work
[6 lines not shown]
[BoundsSafety][NFC] Move LateParsedAttribute outside Parser class; move LateParsedAttrList to DeclSpec.h (#192145)
Preparatory refactoring for llvm/llvm-project#179612, which introduces
late parsing of bounds-safety attributes as type attributes. The new
approach needs LateParsedAttribute accessible from DeclSpec.h (to store
late attr pointers in DeclaratorChunk, Declarator, and DeclSpec), which
cannot depend on Parser.h.
- Move LateParsedDeclaration and LateParsedAttribute to namespace level
in Parser.h
- Move LateParsedAttrList to DeclSpec.h with a forward declaration of
LateParsedAttribute
Other LateParsedDeclaration subclasses (LateParsedClass,
LateParsedPragma, LateParsedMemberInitializer, etc.) remain inside
Parser as they are only created and consumed within Parser and don't
need to cross the Parser/Sema boundary.
Support loader arguments in GPU hermetic tests (#193341)
GPU tests require arguments passed to the loader (like llvm-gpu-loader)
to be placed before the test binary on the command line.
Updated LLVMLibCTestRules.cmake to generate a three-part .params file to
separate loader flags from test arguments and pass environment
overrides. Implicitly added LIBOMPTARGET_STACK_SIZE for NVPTX targets.
Modified format.py to parse this new format and position the loader
arguments correctly before the binary.
[libcxx][Github] Bump container version (#193351)
Now that the rebuilt container images are available with an upgraded
Github runner, bump to the latest image.