wasi-libc/libc-top-half
Dan Gohman 00cc5944df
Comment a use of __attribute__((visibility("protected"))). (#204)
This comments out a use of "protected" visibility, since
[WebAssembly doesn't support it].

[WebAssembly doesn't support it]: https://reviews.llvm.org/D81688
2020-06-12 20:21:12 -07:00
..
headers/private Lazy-initialize the environment variables. (#184) 2020-03-19 09:32:41 -07:00
musl Comment a use of __attribute__((visibility("protected"))). (#204) 2020-06-12 20:21:12 -07:00
sources Multi-license wasi-libc under Apache and MIT licenses. (#174) 2020-02-29 10:52:28 +01:00
README.md Rewrite the preopen functionality. (#173) 2020-06-01 14:32:24 -07:00

WASI libc "top half".

The WASI libc "top half" is conceptually the upper half of a traditional libc implementation, consisting of C standard library and other relatively higher-level functionality.

Code in the musl directory is based on musl revision 040c1d16b468c50c04fc94edff521f1637708328, which is v1.2.0, from git://git.musl-libc.org/musl.

Whole files which are unused are omitted. Changes to upstream code are wrapped in preprocessor directives controlled by the macro __wasilibc_unmodified_upstream.

Some major known missing areas include:

  • threads
  • aio
  • setjmp
  • signals
  • ipc
  • termios
  • nss
  • timezones
  • non-builtin locales
  • TIOCGWINSZ (because cloudabi lacks it; affects isatty, line buffering for stdout)
  • O_CLOEXEC, O_NOCTTY (because cloudabi lacks them)