linux-yocto/rust/bindgen_parameters
Matthew Maurer bad098d768 rust: Ignore preserve-most functions
Neither bindgen nor Rust know about the preserve-most calling
convention, and Clang describes it as unstable. Since we aren't using
functions with this calling convention from Rust, blocklist them.

These functions are only added to the build when list hardening is
enabled, which is likely why others didn't notice this yet.

Signed-off-by: Matthew Maurer <mmaurer@google.com>
Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20231031201945.1412345-1-mmaurer@google.com
[ Used Markdown for consistency with the other comments in the file. ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2023-12-13 01:09:55 +01:00

900 B

SPDX-License-Identifier: GPL-2.0

--opaque-type xregs_state --opaque-type desc_struct --opaque-type arch_lbr_state --opaque-type local_apic

Packed type cannot transitively contain a #[repr(align)] type.

--opaque-type alt_instr --opaque-type x86_msi_data --opaque-type x86_msi_addr_lo

try is a reserved keyword since Rust 2018; solved in bindgen v0.59.2,

commit 2aed6b021680 ("context: Escape the try keyword properly").

--opaque-type kunit_try_catch

If SMP is disabled, arch_spinlock_t is defined as a ZST which triggers a Rust

warning. We don't need to peek into it anyway.

--opaque-type spinlock

seccomp's comment gets understood as a doctest

--no-doc-comments

These functions use the __preserve_most calling convention, which neither bindgen

nor Rust currently understand, and which Clang currently declares to be unstable.

--blocklist-function _list.*_report