← All repos

wasi-libc

WASI libc implementation for WebAssembly

wasi
Browse cluster: WebAssembly Specification and Proposals
656commits
62contributors
12languages

Tech stack & purpose

wasi-libc is a libc implementation for WebAssembly programs that provides POSIX-compatible C APIs built on top of WASI system calls. It supports standard I/O, file I/O, filesystem manipulation, memory management, time, string handling, and environment variables, among other functionality. The project is structured in two layers: the "bottom half" consisting of C interfaces to low-level WASI syscalls (derived from cloudlibc and inspired by libpreopen), and the "top half" based on musl libc providing higher-level standard library functionality. The implementation is built with CMake and requires a WebAssembly-supporting C compiler like Clang 10 or later, and it depends on dlmalloc for memory allocation, with experimental pthread support provided through the wasi-threads proposal.

Languages

C
94.4%
CMake
1.5%
Assembly
1.3%
Shell
1.2%
C++
0.5%
Rust
0.4%
Makefile
0.3%
JavaScript
0.1%
Awk
0.1%
Starlark
0.0%
HTML
0.0%
sed
0.0%

Contributors (top 30 of 62)