LLVM libc#
The $dir_pw_third_party/llvm_libc/
module provides various helpers to
optionally use LLVM libc
with pw_libc.
Using upstream LLVM libc#
If you want to use LLVM libc
, you must do the following:
Submodule#
Add LLVM libc
to your workspace with the following command.
$ git submodule add https://llvm.googlesource.com/llvm-project/libc \
> third_party/llvm_libc/src
Note
This Git repository is maintained by Google and is a slice of upstream
LLVM including only the libc
subdirectory.
GN#
Set the GN var
dir_pw_third_party_llvm_libc
to the location of the LLVMlibc
source. If you used the command above, this will be//third_party/llvm_libc/src
.This can be set in your
args.gn
or.gn
file like:dir_pw_third_party_llvm_libc = "//third_party/llvm_libc_src"
Status#
Currently, the llvm-libc integration in pw_libc
only provides a
pw_libc.a
and is not suitable as a full replacement for libc
. Not all
functions used by projects are currently available to use from llvm-libc.
Moreover, headers are provided from the sysroot libc
. Startup files are also
provided from the sysroot.
In the future, we hope to be able to fully replace the sysroot libc
.