From 5c1713225e6c735917a62ee51f3ba5b6c327879b Mon Sep 17 00:00:00 2001 From: Mike Aizatsky Date: Mon, 15 Aug 2016 09:32:55 -0700 Subject: [PATCH] [infra] building msan libc++ variant --- infra/base-images/base-clang/Dockerfile | 29 +++++++++++++++++++------ 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/infra/base-images/base-clang/Dockerfile b/infra/base-images/base-clang/Dockerfile index bfe2ddd1f..7744ee6a7 100644 --- a/infra/base-images/base-clang/Dockerfile +++ b/infra/base-images/base-clang/Dockerfile @@ -35,20 +35,17 @@ RUN cd /src/llvm/projects && git clone --depth 1 http://llvm.org/git/lld.git # Build & Install RUN mkdir -p /work/llvm WORKDIR /work/llvm -RUN cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DLIBCXX_ENABLE_SHARED=OFF -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON /src/llvm +RUN cmake -G "Ninja" \ + -DCMAKE_BUILD_TYPE=Release \ + /src/llvm RUN ninja RUN ninja install +RUN rm -rf /work/llvm # Copy libfuzzer sources RUN mkdir /src/libfuzzer RUN cp -r /src/llvm/lib/Fuzzer/* /src/libfuzzer/ -# Cleanup -RUN rm -rf /work/llvm -RUN rm -rf /src/llvm -RUN apt-get remove --purge -y $LLVM_DEP_PACKAGES -RUN apt-get autoremove -y - # Setup the environment. ENV CC "clang" ENV CXX "clang++" @@ -58,3 +55,21 @@ ENV CFLAGS "-g" ENV CXXFLAGS_EXTRA "-stdlib=libc++" ENV CXXFLAGS "$CFLAGS $CXXFLAGS_EXTRA" +# Build MSan libraries +RUN mkdir -p /work/llvm-msan +WORKDIR /work/llvm-msan +RUN cmake -G "Ninja" \ + -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_SANITIZER=Memory \ + /src/llvm +RUN ninja cxx cxxabi +RUN mkdir /usr/local/lib/msan +RUN cp lib/*.so /usr/local/lib/msan +RUN cp lib/*.a /usr/local/lib/msan +RUN rm -rf /work/llvm-msan + +# Cleanup +RUN rm -rf /src/llvm +RUN apt-get remove --purge -y $LLVM_DEP_PACKAGES +RUN apt-get autoremove -y + +