arudradey's picture
|
download
raw
1.13 kB

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

Xet Storage Details

Size:
1.13 kB
·
Xet hash:
1c525596f8b19855d5890b5865c4b8fa34facc79c696cd208bcda13361d60522

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.