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"
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get -y install \
--no-install-suggests --no-install-recommends \
automake \
bison \
bison flex \
build-essential \
clang \
clang-9 \
flex \
git \
python3 \
python3-dev \
python3-setuptools \
python-is-python3 \
gcc-9 \
gcc-9-plugin-dev \
gcc-9-multilib \
libc++-9-dev \
libtool \
libtool-bin \
python3 python3-dev python3-setuptools python-is-python3 \
libtool libtool-bin \
libglib2.0-dev \
llvm-9-dev \
wget \
ca-certificates \
libpixman-1-dev \
&& rm -rf /var/lib/apt/lists/*
wget vim jupp nano \
apt-utils apt-transport-https ca-certificates gnupg \
libpixman-1-dev
ARG CC=gcc-9
ARG CXX=g++-9
ARG LLVM_CONFIG=llvm-config-9
RUN echo deb http://apt.llvm.org/focal/ llvm-toolchain-focal main >> /etc/apt/sources.list && \
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
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 cd AFLplusplus && make clean && make distrib && \
make install && cd .. && rm -rf AFLplusplus
RUN cd AFLplusplus && export REAL_CXX=g++ && make distrib && \
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,
the -M master stilly syncs from everyone. Added checks that exactly
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
the same second
- added lots of dictionaries from oss-fuzz, go-fuzz and Jakub Wilk
- added former post_library examples to examples/custom_mutators/
- llvm_mode:
- lowered minimum required llvm version to 3.4 (except LLVMInsTrim,
which needs 3.8.0)
- Dockerfile upgraded to Ubuntu 20.04 Focal and installing llvm 11 and gcc 10
so afl-clang-lto can be build
### Version ++2.65c (release):