mirror of
https://github.com/ziglang/zig.git
synced 2026-02-16 14:28:57 +00:00
wasi: sigabrt at panic
This commit is contained in:
parent
fe9cd0b4bc
commit
93528be6b1
@ -1,12 +1,17 @@
|
||||
pub const __wasi_errno_t = u16;
|
||||
pub const __wasi_exitcode_t = u32;
|
||||
pub const __wasi_fd_t = u32;
|
||||
pub const __wasi_signal_t = u8;
|
||||
|
||||
pub const __wasi_ciovec_t = extern struct {
|
||||
buf: [*]const u8,
|
||||
buf_len: usize,
|
||||
};
|
||||
|
||||
pub const __WASI_SIGABRT: __wasi_signal_t = 6;
|
||||
|
||||
pub extern fn __wasi_proc_raise(sig: __wasi_signal_t) __wasi_errno_t;
|
||||
|
||||
pub extern fn __wasi_proc_exit(rval: __wasi_exitcode_t) noreturn;
|
||||
|
||||
pub extern fn __wasi_fd_write(fd: __wasi_fd_t, iovs: *const __wasi_ciovec_t, iovs_len: usize, nwritten: *usize) __wasi_errno_t;
|
||||
|
||||
@ -10,10 +10,14 @@ pub fn panic(msg: []const u8, error_return_trace: ?*builtin.StackTrace) noreturn
|
||||
@setCold(true);
|
||||
switch (builtin.os) {
|
||||
// TODO: fix panic in zen
|
||||
// TODO: fix panic in wasi
|
||||
builtin.Os.freestanding, builtin.Os.zen, builtin.Os.wasi => {
|
||||
builtin.Os.freestanding, builtin.Os.zen => {
|
||||
while (true) {}
|
||||
},
|
||||
builtin.Os.wasi => {
|
||||
std.debug.warn("{}", msg);
|
||||
_ = std.os.wasi.__wasi_proc_raise(std.os.wasi.__WASI_SIGABRT);
|
||||
unreachable;
|
||||
},
|
||||
builtin.Os.uefi => {
|
||||
// TODO look into using the debug info and logging helpful messages
|
||||
std.os.abort();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user