1.39 GB
20,046 files
Updated 15 days ago
NameSize
compiler-rt
embind
fetch
gl
html5
libc
libcxx
libcxxabi
libunwind
llvm-libc
mimalloc
pkgconfig
pthread
standalone
wasm_worker
wasmfs
websocket
README.md1.13 kB
xet
al.c8.38 kB
xet
dlmalloc.c237 kB
xet
emmalloc.c59 kB
xet
jsmath.c1.2 kB
xet
push_llvm_changes.py1.58 kB
xet
push_musl_changes.py1.15 kB
xet
stb_image.c422 Bytes
xet
update_compiler_rt.py2.25 kB
xet
update_libcxx.py3.09 kB
xet
update_libcxxabi.py1.91 kB
xet
update_libunwind.py1.84 kB
xet
update_llvm_libc.py3.01 kB
xet
update_musl.py2.48 kB
xet
README.md

Source code for C/C++ system libraries

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 subdirectories.

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)
  • 49: init_file_data (generated by file_packager.py)
  • 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).

Total size
1.39 GB
Files
20,046
Last updated
May 9
Pre-warmed CDN
US EU US EU

Contributors