wasi-libc/libc-bottom-half
Daniel Bevenius 37c663f2f0
Correct minor typo in c_headers.rs (#166)
The header api.h was update using the following command:
$ cd tools/wasi-headers
$ cargo run -- WASI/phases/snapshot/witx/typenames.witx \
  WASI/phases/snapshot/witx/wasi_snapshot_preview1.witx \
  --output ../../libc-bottom-half/headers/public/wasi/api.h
2020-02-07 05:18:10 -08:00
..
cloudlibc Wasi snapshot preview1 (#140) 2019-11-21 20:06:00 -08:00
crt Use constructor functions for optional init routines. (#142) 2019-11-25 14:04:45 -08:00
headers Correct minor typo in c_headers.rs (#166) 2020-02-07 05:18:10 -08:00
libpreopen Use constructor functions for optional init routines. (#142) 2019-11-25 14:04:45 -08:00
mman Use consistent style for wasi-libc C source files. (#131) 2019-11-08 11:59:57 -08:00
sources Fix environment variable init to exit successfully. (#159) 2020-01-14 09:56:58 -08:00
README.md Update to libpreopen 8835639f27fc42d32096d59d294a0bbb857dc368. 2019-05-09 09:16:56 -07:00

"WASI" the WebAssembly System Interface.

WASI libc is conceptually the lower half of a traditional libc implementation. It provides C interfaces to the low-level WASI syscalls.

This is largely based on CloudABI, cloudlibc, and libpreopen, however we use just the low-level syscall wrappers rather than all of cloudlibc and libpreopen, and we have several customizations for use in a WebAssembly sysroot.

The upstream repositories and versions used here are:

cloudlibc - https://github.com/NuxiNL/cloudlibc 8835639f27fc42d32096d59d294a0bbb857dc368 libpreopen - https://github.com/musec/libpreopen b29e9287cc75a7db7291ce3eb468a3d2bad8ceb1

Whole files which are unused are omitted. Changes to upstream code are wrapped in preprocessor directives controlled by the macro __wasilibc_unmodified_upstream, except that CloudABI names have also been renamed to WASI names without annotations.

WASI libc currently depends on the basics and dlmalloc components of reference-sysroot.