mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2026-01-27 12:47:24 +01:00
Using the `--with-derive-custom-{struct,union}` option of bindgen, add
`#[derive(MaybeZeroable)]` to every struct & union. This makes those
types implement `Zeroable` if all their fields implement it.
Sadly bindgen doesn't add custom derives to the `__BindgenBitfieldUnit`
struct. So manually implement `Zeroable` for that.
Signed-off-by: Benno Lossin <lossin@kernel.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
[ Formatted comment. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
1.5 KiB
1.5 KiB
SPDX-License-Identifier: GPL-2.0
We want to map these types to isize/usize manually, instead of
define them as int/long depending on platform bitwidth.
--blocklist-type __kernel_s?size_t --blocklist-type __kernel_ptrdiff_t
--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
These constants are sometimes not recognized by bindgen depending on config.
We use const helpers to aid bindgen, to avoid conflicts when constants are
recognized, block generation of the non-helper constants.
--blocklist-item ARCH_SLAB_MINALIGN --blocklist-item ARCH_KMALLOC_MINALIGN
Structs should implement Zeroable when all of their fields do.
--with-derive-custom-struct .=MaybeZeroable --with-derive-custom-union .=MaybeZeroable