From de69d6317516af95e09ca7a48484fa175b171d11 Mon Sep 17 00:00:00 2001 From: mlugg Date: Wed, 11 Jun 2025 21:36:16 +0100 Subject: [PATCH] stage1: elaborate on "unimplemented" in wasi.c --- stage1/wasi.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/stage1/wasi.c b/stage1/wasi.c index 0c9ca18c57..ef2183dae8 100644 --- a/stage1/wasi.c +++ b/stage1/wasi.c @@ -517,7 +517,7 @@ uint32_t wasi_snapshot_preview1_fd_read(uint32_t fd, uint32_t iovs, uint32_t iov case wasi_filetype_character_device: break; case wasi_filetype_regular_file: break; case wasi_filetype_directory: return wasi_errno_inval; - default: panic("unimplemented"); + default: panic("unimplemented: fd_read special file"); } size_t size = 0; @@ -629,7 +629,7 @@ uint32_t wasi_snapshot_preview1_fd_pwrite(uint32_t fd, uint32_t iovs, uint32_t i case wasi_filetype_character_device: break; case wasi_filetype_regular_file: break; case wasi_filetype_directory: return wasi_errno_inval; - default: panic("unimplemented"); + default: panic("unimplemented: fd_pwrite special file"); } fpos_t pos; @@ -679,7 +679,7 @@ uint32_t wasi_snapshot_preview1_fd_filestat_set_times(uint32_t fd, uint64_t atim fprintf(stderr, "wasi_snapshot_preview1_fd_filestat_set_times(%u, %llu, %llu, 0x%X)\n", fd, (unsigned long long)atim, (unsigned long long)mtim, fst_flags); #endif - panic("unimplemented"); + panic("unimplemented: fd_filestat_set_times"); return wasi_errno_success; } @@ -703,7 +703,7 @@ uint32_t wasi_snapshot_preview1_environ_get(uint32_t environ, uint32_t environ_b fprintf(stderr, "wasi_snapshot_preview1_environ_get()\n"); #endif - panic("unimplemented"); + panic("unimplemented: environ_get"); return wasi_errno_success; } @@ -757,7 +757,7 @@ uint32_t wasi_snapshot_preview1_fd_readdir(uint32_t fd, uint32_t buf, uint32_t b fprintf(stderr, "wasi_snapshot_preview1_fd_readdir(%u, 0x%X, %u, %llu)\n", fd, buf, buf_len, (unsigned long long)cookie); #endif - panic("unimplemented"); + panic("unimplemented: fd_readdir"); return wasi_errno_success; } @@ -774,7 +774,7 @@ uint32_t wasi_snapshot_preview1_fd_write(uint32_t fd, uint32_t iovs, uint32_t io case wasi_filetype_character_device: break; case wasi_filetype_regular_file: break; case wasi_filetype_directory: return wasi_errno_inval; - default: panic("unimplemented"); + default: panic("unimplemented: fd_write special file"); } size_t size = 0; @@ -825,7 +825,7 @@ uint32_t wasi_snapshot_preview1_path_open(uint32_t fd, uint32_t dirflags, uint32 fds[fd_len].fdflags = fdflags; switch (des[de].filetype) { case wasi_filetype_directory: fds[fd_len].stream = NULL; break; - default: panic("unimplemented"); + default: panic("unimplemented: path_open non-directory DirEntry"); } fds[fd_len].fs_rights_inheriting = fs_rights_inheriting; @@ -943,7 +943,7 @@ uint32_t wasi_snapshot_preview1_path_unlink_file(uint32_t fd, uint32_t path, uin enum wasi_errno lookup_errno = DirEntry_lookup(fd, 0, path_ptr, path_len, &de); if (lookup_errno != wasi_errno_success) return lookup_errno; if (des[de].filetype == wasi_filetype_directory) return wasi_errno_isdir; - if (des[de].filetype != wasi_filetype_regular_file) panic("unimplemented"); + if (des[de].filetype != wasi_filetype_regular_file) panic("unimplemented: path_unlink_file special file"); DirEntry_unlink(de); return wasi_errno_success; } @@ -961,7 +961,7 @@ uint32_t wasi_snapshot_preview1_fd_pread(uint32_t fd, uint32_t iovs, uint32_t io case wasi_filetype_character_device: break; case wasi_filetype_regular_file: break; case wasi_filetype_directory: return wasi_errno_inval; - default: panic("unimplemented"); + default: panic("unimplemented: fd_pread special file"); } fpos_t pos; @@ -975,7 +975,7 @@ uint32_t wasi_snapshot_preview1_fd_pread(uint32_t fd, uint32_t iovs, uint32_t io if (fds[fd].stream != NULL) read_size = fread(&m[load32_align2(&iovs_ptr[i].ptr)], 1, len, fds[fd].stream); else - panic("unimplemented"); + panic("unimplemented: fd_pread stream=NULL"); size += read_size; if (read_size < len) break; } @@ -1000,7 +1000,7 @@ uint32_t wasi_snapshot_preview1_fd_seek(uint32_t fd, uint64_t in_offset, uint32_ case wasi_filetype_character_device: break; case wasi_filetype_regular_file: break; case wasi_filetype_directory: return wasi_errno_inval; - default: panic("unimplemented"); + default: panic("unimplemented: fd_seek special file"); } if (fds[fd].stream == NULL) return wasi_errno_success; @@ -1035,7 +1035,7 @@ uint32_t wasi_snapshot_preview1_poll_oneoff(uint32_t in, uint32_t out, uint32_t fprintf(stderr, "wasi_snapshot_preview1_poll_oneoff(%u)\n", nsubscriptions); #endif - panic("unimplemented"); + panic("unimplemented: poll_oneoff"); return wasi_errno_success; }