upgrade Dockerfile to Ubunutu 20.04 with llvm 11 and gcc 10 for afl-clang-lto

This commit is contained in:
van Hauser 2020-05-19 19:22:11 +02:00
parent c7b1ed2395
commit ae6c30a711
2 changed files with 52 additions and 29 deletions

View File

@ -1,37 +1,58 @@
FROM ubuntu #
MAINTAINER David Carlier <devnexen@gmail.com> # This Dockerfile for AFLplusplus uses Ubuntu 20.04 focal and
# installs LLVM 11 from llvm.org for afl-clang-lto support :-)
# It also installs gcc/g++ 10 from the Ubuntu development platform
# has focal has gcc-10 but not g++-10 ...
#
FROM ubuntu:20.04
MAINTAINER afl++ team <afl@aflplus.plus>
LABEL "about"="AFLplusplus docker image" LABEL "about"="AFLplusplus docker image"
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get -y install \ RUN apt-get update && apt-get -y install \
--no-install-suggests --no-install-recommends \ --no-install-suggests --no-install-recommends \
automake \ automake \
bison \ bison flex \
build-essential \ build-essential \
clang \
clang-9 \
flex \
git \ git \
python3 \ python3 python3-dev python3-setuptools python-is-python3 \
python3-dev \ libtool libtool-bin \
python3-setuptools \
python-is-python3 \
gcc-9 \
gcc-9-plugin-dev \
gcc-9-multilib \
libc++-9-dev \
libtool \
libtool-bin \
libglib2.0-dev \ libglib2.0-dev \
llvm-9-dev \ wget vim jupp nano \
wget \ apt-utils apt-transport-https ca-certificates gnupg \
ca-certificates \ libpixman-1-dev
libpixman-1-dev \
&& rm -rf /var/lib/apt/lists/*
ARG CC=gcc-9 RUN echo deb http://apt.llvm.org/focal/ llvm-toolchain-focal main >> /etc/apt/sources.list && \
ARG CXX=g++-9 wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
ARG LLVM_CONFIG=llvm-config-9
RUN echo deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal main >> /etc/apt/sources.list && \
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 1E9377A2BA9EF27F
RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y gcc-10 g++-10 gcc-10-plugin-dev gcc-10-multilib \
libc++-10-dev gdb
RUN apt-get install -y clang-11 clang-tools-11 libc++1-11 libc++-11-dev \
libc++abi1-11 libc++abi-11-dev libclang1-11 libclang-11-dev \
libclang-common-11-dev libclang-cpp11 libclang-cpp11-dev liblld-11 \
liblld-11-dev liblldb-11 liblldb-11-dev libllvm11 libomp-11-dev \
libomp5-11 lld-11 lldb-11 llvm-11 llvm-11-dev llvm-11-runtime llvm-11-tools
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 0
RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 0
RUN rm -rf /var/lib/apt/lists/*
ARG CC=gcc-10
ARG CXX=g++-10
ARG LLVM_CONFIG=llvm-config-11
RUN git clone https://github.com/AFLplusplus/AFLplusplus RUN git clone https://github.com/AFLplusplus/AFLplusplus
RUN cd AFLplusplus && make clean && make distrib && \ RUN cd AFLplusplus && export REAL_CXX=g++ && make distrib && \
make install && cd .. && rm -rf AFLplusplus make install && cd .. && make clean
ENV AFL_SKIP_CPUFREQ=1

View File

@ -14,13 +14,15 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
- -S slaves now only sync from the master to increase performance, - -S slaves now only sync from the master to increase performance,
the -M master stilly syncs from everyone. Added checks that exactly the -M master stilly syncs from everyone. Added checks that exactly
one master is present one master is present
- llvm_mode:
- lowered minimum required llvm version to 3.4 (except LLVMInsTrim,
which needs 3.8.0)
- fixed afl-gcc/afl-as that could break on fast systems reusing pids in - fixed afl-gcc/afl-as that could break on fast systems reusing pids in
the same second the same second
- added lots of dictionaries from oss-fuzz, go-fuzz and Jakub Wilk - added lots of dictionaries from oss-fuzz, go-fuzz and Jakub Wilk
- added former post_library examples to examples/custom_mutators/ - added former post_library examples to examples/custom_mutators/
- llvm_mode: - Dockerfile upgraded to Ubuntu 20.04 Focal and installing llvm 11 and gcc 10
- lowered minimum required llvm version to 3.4 (except LLVMInsTrim, so afl-clang-lto can be build
which needs 3.8.0)
### Version ++2.65c (release): ### Version ++2.65c (release):