Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Runtime builtins use C-unwind exports

Platform spec ADR

Runtime builtins use C-unwind exports

Spec standingStandard

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki

Generated code calls runtime entrypoints across JIT relink and AOT link. Rust panics across the boundary must use the platform unwind ABI expected by Cranelift call sites.

RuleDetail
Export attributeImplementations use #[unsafe(no_mangle)] pub extern "C-unwind" in beskid_runtime::builtins
RegistryRUNTIME_EXPORT_SYMBOLS lists every export the linker/JIT registers
Layout typesBeskidStr { ptr, len } and BeskidArray { ptr, len, cap } are normative payload headers
FamiliesAllocation, GC, fibers, channels, interop dispatch, IO, and panic share one catalog

Host tooling resolves imports by symbol name + BUILTIN_SPECS signature, not Rust mangling.

compiler/crates/beskid_runtime/src/builtins/mod.rs; compiler/crates/beskid_runtime/src/lib.rs re-exports.