diff options
author | van Hauser <vh@thc.org> | 2020-05-19 19:22:11 +0200 |
---|---|---|
committer | van Hauser <vh@thc.org> | 2020-05-19 19:22:11 +0200 |
commit | ae6c30a71113fbebe3aca7fcdf6e007ae680c34b (patch) | |
tree | 07962d121a043207a5b17ee3818a4e527c972184 | |
parent | c7b1ed23953700b17ecf322c79148e9a40cc9f18 (diff) | |
download | afl++-ae6c30a71113fbebe3aca7fcdf6e007ae680c34b.tar.gz |
upgrade Dockerfile to Ubunutu 20.04 with llvm 11 and gcc 10 for afl-clang-lto
-rw-r--r-- | Dockerfile | 73 | ||||
-rw-r--r-- | docs/Changelog.md | 8 |
2 files changed, 52 insertions, 29 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 diff --git a/docs/Changelog.md b/docs/Changelog.md index 4f9c727a..189eca69 100644 --- a/docs/Changelog.md +++ b/docs/Changelog.md @@ -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): |