Re: [PATCH 1/1] rust: bindgen: Add `alt_instr` as opaque type

From: Vincenzo Palazzo
Date: Thu Mar 02 2023 - 10:15:46 EST


> To address this build error:
>
> BINDGEN rust/bindings/bindings_generated.rs
> BINDGEN rust/bindings/bindings_helpers_generated.rs
> EXPORTS rust/exports_core_generated.h
> RUSTC P rust/libmacros.so
> RUSTC L rust/compiler_builtins.o
> RUSTC L rust/alloc.o
> RUSTC L rust/bindings.o
> RUSTC L rust/build_error.o
> EXPORTS rust/exports_alloc_generated.h
> error[E0588]: packed type cannot transitively contain a `#[repr(align)]` type
> --> /var/home/acme/git/linux/rust/bindings/bindings_generated.rs:10094:1
> |
> 10094 | / pub struct alt_instr {
> 10095 | | pub instr_offset: s32,
> 10096 | | pub repl_offset: s32,
> 10097 | | pub __bindgen_anon_1: alt_instr__bindgen_ty_1,
> 10098 | | pub instrlen: u8_,
> 10099 | | pub replacementlen: u8_,
> 10100 | | }
> | |_^
> |
> note: `alt_instr__bindgen_ty_1__bindgen_ty_1` has a `#[repr(align)]` attribute
> --> /var/home/acme/git/linux/rust/bindings/bindings_generated.rs:10111:1
> |
> 10111 | / pub struct alt_instr__bindgen_ty_1__bindgen_ty_1 {
> 10112 | | pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>,
> 10113 | | }
> | |_^
> note: `alt_instr` contains a field of type `alt_instr__bindgen_ty_1`
> --> /var/home/acme/git/linux/rust/bindings/bindings_generated.rs:10097:9
> |
> 10097 | pub __bindgen_anon_1: alt_instr__bindgen_ty_1,
> | ^^^^^^^^^^^^^^^^
> note: ...which contains a field of type `alt_instr__bindgen_ty_1__bindgen_ty_1`
> --> /var/home/acme/git/linux/rust/bindings/bindings_generated.rs:10104:9
> |
> 10104 | pub __bindgen_anon_1: alt_instr__bindgen_ty_1__bindgen_ty_1,
> | ^^^^^^^^^^^^^^^^
>
> error: aborting due to previous error
>
> For more information about this error, try `rustc --explain E0588`.
> make[1]: *** [rust/Makefile:389: rust/bindings.o] Error 1
> make: *** [Makefile:1293: prepare] Error 2
>
> Cc: Derek Barbosa <debarbos@xxxxxxxxxx>
> Cc: Miguel Ojeda <ojeda@xxxxxxxxxx>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

Ah good catch!

Reviewed-by: Vincenzo Palazzo <vincenzopalazzodev@xxxxxxxxx>