|
|
|
#=================
|
|
|
|
# Update clang to a version with improved tsan and fuzzing capabilities
|
|
|
|
|
|
|
|
RUN apt-get update && apt-get -y install python cmake && apt-get clean
|
|
|
|
|
|
|
|
RUN git clone -n -b release_38 http://llvm.org/git/llvm.git && ${'\\'}
|
|
|
|
cd llvm && git checkout ad57503 && cd ..
|
|
|
|
RUN git clone -n -b release_38 http://llvm.org/git/clang.git && ${'\\'}
|
|
|
|
cd clang && git checkout ad2c56e && cd ..
|
|
|
|
RUN git clone -n -b release_38 http://llvm.org/git/compiler-rt.git && ${'\\'}
|
|
|
|
cd compiler-rt && git checkout 3176922 && cd ..
|
|
|
|
RUN git clone -n -b release_38 ${'\\'}
|
|
|
|
http://llvm.org/git/clang-tools-extra.git && cd clang-tools-extra && ${'\\'}
|
|
|
|
git checkout c288525 && cd ..
|
|
|
|
RUN git clone -n -b release_38 http://llvm.org/git/libcxx.git && ${'\\'}
|
|
|
|
cd libcxx && git checkout fda3549 && cd ..
|
|
|
|
RUN git clone -n -b release_38 http://llvm.org/git/libcxxabi.git && ${'\\'}
|
|
|
|
cd libcxxabi && git checkout 8d4e51d && cd ..
|
|
|
|
|
|
|
|
RUN mv clang llvm/tools
|
|
|
|
RUN mv compiler-rt llvm/projects
|
|
|
|
RUN mv clang-tools-extra llvm/tools/clang/tools
|
|
|
|
RUN mv libcxx llvm/projects
|
|
|
|
RUN mv libcxxabi llvm/projects
|
|
|
|
|
|
|
|
RUN mkdir llvm-build
|
|
|
|
RUN cd llvm-build && cmake ${'\\'}
|
|
|
|
-DCMAKE_BUILD_TYPE:STRING=Release ${'\\'}
|
|
|
|
-DCMAKE_INSTALL_PREFIX:STRING=/usr ${'\\'}
|
|
|
|
-DLLVM_TARGETS_TO_BUILD:STRING=X86 ${'\\'}
|
|
|
|
../llvm
|
|
|
|
RUN make -C llvm-build -j 12 && make -C llvm-build install && rm -rf llvm-build
|