From 8970d5b69747a2321ad7fca68f838b5a4238ef11 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Mon, 17 Jun 2024 11:39:27 -0700 Subject: [PATCH] Update Clang toolchain from 18.0.0 to 18.1.8 This is done in the interest of assisting #12075 and #11626. Currently the Rust toolchain cannot be updated because the latest nightly uses LLVM 18.1.8 and coverage information breaks. This breakage is because LLVM 18.1.8 records coverage information with version "9" but LLVM 18.0.0 recorded coverage information with version "8". This means that the recordings created by Rust binaries use version "9" which are unreadable by the processing that OSS-Fuzz does with the 18.0.0-based toolchain using version "8". This commit updates the Clang toolchain to the latest 18.x.x release to get the two in sync so the same coverage recording version is used. --- infra/base-images/base-clang/checkout_build_install_llvm.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/infra/base-images/base-clang/checkout_build_install_llvm.sh b/infra/base-images/base-clang/checkout_build_install_llvm.sh index 9de954049a04..e5ab30d04a4c 100755 --- a/infra/base-images/base-clang/checkout_build_install_llvm.sh +++ b/infra/base-images/base-clang/checkout_build_install_llvm.sh @@ -54,7 +54,7 @@ apt-get update && apt-get install -y $LLVM_DEP_PACKAGES --no-install-recommends # languages, projects, ...) is needed. # Check CMAKE_VERSION infra/base-images/base-clang/Dockerfile was released # recently enough to fully support this clang version. -OUR_LLVM_REVISION=llvmorg-18-init-4631-gd50b56d1 +OUR_LLVM_REVISION=llvmorg-18.1.8 mkdir $SRC/chromium_tools cd $SRC/chromium_tools @@ -116,6 +116,7 @@ cmake -G "Ninja" \ -DLLVM_TARGETS_TO_BUILD="$TARGET_TO_BUILD" \ -DLLVM_ENABLE_PROJECTS="clang;lld" \ -DLLVM_BINUTILS_INCDIR="/usr/include/" \ + -DLIBCXXABI_USE_LLVM_UNWINDER=OFF \ $LLVM_SRC/llvm ninja -j $NPROC @@ -202,6 +203,7 @@ function cmake_libcxx { -DLIBCXX_ENABLE_SHARED=OFF \ -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \ -DLIBCXXABI_ENABLE_SHARED=OFF \ + -DLIBCXXABI_USE_LLVM_UNWINDER=OFF \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_ENABLE_PIC=ON \ -DLLVM_TARGETS_TO_BUILD="$TARGET_TO_BUILD" \