From 88b8a0468b0384a08a107280e77d5e10d75bb268 Mon Sep 17 00:00:00 2001 From: Niranjan YArdi Date: Thu, 21 Mar 2024 17:15:56 -0700 Subject: [PATCH 1/2] Update clang to upstream chromium m114's clang-17 Change-Id: I5faeaae796d0b6d50e590d1267c3512a265a9f9a --- docker-compose.yml | 6 +++--- docker/linux/base/build/Dockerfile | 16 ++++++++-------- docker/linux/unittest/Dockerfile | 26 +++++++++++++------------- starboard/build/clang.py | 2 +- starboard/build/config/clang.gni | 2 +- starboard/tools/download_clang.sh | 2 +- 6 files changed, 27 insertions(+), 27 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index cd70ef55a825..3f13604fc9f3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -49,7 +49,7 @@ x-shared-unittest-definitions: &shared-unittest-definitions dockerfile: unittest/Dockerfile args: - CLANG_VER=${CLANG_VER:-365097-f7e52fbd-8} - - CLANG_16_VER=${CLANG_16_VER:-16-init-17653-g39da55e8-2} + - CLANG_17_VER=${CLANG_17_VER:-17-init-8029-g27f27d15-3} image: cobalt-linux-x64x11-unittest environment: - PLATFORM=${PLATFORM:-linux-x64x11} @@ -112,7 +112,7 @@ services: args: # Should match version pinned by Starboard - CLANG_VER=${CLANG_VER:-365097-f7e52fbd-8} - - CLANG_16_VER=${CLANG_16_VER:-16-init-17653-g39da55e8-2} + - CLANG_17_VER=${CLANG_17_VER:-17-init-8029-g27f27d15-3} image: cobalt-build-base depends_on: - base @@ -125,7 +125,7 @@ services: args: - FROM_IMAGE=base-bionic - CLANG_VER=${CLANG_VER:-365097-f7e52fbd-8} - - CLANG_16_VER=${CLANG_16_VER:-16-init-17653-g39da55e8-2} + - CLANG_17_VER=${CLANG_17_VER:-17-init-8029-g27f27d15-3} image: build-base-bionic depends_on: - base-bionic diff --git a/docker/linux/base/build/Dockerfile b/docker/linux/base/build/Dockerfile index 0b9ce0117310..88375cc3381a 100644 --- a/docker/linux/base/build/Dockerfile +++ b/docker/linux/base/build/Dockerfile @@ -98,18 +98,18 @@ RUN cd /tmp \ && rm clang-${CLANG_VER}.tgz # === Install Clang 16 toolchain for all Linux-hosted builds -ARG CLANG_16_VER +ARG CLANG_17_VER -ARG CLANG_16_TC_HOME=${TC_ROOT}/x86_64-linux-gnu-clang-chromium-${CLANG_16_VER} -ARG CLANG_16_BASE_URL=https://commondatastorage.googleapis.com/chromium-browser-clang +ARG CLANG_17_TC_HOME=${TC_ROOT}/x86_64-linux-gnu-clang-chromium-${CLANG_17_VER} +ARG CLANG_17_BASE_URL=https://commondatastorage.googleapis.com/chromium-browser-clang RUN cd /tmp \ - && mkdir -p ${CLANG_16_TC_HOME} \ + && mkdir -p ${CLANG_17_TC_HOME} \ && curl --silent -O -J \ - ${CLANG_16_BASE_URL}/Linux_x64/clang-llvmorg-${CLANG_16_VER}.tgz \ - && tar xf clang-llvmorg-${CLANG_16_VER}.tgz -C ${CLANG_16_TC_HOME} \ - && echo ${CLANG_16_VER} >> ${CLANG_16_TC_HOME}/cr_build_revision \ - && rm clang-llvmorg-${CLANG_16_VER}.tgz + ${CLANG_17_BASE_URL}/Linux_x64/clang-llvmorg-${CLANG_17_VER}.tgz \ + && tar xf clang-llvmorg-${CLANG_17_VER}.tgz -C ${CLANG_17_TC_HOME} \ + && echo ${CLANG_17_VER} >> ${CLANG_17_TC_HOME}/cr_build_revision \ + && rm clang-llvmorg-${CLANG_17_VER}.tgz RUN git config --global --add safe.directory /code diff --git a/docker/linux/unittest/Dockerfile b/docker/linux/unittest/Dockerfile index 4e6f527b8bd7..c4f63e8037ad 100644 --- a/docker/linux/unittest/Dockerfile +++ b/docker/linux/unittest/Dockerfile @@ -65,27 +65,27 @@ RUN cd /tmp \ && rm clang-${CLANG_VER}.tgz # === Install Clang 16 toolchain for llvm-symbolization. -ARG CLANG_16_VER +ARG CLANG_17_VER -ARG CLANG_16_TC_HOME=${TC_ROOT}/x86_64-linux-gnu-clang-chromium-${CLANG_16_VER} -ARG CLANG_16_BASE_URL=https://commondatastorage.googleapis.com/chromium-browser-clang +ARG CLANG_17_TC_HOME=${TC_ROOT}/x86_64-linux-gnu-clang-chromium-${CLANG_17_VER} +ARG CLANG_17_BASE_URL=https://commondatastorage.googleapis.com/chromium-browser-clang RUN cd /tmp \ - && mkdir -p ${CLANG_16_TC_HOME} \ + && mkdir -p ${CLANG_17_TC_HOME} \ && curl --silent -O -J \ - ${CLANG_16_BASE_URL}/Linux_x64/clang-llvmorg-${CLANG_16_VER}.tgz \ - && tar xf clang-llvmorg-${CLANG_16_VER}.tgz -C ${CLANG_16_TC_HOME} \ - && echo ${CLANG_16_VER} >> ${CLANG_16_TC_HOME}/cr_build_revision \ - && rm clang-llvmorg-${CLANG_16_VER}.tgz + ${CLANG_17_BASE_URL}/Linux_x64/clang-llvmorg-${CLANG_17_VER}.tgz \ + && tar xf clang-llvmorg-${CLANG_17_VER}.tgz -C ${CLANG_17_TC_HOME} \ + && echo ${CLANG_17_VER} >> ${CLANG_17_TC_HOME}/cr_build_revision \ + && rm clang-llvmorg-${CLANG_17_VER}.tgz # === Install Clang 16 toolchain coverage tools. RUN cd /tmp \ - && mkdir -p ${CLANG_16_TC_HOME} \ + && mkdir -p ${CLANG_17_TC_HOME} \ && curl --silent -O -J \ - ${CLANG_16_BASE_URL}/Linux_x64/llvm-code-coverage-llvmorg-${CLANG_16_VER}.tgz \ - && tar xf llvm-code-coverage-llvmorg-${CLANG_16_VER}.tgz -C ${CLANG_16_TC_HOME} \ - && echo ${CLANG_16_VER} >> ${CLANG_16_TC_HOME}/cr_build_revision \ - && rm llvm-code-coverage-llvmorg-${CLANG_16_VER}.tgz + ${CLANG_17_BASE_URL}/Linux_x64/llvm-code-coverage-llvmorg-${CLANG_17_VER}.tgz \ + && tar xf llvm-code-coverage-llvmorg-${CLANG_17_VER}.tgz -C ${CLANG_17_TC_HOME} \ + && echo ${CLANG_17_VER} >> ${CLANG_17_TC_HOME}/cr_build_revision \ + && rm llvm-code-coverage-llvmorg-${CLANG_17_VER}.tgz WORKDIR /out # Sets the locale in the environment. This is needed for NPLB unit tests. diff --git a/starboard/build/clang.py b/starboard/build/clang.py index 6a671faca1d0..4818c83a9e70 100644 --- a/starboard/build/clang.py +++ b/starboard/build/clang.py @@ -18,4 +18,4 @@ def GetClangSpecification(): """Gets the ClangSpecification instance for this project.""" - return ClangSpecification('16-init-17653-g39da55e8-2', '16.0.0') + return ClangSpecification('17-init-8029-g27f27d15-3', '17.0.0') diff --git a/starboard/build/config/clang.gni b/starboard/build/config/clang.gni index ded53f2ec880..65169b273d71 100644 --- a/starboard/build/config/clang.gni +++ b/starboard/build/config/clang.gni @@ -15,7 +15,7 @@ import("//starboard/build/toolchain/starboard_toolchains.gni") declare_args() { - clang_revision = "16-init-17653-g39da55e8-2" + clang_revision = "17-init-8029-g27f27d15-3" } default_clang_base_path = "$starboard_toolchains_path/x86_64-linux-gnu-clang-chromium-${clang_revision}" diff --git a/starboard/tools/download_clang.sh b/starboard/tools/download_clang.sh index af1b3d734643..4fe249dab277 100755 --- a/starboard/tools/download_clang.sh +++ b/starboard/tools/download_clang.sh @@ -16,7 +16,7 @@ set -e -CLANG_VERSION="${1:-16-init-17653-g39da55e8-2}" +CLANG_VERSION="${1:-17-init-8029-g27f27d15-3}" TOOLCHAIN_ROOT="${HOME}/starboard-toolchains/" TOOLCHAIN_HOME="${TOOLCHAIN_ROOT}/x86_64-linux-gnu-clang-chromium-${CLANG_VERSION}" From c3c5032d8426a78288d2e225be2bec45fca7a771 Mon Sep 17 00:00:00 2001 From: Niranjan YArdi Date: Sat, 23 Mar 2024 12:12:06 -0700 Subject: [PATCH 2/2] Rename CLANG_17 to COBALT_CLANG Change-Id: I1038f7d435660ad39036b177f375ed3d9529562b --- docker-compose.yml | 6 ++--- docker/linux/base/build/Dockerfile | 18 ++++++------- docker/linux/unittest/Dockerfile | 30 ++++++++++----------- starboard/linux/x64x11/sanitizer_options.cc | 2 +- 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 3f13604fc9f3..ea3a5fab2bbf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -49,7 +49,7 @@ x-shared-unittest-definitions: &shared-unittest-definitions dockerfile: unittest/Dockerfile args: - CLANG_VER=${CLANG_VER:-365097-f7e52fbd-8} - - CLANG_17_VER=${CLANG_17_VER:-17-init-8029-g27f27d15-3} + - COBALT_CLANG_VER=${COBALT_CLANG_VER:-17-init-8029-g27f27d15-3} image: cobalt-linux-x64x11-unittest environment: - PLATFORM=${PLATFORM:-linux-x64x11} @@ -112,7 +112,7 @@ services: args: # Should match version pinned by Starboard - CLANG_VER=${CLANG_VER:-365097-f7e52fbd-8} - - CLANG_17_VER=${CLANG_17_VER:-17-init-8029-g27f27d15-3} + - COBALT_CLANG_VER=${COBALT_CLANG_VER:-17-init-8029-g27f27d15-3} image: cobalt-build-base depends_on: - base @@ -125,7 +125,7 @@ services: args: - FROM_IMAGE=base-bionic - CLANG_VER=${CLANG_VER:-365097-f7e52fbd-8} - - CLANG_17_VER=${CLANG_17_VER:-17-init-8029-g27f27d15-3} + - COBALT_CLANG_VER=${COBALT_CLANG_VER:-17-init-8029-g27f27d15-3} image: build-base-bionic depends_on: - base-bionic diff --git a/docker/linux/base/build/Dockerfile b/docker/linux/base/build/Dockerfile index 88375cc3381a..8f08f7bc5a87 100644 --- a/docker/linux/base/build/Dockerfile +++ b/docker/linux/base/build/Dockerfile @@ -97,19 +97,19 @@ RUN cd /tmp \ && echo ${CLANG_VER} >> ${TC_HOME}/cr_build_revision \ && rm clang-${CLANG_VER}.tgz -# === Install Clang 16 toolchain for all Linux-hosted builds -ARG CLANG_17_VER +# === Install Clang toolchain for all Linux-hosted builds +ARG COBALT_CLANG_VER -ARG CLANG_17_TC_HOME=${TC_ROOT}/x86_64-linux-gnu-clang-chromium-${CLANG_17_VER} -ARG CLANG_17_BASE_URL=https://commondatastorage.googleapis.com/chromium-browser-clang +ARG COBALT_CLANG_TC_HOME=${TC_ROOT}/x86_64-linux-gnu-clang-chromium-${COBALT_CLANG_VER} +ARG COBALT_CLANG_BASE_URL=https://commondatastorage.googleapis.com/chromium-browser-clang RUN cd /tmp \ - && mkdir -p ${CLANG_17_TC_HOME} \ + && mkdir -p ${COBALT_CLANG_TC_HOME} \ && curl --silent -O -J \ - ${CLANG_17_BASE_URL}/Linux_x64/clang-llvmorg-${CLANG_17_VER}.tgz \ - && tar xf clang-llvmorg-${CLANG_17_VER}.tgz -C ${CLANG_17_TC_HOME} \ - && echo ${CLANG_17_VER} >> ${CLANG_17_TC_HOME}/cr_build_revision \ - && rm clang-llvmorg-${CLANG_17_VER}.tgz + ${COBALT_CLANG_BASE_URL}/Linux_x64/clang-llvmorg-${COBALT_CLANG_VER}.tgz \ + && tar xf clang-llvmorg-${COBALT_CLANG_VER}.tgz -C ${COBALT_CLANG_TC_HOME} \ + && echo ${COBALT_CLANG_VER} >> ${COBALT_CLANG_TC_HOME}/cr_build_revision \ + && rm clang-llvmorg-${COBALT_CLANG_VER}.tgz RUN git config --global --add safe.directory /code diff --git a/docker/linux/unittest/Dockerfile b/docker/linux/unittest/Dockerfile index c4f63e8037ad..eaa110cc82cc 100644 --- a/docker/linux/unittest/Dockerfile +++ b/docker/linux/unittest/Dockerfile @@ -64,28 +64,28 @@ RUN cd /tmp \ && echo ${CLANG_VER} >> ${TC_HOME}/cr_build_revision \ && rm clang-${CLANG_VER}.tgz -# === Install Clang 16 toolchain for llvm-symbolization. -ARG CLANG_17_VER +# === Install Clang toolchain for llvm-symbolization. +ARG COBALT_CLANG_VER -ARG CLANG_17_TC_HOME=${TC_ROOT}/x86_64-linux-gnu-clang-chromium-${CLANG_17_VER} -ARG CLANG_17_BASE_URL=https://commondatastorage.googleapis.com/chromium-browser-clang +ARG COBALT_CLANG_TC_HOME=${TC_ROOT}/x86_64-linux-gnu-clang-chromium-${COBALT_CLANG_VER} +ARG COBALT_CLANG_BASE_URL=https://commondatastorage.googleapis.com/chromium-browser-clang RUN cd /tmp \ - && mkdir -p ${CLANG_17_TC_HOME} \ + && mkdir -p ${COBALT_CLANG_TC_HOME} \ && curl --silent -O -J \ - ${CLANG_17_BASE_URL}/Linux_x64/clang-llvmorg-${CLANG_17_VER}.tgz \ - && tar xf clang-llvmorg-${CLANG_17_VER}.tgz -C ${CLANG_17_TC_HOME} \ - && echo ${CLANG_17_VER} >> ${CLANG_17_TC_HOME}/cr_build_revision \ - && rm clang-llvmorg-${CLANG_17_VER}.tgz + ${COBALT_CLANG_BASE_URL}/Linux_x64/clang-llvmorg-${COBALT_CLANG_VER}.tgz \ + && tar xf clang-llvmorg-${COBALT_CLANG_VER}.tgz -C ${COBALT_CLANG_TC_HOME} \ + && echo ${COBALT_CLANG_VER} >> ${COBALT_CLANG_TC_HOME}/cr_build_revision \ + && rm clang-llvmorg-${COBALT_CLANG_VER}.tgz -# === Install Clang 16 toolchain coverage tools. +# === Install Clang toolchain coverage tools. RUN cd /tmp \ - && mkdir -p ${CLANG_17_TC_HOME} \ + && mkdir -p ${COBALT_CLANG_TC_HOME} \ && curl --silent -O -J \ - ${CLANG_17_BASE_URL}/Linux_x64/llvm-code-coverage-llvmorg-${CLANG_17_VER}.tgz \ - && tar xf llvm-code-coverage-llvmorg-${CLANG_17_VER}.tgz -C ${CLANG_17_TC_HOME} \ - && echo ${CLANG_17_VER} >> ${CLANG_17_TC_HOME}/cr_build_revision \ - && rm llvm-code-coverage-llvmorg-${CLANG_17_VER}.tgz + ${COBALT_CLANG_BASE_URL}/Linux_x64/llvm-code-coverage-llvmorg-${COBALT_CLANG_VER}.tgz \ + && tar xf llvm-code-coverage-llvmorg-${COBALT_CLANG_VER}.tgz -C ${COBALT_CLANG_TC_HOME} \ + && echo ${COBALT_CLANG_VER} >> ${COBALT_CLANG_TC_HOME}/cr_build_revision \ + && rm llvm-code-coverage-llvmorg-${COBALT_CLANG_VER}.tgz WORKDIR /out # Sets the locale in the environment. This is needed for NPLB unit tests. diff --git a/starboard/linux/x64x11/sanitizer_options.cc b/starboard/linux/x64x11/sanitizer_options.cc index f565defd7832..a9c5d69c9035 100644 --- a/starboard/linux/x64x11/sanitizer_options.cc +++ b/starboard/linux/x64x11/sanitizer_options.cc @@ -41,7 +41,7 @@ SANITIZER_HOOK_ATTRIBUTE const char* __lsan_default_suppressions() { #if defined(ASAN_SYMBOLIZER_PATH) extern "C" const char* __asan_default_options() { // TODO(b/278247547) : Remove detect_stack_use_after_return=0 once the issue - // with AddressSanitizerFlags in Clang 16 is resolved. + // with AddressSanitizerFlags in Clang is resolved. return "detect_stack_use_after_return=0:external_symbolizer_" "path=" ASAN_SYMBOLIZER_PATH; }