diff options
| author | 2024-09-13 22:29:22 +0100 | |
|---|---|---|
| committer | 2024-11-10 23:58:00 +0100 | |
| commit | 2fd6f55c048d0c863ffbc8590b1bd2edb5ff13e5 (patch) | |
| tree | f830b4aaaaeb239e160edd057d241bd09590ad41 /rust/bindgen_parameters | |
| parent | rust: fix size_t in bindgen prototypes of C builtins (diff) | |
| download | wireguard-linux-2fd6f55c048d0c863ffbc8590b1bd2edb5ff13e5.tar.xz wireguard-linux-2fd6f55c048d0c863ffbc8590b1bd2edb5ff13e5.zip | |
rust: map `__kernel_size_t` and friends also to usize/isize
Currently bindgen has special logic to recognise `size_t` and `ssize_t`
and map them to Rust `usize` and `isize`. Similarly, `ptrdiff_t` is
mapped to `isize`.
However this falls short for `__kernel_size_t`, `__kernel_ssize_t` and
`__kernel_ptrdiff_t`. To ensure that they are mapped to usize/isize
rather than 32/64 integers depending on platform, blocklist them in
bindgen parameters and manually provide their definition.
Signed-off-by: Gary Guo <gary@garyguo.net>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Trevor Gross <tmgross@umich.edu>
Link: https://lore.kernel.org/r/20240913213041.395655-3-gary@garyguo.net
[ Formatted comment. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Diffstat (limited to 'rust/bindgen_parameters')
| -rw-r--r-- | rust/bindgen_parameters | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/rust/bindgen_parameters b/rust/bindgen_parameters index b7c7483123b7..0f96af8b9a7f 100644 --- a/rust/bindgen_parameters +++ b/rust/bindgen_parameters @@ -1,5 +1,10 @@ # 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 |
