diff --git a/tools/docker/Makefile b/tools/docker/Makefile index 1eae029b058..2f7dc4daf1b 100644 --- a/tools/docker/Makefile +++ b/tools/docker/Makefile @@ -30,13 +30,12 @@ DEV_EXTRAS_IMAGE = "gcr.io/pixie-oss/pixie-dev-public/dev_image_with_extras:$(DE ## Clang deb parameters CLANG_VERSION := 15.0 -CLANG_SUFFIX := pl12 +CLANG_SUFFIX := pl13 CLANG_TAG="$(CLANG_VERSION)-$(CLANG_SUFFIX)" clang_deb_fname := "clang-$(CLANG_TAG).deb" clang_linters_deb_fname := "clang-linters-$(CLANG_TAG).deb" -clang_gs_path := gs://pixie-dev-public/clang/$(CLANG_TAG) clang_deb_image_tag := "gcr.io/pixie-oss/pixie-dev-public/clang_deb_builder_image:$(CLANG_VERSION)" CLANG_BUILD_DIR := "$(BUILD_DIR)/clang-$(CLANG_TAG)" @@ -164,7 +163,6 @@ upload_clang_deb: build_clang_deb_image ## Target to build and upload clang deb $(DOCKER) run --rm -e CLANG_SUFFIX=$(CLANG_SUFFIX) -e CLANG_VERSION=$(CLANG_VERSION) -v $(PWD)/$(CLANG_BUILD_DIR):/image $(clang_deb_image_tag) sha256sum $(CLANG_BUILD_DIR)/* > $(CLANG_BUILD_DIR)/sha256sums - gsutil cp $(CLANG_BUILD_DIR)/* $(clang_gs_path)/ $(GH_RELEASE_UPLOAD) clang $(CLANG_TAG) $(CLANG_BUILD_DIR)/* cat $(CLANG_BUILD_DIR)/sha256sums diff --git a/tools/docker/clang_deb_image/Dockerfile b/tools/docker/clang_deb_image/Dockerfile index c7529c4da3a..f39a0acdc0a 100644 --- a/tools/docker/clang_deb_image/Dockerfile +++ b/tools/docker/clang_deb_image/Dockerfile @@ -19,6 +19,7 @@ FROM ubuntu:18.04@sha256:8aa9c2798215f99544d1ce7439ea9c3a6dfd82de607da1cec3a8a2f ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update -y --fix-missing RUN apt-get install -y ruby ruby-dev rubygems build-essential +RUN gem install dotenv -v 2.8.1 RUN gem install --no-document fpm RUN apt-get install -y bison build-essential flex git libedit-dev lsb \ @@ -177,6 +178,42 @@ RUN /scripts/build_llvm.sh \ --sysroot /sysroots/x86_64 \ --target_arch x86_64 +# x86_64 sysroot with ASAN instrumentation. +RUN /scripts/build_llvm.sh \ + --llvm_git_repo "${LLVM_GIT_PATH}" \ + --c_compiler_path "${CLANG}" \ + --cxx_compiler_path "${CLANGPP}" \ + --install_dir /opt/llvm-15.0-libcxx-x86_64-sysroot-asan \ + --build_type llvm_libs \ + --target_libcxx_path /opt/libcxx-15.0-x86_64-sysroot \ + --sysroot /sysroots/x86_64 \ + --target_arch x86_64 \ + --build_with_asan + +# x86_64 sysroot with MSAN instrumentation. +RUN /scripts/build_llvm.sh \ + --llvm_git_repo "${LLVM_GIT_PATH}" \ + --c_compiler_path "${CLANG}" \ + --cxx_compiler_path "${CLANGPP}" \ + --install_dir /opt/llvm-15.0-libcxx-x86_64-sysroot-msan \ + --build_type llvm_libs \ + --target_libcxx_path /opt/libcxx-15.0-x86_64-sysroot \ + --sysroot /sysroots/x86_64 \ + --target_arch x86_64 \ + --build_with_msan + +# x86_64 sysroot with TSAN instrumentation. +RUN /scripts/build_llvm.sh \ + --llvm_git_repo "${LLVM_GIT_PATH}" \ + --c_compiler_path "${CLANG}" \ + --cxx_compiler_path "${CLANGPP}" \ + --install_dir /opt/llvm-15.0-libcxx-x86_64-sysroot-tsan \ + --build_type llvm_libs \ + --target_libcxx_path /opt/libcxx-15.0-x86_64-sysroot \ + --sysroot /sysroots/x86_64 \ + --target_arch x86_64 \ + --build_with_tsan + # aarch64 sysroot RUN /scripts/build_llvm.sh \ --llvm_git_repo "${LLVM_GIT_PATH}" \ diff --git a/tools/docker/clang_deb_image/create_packages.sh b/tools/docker/clang_deb_image/create_packages.sh index a4ff5368bc2..a991e054f31 100755 --- a/tools/docker/clang_deb_image/create_packages.sh +++ b/tools/docker/clang_deb_image/create_packages.sh @@ -73,6 +73,9 @@ tar_llvm_libs "libcxx" "" "asan" tar_llvm_libs "libcxx" "" "msan" tar_llvm_libs "libcxx" "" "tsan" tar_llvm_libs "libcxx" "x86_64" +tar_llvm_libs "libcxx" "x86_64" "asan" +tar_llvm_libs "libcxx" "x86_64" "msan" +tar_llvm_libs "libcxx" "x86_64" "tsan" tar_llvm_libs "libcxx" "aarch64" tar_llvm_libs "libstdc++" ""