blob: 439d08404be950217fca71b34a11913c38baafa2 [file] [view]
llvm's libc
-----------
These files are from the llvm-project based on release 22.1.8.
We maintain a local fork of llvm-project that contains any Emscripten
specific patches:
https://github.com/emscripten-core/llvm-project
The current patch is based on the emscripten-libs-22 branch.
Currently in production, we do not use LLVM's libc directly yet, but libcxx uses
a subset of headers from libc. So libcxx directly depends on the following
directories:
- libc/hdr
- libc/include/llvm-libc-macros
- libc/include/llvm-libc-types
- libc/shared
- libc/src/__support
In addition, we are experimenting with using llvm-libc in overlay mode. You can
enable this by running with `EMCC_CFLAGS=-lllvmlibc`. See
https://libc.llvm.org/overlay_mode.html for more details.
Update Instructions
-------------------
Run `system/lib/update_libcxx.py path/to/llvm-project`
Run `system/lib/update_llvm_libc.py path/to/llvm-project`
Modifications
-------------
For a list of changes from upstream see the libc files that are part of:
https://github.com/llvm/llvm-project/compare/llvmorg-22.1.8...emscripten-core:emscripten-libs-22