wasi-libc/libc-bottom-half
Dan Gohman 215adc8ac9
Redefine the access bits to be compatible with other systems (#210)
Normally bits like this would be considered implementation details, but
in this case, `X_OK`, `W_OK`, and `R_OK` line up with `S_IXOTH`,
`S_IWOTH`, and `S_IROTH` on other systems, and those bits do have
well-known values.
2020-07-31 13:44:58 -07:00
..
cloudlibc Avoid calling poll_oneoff with zero subscriptions. (#162) 2020-06-01 19:00:30 -07:00
crt Rename __prepare_for_exit to __wasm_call_dtors. (#201) 2020-06-08 15:21:18 -07:00
headers Redefine the access bits to be compatible with other systems (#210) 2020-07-31 13:44:58 -07:00
mman Make mmap() possible to use in a conformant way. (#197) 2020-05-26 12:49:13 -07:00
signal Replace old <signal.h> support with emulated <signal.h> support. (#183) 2020-05-29 13:07:52 -07:00
sources Avoid calling poll_oneoff with zero subscriptions. (#162) 2020-06-01 19:00:30 -07:00
README.md Merge the basics component into libc-bottom-half. (#199) 2020-06-01 16:44:05 -07:00

WASI libc "bottom half".

The WASI libc "bottom half" is conceptually the lower half of a traditional libc implementation, consisting of C interfaces to the low-level WASI syscalls.

This implementation is partially derived from the "bottom half" of cloudlibc, revision 8835639f27fc42d32096d59d294a0bbb857dc368.

This implementation includes preopen functionality, which emulates POSIX APIs accepting absolute paths by translating them into pre-opened directory handles and relative paths that can be opened with openat. This technique is inspired by libpreopen, however the implementation here is designed to be built into libc rather than to be a layer on top of libc.

The WASI libc lower half currently depends on the dlmalloc component.