Moved rust panic handler into it's own crate.
This commit is contained in:
parent
761b4a3a6a
commit
88bbdca460
13
rust/Cargo.lock
generated
13
rust/Cargo.lock
generated
@ -9,6 +9,7 @@ dependencies = [
|
||||
"dw2003_exe_data",
|
||||
"dw2003_exe_digimon_profiles",
|
||||
"dw2003_exe_lba",
|
||||
"panic_handler",
|
||||
"util",
|
||||
]
|
||||
|
||||
@ -16,6 +17,7 @@ dependencies = [
|
||||
name = "dw2003_exe_data"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"panic_handler",
|
||||
"util",
|
||||
]
|
||||
|
||||
@ -23,6 +25,7 @@ dependencies = [
|
||||
name = "dw2003_exe_digimon_profiles"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"panic_handler",
|
||||
"util",
|
||||
]
|
||||
|
||||
@ -30,6 +33,7 @@ dependencies = [
|
||||
name = "dw2003_exe_lba"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"panic_handler",
|
||||
"util",
|
||||
]
|
||||
|
||||
@ -37,6 +41,7 @@ dependencies = [
|
||||
name = "dw2003_pro_fieldstg"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"panic_handler",
|
||||
"types",
|
||||
"util",
|
||||
]
|
||||
@ -45,6 +50,7 @@ dependencies = [
|
||||
name = "dw2003_pro_sdigiedt"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"panic_handler",
|
||||
"types",
|
||||
"util",
|
||||
]
|
||||
@ -53,6 +59,7 @@ dependencies = [
|
||||
name = "dw2003_pro_stfgtrep"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"panic_handler",
|
||||
"types",
|
||||
"util",
|
||||
]
|
||||
@ -61,6 +68,7 @@ dependencies = [
|
||||
name = "dw2003_pro_stgtrain"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"panic_handler",
|
||||
"util",
|
||||
]
|
||||
|
||||
@ -68,10 +76,15 @@ dependencies = [
|
||||
name = "dw2003_pro_stitshop"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"panic_handler",
|
||||
"types",
|
||||
"util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "panic_handler"
|
||||
version = "0.1.0"
|
||||
|
||||
[[package]]
|
||||
name = "types"
|
||||
version = "0.1.0"
|
||||
|
||||
@ -19,6 +19,7 @@ members = [
|
||||
# Utilities
|
||||
"types",
|
||||
"util",
|
||||
"panic_handler",
|
||||
]
|
||||
|
||||
[workspace.dependencies]
|
||||
@ -35,3 +36,4 @@ dw2003_pro_fieldstg = { path = "dw2003_pro_fieldstg" }
|
||||
dw2003_pro_stitshop = { path = "dw2003_pro_stitshop" }
|
||||
types = { path = "types" }
|
||||
util = { path = "util" }
|
||||
panic_handler = { path = "panic_handler" }
|
||||
|
||||
@ -11,4 +11,5 @@ crate-type = ["staticlib"]
|
||||
dw2003_exe_data = { workspace = true }
|
||||
dw2003_exe_digimon_profiles = { workspace = true }
|
||||
dw2003_exe_lba = { workspace = true }
|
||||
panic_handler = { workspace = true }
|
||||
util = { workspace = true }
|
||||
|
||||
@ -4,4 +4,4 @@
|
||||
#![no_std]
|
||||
|
||||
// Export
|
||||
pub use {dw2003_exe_data, dw2003_exe_digimon_profiles, dw2003_exe_lba, util::panic_handler};
|
||||
pub use {dw2003_exe_data, dw2003_exe_digimon_profiles, dw2003_exe_lba, panic_handler};
|
||||
|
||||
@ -5,4 +5,5 @@ version = "0.1.0"
|
||||
|
||||
[dependencies]
|
||||
|
||||
panic_handler = { workspace = true }
|
||||
util = { workspace = true }
|
||||
|
||||
@ -6,3 +6,4 @@ version = "0.1.0"
|
||||
[dependencies]
|
||||
|
||||
util = { workspace = true }
|
||||
panic_handler = { workspace = true }
|
||||
|
||||
@ -5,4 +5,5 @@ version = "0.1.0"
|
||||
|
||||
[dependencies]
|
||||
|
||||
panic_handler = { workspace = true }
|
||||
util = { workspace = true }
|
||||
|
||||
@ -8,5 +8,6 @@ crate-type = ["staticlib"]
|
||||
|
||||
[dependencies]
|
||||
|
||||
panic_handler = { workspace = true }
|
||||
types = { workspace = true }
|
||||
util = { workspace = true }
|
||||
|
||||
@ -10,4 +10,4 @@
|
||||
pub mod data;
|
||||
|
||||
// Export
|
||||
pub use util::panic_handler;
|
||||
pub use panic_handler;
|
||||
|
||||
@ -8,5 +8,6 @@ crate-type = ["staticlib"]
|
||||
|
||||
[dependencies]
|
||||
|
||||
panic_handler = { workspace = true }
|
||||
types = { workspace = true }
|
||||
util = { workspace = true }
|
||||
|
||||
@ -10,4 +10,4 @@
|
||||
pub mod data;
|
||||
|
||||
// Export
|
||||
pub use util::panic_handler;
|
||||
pub use panic_handler;
|
||||
|
||||
@ -8,5 +8,6 @@ crate-type = ["staticlib"]
|
||||
|
||||
[dependencies]
|
||||
|
||||
panic_handler = { workspace = true }
|
||||
types = { workspace = true }
|
||||
util = { workspace = true }
|
||||
|
||||
@ -10,4 +10,4 @@
|
||||
pub mod data;
|
||||
|
||||
// Export
|
||||
pub use util::panic_handler;
|
||||
pub use panic_handler;
|
||||
|
||||
@ -8,4 +8,5 @@ crate-type = ["staticlib"]
|
||||
|
||||
[dependencies]
|
||||
|
||||
panic_handler = { workspace = true }
|
||||
util = { workspace = true }
|
||||
|
||||
@ -10,4 +10,4 @@
|
||||
pub mod data;
|
||||
|
||||
// Export
|
||||
pub use util::panic_handler;
|
||||
pub use panic_handler;
|
||||
|
||||
@ -8,5 +8,6 @@ crate-type = ["staticlib"]
|
||||
|
||||
[dependencies]
|
||||
|
||||
panic_handler = { workspace = true }
|
||||
types = { workspace = true }
|
||||
util = { workspace = true }
|
||||
|
||||
@ -10,4 +10,4 @@
|
||||
pub mod data;
|
||||
|
||||
// Export
|
||||
pub use util::panic_handler;
|
||||
pub use panic_handler;
|
||||
|
||||
6
rust/panic_handler/Cargo.toml
Normal file
6
rust/panic_handler/Cargo.toml
Normal file
@ -0,0 +1,6 @@
|
||||
[package]
|
||||
edition = "2021"
|
||||
name = "panic_handler"
|
||||
version = "0.1.0"
|
||||
|
||||
[dependencies]
|
||||
15
rust/panic_handler/src/lib.rs
Normal file
15
rust/panic_handler/src/lib.rs
Normal file
@ -0,0 +1,15 @@
|
||||
//! Panic handler
|
||||
|
||||
// Features
|
||||
#![no_std]
|
||||
|
||||
/// Dummy panic handler
|
||||
// Note: This function will not make it to the final binary
|
||||
// due to our linker script discarding it and being
|
||||
// annotated with `inline(never)`
|
||||
#[no_mangle]
|
||||
#[panic_handler]
|
||||
#[inline(never)]
|
||||
pub fn panic_handler(_info: &core::panic::PanicInfo) -> ! {
|
||||
loop {}
|
||||
}
|
||||
@ -17,14 +17,3 @@ pub macro decl_static($section:literal,
|
||||
$vis static mut $NAME: $T = $value;
|
||||
)*
|
||||
}
|
||||
|
||||
// Dummy panic handler
|
||||
// Note: This function will not make it to the final binary
|
||||
// due to our linker script discarding it and being
|
||||
// annotated with `inline(never)`
|
||||
#[no_mangle]
|
||||
#[panic_handler]
|
||||
#[inline(never)]
|
||||
pub fn panic_handler(_info: &core::panic::PanicInfo) -> ! {
|
||||
loop {}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user