wasi-libc/libc-bottom-half
Dan Gohman 0cc57ac7b4
Multi-license wasi-libc under Apache and MIT licenses. (#174)
Multi-license wasi-libc under the Apache-2.0 WITH LLVM-exception,
Apache-2.0, and MIT licenses.
2020-02-29 10:52:28 +01:00
..
cloudlibc Update to musl 1.1.24. 2020-02-26 10:23:05 -08:00
crt Add support for __main_argc_argv. 2020-02-27 13:09:38 -08:00
headers Multi-license wasi-libc under Apache and MIT licenses. (#174) 2020-02-29 10:52:28 +01:00
libpreopen cloudlibc & libpreopen: changes for tagged unions 2020-02-24 11:36:05 -08:00
mman Multi-license wasi-libc under Apache and MIT licenses. (#174) 2020-02-29 10:52:28 +01:00
sources Multi-license wasi-libc under Apache and MIT licenses. (#174) 2020-02-29 10:52:28 +01: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.