1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-02-07 05:02:38 +00:00

fix(core): unify size of enums between rust and C

[no changelog]
This commit is contained in:
tychovrahe 2025-01-28 11:12:44 +01:00 committed by TychoVrahe
parent 399aa4f2ea
commit 671c3e2a65
4 changed files with 6 additions and 3 deletions

View File

@ -137,6 +137,7 @@ fn prepare_bindings() -> bindgen::Builder {
// Pass in correct include paths and defines.
if is_firmware() {
clang_args.push("-nostdinc");
clang_args.push("-fshort-enums"); // Make sure enums use the same size as in C
// Append gcc-arm-none-eabi's include paths.
let cc_output = Command::new("arm-none-eabi-gcc")
@ -158,6 +159,8 @@ fn prepare_bindings() -> bindgen::Builder {
.map(|s| format!("-I{}", s.trim()));
bindings = bindings.clang_args(include_args);
} else {
clang_args.push("-fno-short-enums");
}
bindings = bindings.clang_args(&clang_args);

View File

@ -76,7 +76,7 @@ impl<T> Gc<T> {
/// Can only be used with Python objects that have a base as their
/// first element
pub unsafe fn new_with_custom_finaliser(v: T) -> Result<Self, Error> {
unsafe { Self::alloc(v, ffi::GC_ALLOC_FLAG_HAS_FINALISER) }
unsafe { Self::alloc(v, ffi::GC_ALLOC_FLAG_HAS_FINALISER as _) }
}
}

View File

@ -22,7 +22,7 @@ pub fn get_font_info(font: i32) -> Option<FontInfo> {
// - The font_info_t contains pointers to static glyph data arrays also in ROM
// - All font data is generated at compile time and included in the binary
unsafe {
let font = ffi::get_font_info(font);
let font = ffi::get_font_info(font as _);
Some(*font.as_ref()?)
}
}

View File

@ -50,7 +50,7 @@ unsafe extern "C" fn callback_wrapper(
c(
wait,
progress,
PinCallbackMessage::from_u32(message).unwrap_or(PinCallbackMessage::None),
PinCallbackMessage::from_u32(message as _).unwrap_or(PinCallbackMessage::None),
)
})
.unwrap_or(PinCallbackResult::Continue)