Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 7 additions & 9 deletions ci_build_images/msan.fragment.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

# msan.fragment.Dockerfile
# this is to create images with MSAN for BB workers
ARG CLANG_VERSION=20
ARG CLANG_VERSION=22

# earliest tested version known to work - 19

# This CLANG_DEV_VERSION is a marker to make it possible to build a msan builder
# from the nightly clang versions as they are in a differently name repositories.
# This maps to the https://apt.llvm.org/ under "development" branch version.
ENV CLANG_DEV_VERSION=22
ENV CLANG_DEV_VERSION=23

WORKDIR /msan-build

Expand All @@ -21,10 +21,6 @@ ENV MSAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-${CLANG_VERSION}
ENV CFLAGS="-fno-omit-frame-pointer -O2 -g"
ENV CXXFLAGS="$CFLAGS"

# https://github.com/llvm/llvm-project/issues/179147
RUN mkdir -p /etc/crypto-policies/back-ends \
&& printf '[hash_algorithms]\nsha1 = "always"' >> /etc/crypto-policies/back-ends/sequoia.config

# hadolint ignore=SC2046,DL3003
RUN . /etc/os-release \
&& export LLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \
Expand Down Expand Up @@ -66,10 +62,12 @@ RUN . /etc/os-release \
&& cd .. \
&& rm -rf -- *

RUN if [ "${CLANG_VERSION}" -le 20 ]; then \
for f in "$MSAN_LIBDIR"/libunwind*; do mv "$f" "$f"-disable; done \
RUN for f in "$MSAN_LIBDIR"/libunwind*; do mv "$f" "$f"-disable; done; \
if [ "${CLANG_VERSION}" -ge 22 ]; then \
apt-get -y install --no-install-recommends libunwind-19; \
fi
# libunwrap move/disable because of https://github.com/llvm/llvm-project/issues/128621
# libunwind move/disable because of https://github.com/llvm/llvm-project/issues/128621
# libunwind-19 meets ABI compatibility as its now linked to built executables.

COPY msan.instrumentedlibs.sh /msan-build
RUN ./msan.instrumentedlibs.sh
Expand Down