emscripten/system/lib
Kleis Auke Wolthuizen 9cfcefb54d
Remove _pthread_isduecanceled in favor of ->cancel. NFC. (#15625)
2021-11-29 17:18:39 -08:00
..
compiler-rt Update musl to v1.2.2 (#13006) 2021-11-09 15:56:19 -08:00
embind [Memory64] embind C++ changes for 64-bit (#15226) 2021-10-07 15:08:04 -07:00
fetch Set emscripten_is_main_browser_thread based on ENVIRONMENT_IS_WEB (#15630) 2021-11-24 20:08:08 +00:00
gl Add variadic versions of emscripten_console functions (#15199) 2021-10-04 15:03:45 -07:00
html5 Revert clang-format of system/lib/html5/dom_pk_codes.c (#12681) 2020-11-02 15:58:32 -08:00
libc Remove _pthread_isduecanceled in favor of ->cancel. NFC. (#15625) 2021-11-29 17:18:39 -08:00
libcxx Update libcxx to llvm-12 (#14249) 2021-05-25 15:34:12 -07:00
libcxxabi Move `__cxa_thread_atexit` to native code (#14489) 2021-10-04 15:38:05 -07:00
libunwind [Docs] Update links to llvm sources (#13981) 2021-04-23 08:18:15 -07:00
pkgconfig
pthread Remove _pthread_isduecanceled in favor of ->cancel. NFC. (#15625) 2021-11-29 17:18:39 -08:00
standalone Update musl to v1.2.2 (#13006) 2021-11-09 15:56:19 -08:00
wasmfs [WASMFS] Remove EM_ASM from wasmfs.cpp (#15646) 2021-11-29 15:29:53 -08:00
webgpu Update WebGPU bindings (#15063) 2021-09-24 03:47:33 +01:00
websocket Use C/C++ builtin atomics over emscripten helper funcs. NFC. (#14578) 2021-07-02 11:38:57 -07:00
README.md [Minor] Add wasmfs constructor to readme (#15464) 2021-11-09 13:21:01 -08:00
al.c Add variadic versions of emscripten_console functions (#15199) 2021-10-04 15:03:45 -07:00
asan_js.c
dlmalloc.c Update musl to v1.2.2 (#13006) 2021-11-09 15:56:19 -08:00
emmalloc.c emmalloc: use SMALLEST_ALLOCATION_SIZE. NFC (#15567) 2021-11-18 11:46:23 -08:00
jsmath.c
push_llvm_changes.py Add scripts for copying changes out back into upstream llvm and musl (#15430) 2021-11-05 10:09:48 -07:00
push_musl_changes.py Add scripts for copying changes out back into upstream llvm and musl (#15430) 2021-11-05 10:09:48 -07:00
sbrk.c Compile emmalloc as C rather than C++. NFC (#14773) 2021-07-27 22:42:06 -07:00
stb_image.c Avoid compiling stb_image at link time (#13658) 2021-03-15 17:34:36 -07:00
update_compiler_rt.py Add scripts for copying changes out back into upstream llvm and musl (#15430) 2021-11-05 10:09:48 -07:00
update_libcxx.py Add scripts for copying changes out back into upstream llvm and musl (#15430) 2021-11-05 10:09:48 -07:00
update_libcxxabi.py Add scripts for copying changes out back into upstream llvm and musl (#15430) 2021-11-05 10:09:48 -07:00
update_musl.py Update musl to v1.2.2 (#13006) 2021-11-09 15:56:19 -08:00

README.md

Source code for C/C++ system libaries

This directory contains the source code for libc, libc++ and other C/C++ system libraries. Where possible these are clones of upstream projects (e.g. musl). For more details about each library see the individual readme files in the subdirectoris.

Static constructor ordering

These are several static constructors in the emscripten system libraries and they are in a specific order. When adding/remove/updating these please update this document.

These current set of static constructors in system libraries and their priorities (lowest run first) are:

  • 1: emscripten_stack_init (stack_limits.S)
  • 47: initialize_emmalloc_heap (emmalloc.c)
  • 48: __emscripten_init_main_thread (pthread/library_pthread.c)
  • 50: asan init (??)
  • 100: WasmFS wasmFS (wasmfs/wasmfs.cpp)

Priorities 0 - 100 are reserved for system libraries and user-level constructors should all run at 101 and above (for example libc++ initializes its standard I/O streams at priority 101).