aboutsummaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-05-19 19:22:11 +0200
committervan Hauser <vh@thc.org>2020-05-19 19:22:11 +0200
commitae6c30a71113fbebe3aca7fcdf6e007ae680c34b (patch)
tree07962d121a043207a5b17ee3818a4e527c972184 /Dockerfile
parentc7b1ed23953700b17ecf322c79148e9a40cc9f18 (diff)
downloadAFLplusplus-ae6c30a71113fbebe3aca7fcdf6e007ae680c34b.tar.gz
upgrade Dockerfile to Ubunutu 20.04 with llvm 11 and gcc 10 for afl-clang-lto
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile73
1 files changed, 47 insertions, 26 deletions
diff --git a/Dockerfile b/Dockerfile
index c8bfaf33..b59e91fb 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -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
+
+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
-ARG CC=gcc-9
-ARG CXX=g++-9
-ARG LLVM_CONFIG=llvm-config-9
+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