切腹のイラスト

LLVM libcを試す

{
  date: "",
  category: "/memo"
}

とりあえずDocker中のAlpineで試す。

https://libc.llvm.org/full_host_build.html#configure-the-build-for-development を参考にやっていく。

% apk add clang cmake ninja python3 py3-sphinx py3-yaml linux-headers
% wget -O- https://github.com/llvm/llvm-project/archive/main.tar.gz | tar xvz
% mkdir -p llvm-project-main/build && cd llvm-project-main/build
% cmake ../runtimes \
    -G Ninja \
    -DCMAKE_C_COMPILER=clang \
    -DCMAKE_CXX_COMPILER=clang++ \
    -DLLVM_ENABLE_RUNTIMES="libc;compiler-rt" \
    -DLLVM_LIBC_FULL_BUILD=ON \
    -DCMAKE_BUILD_TYPE=Debug \
    -DLLVM_LIBC_INCLUDE_SCUDO=ON \
    -DCOMPILER_RT_BUILD_SCUDO_STANDALONE_WITH_LLVM_LIBC=ON \
    -DCOMPILER_RT_BUILD_GWP_ASAN=OFF                       \
    -DCOMPILER_RT_SCUDO_STANDALONE_BUILD_SHARED=OFF        \
    -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
    -DLLVM_ENABLE_SPHINX=ON -DLIBC_INCLUDE_DOCS=ON \
    -DLIBC_CMAKE_VERBOSE_LOGGING=ON
% ninja libc libm check-libc