aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2021-02-14 22:42:13 +0100
committerGitHub <noreply@github.com>2021-02-14 22:42:13 +0100
commit98fd50f78f2a41a232d5e979dc6e90300dd4335e (patch)
tree52d189c548b73e4500380f204ba51b7cd4a0e9c6
parent95561ec5a7f7cd87d97c6e2882699c144a959172 (diff)
parent91f2f057e4eacab4cd3a1a11cde157e3a31470d0 (diff)
downloadafl++-98fd50f78f2a41a232d5e979dc6e90300dd4335e.tar.gz
Merge branch 'stable' into dev
-rw-r--r--.github/workflows/build_aflplusplus_docker.yaml27
-rw-r--r--Dockerfile2
-rw-r--r--GNUmakefile3
-rw-r--r--README.md1
-rwxr-xr-xqemu_mode/build_qemu_support.sh8
5 files changed, 37 insertions, 4 deletions
diff --git a/.github/workflows/build_aflplusplus_docker.yaml b/.github/workflows/build_aflplusplus_docker.yaml
new file mode 100644
index 00000000..be8d795d
--- /dev/null
+++ b/.github/workflows/build_aflplusplus_docker.yaml
@@ -0,0 +1,27 @@
+name: Publish Docker Images
+on:
+ push:
+ branches: [ stable ]
+ paths:
+ - Dockerfile
+ pull_request:
+ branches: [ stable ]
+ paths:
+ - Dockerfile
+jobs:
+ push_to_registry:
+ name: Push Docker images to Dockerhub
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@master
+ - name: Login to Dockerhub
+ uses: docker/login-action@v1
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_TOKEN }}
+ - name: Publish aflpp to Registry
+ uses: docker/build-push-action@v2
+ with:
+ context: .
+ push: true
+ tags: aflplusplus/aflplusplus:latest
diff --git a/Dockerfile b/Dockerfile
index b293edf4..1cb00d5d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -11,6 +11,8 @@ LABEL "about"="AFLplusplus docker image"
ARG DEBIAN_FRONTEND=noninteractive
+env NO_ARCH_OPT 1
+
RUN apt-get update && \
apt-get -y install --no-install-suggests --no-install-recommends \
automake \
diff --git a/GNUmakefile b/GNUmakefile
index 45fa3ba1..25146426 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -57,8 +57,6 @@ ifdef MSAN_BUILD
override LDFLAGS += -fsanitize=memory
endif
-
-
ifeq "$(findstring android, $(shell $(CC) --version 2>/dev/null))" ""
ifeq "$(shell echo 'int main() {return 0; }' | $(CC) $(CFLAGS) -Werror -x c - -flto=full -o .test 2>/dev/null && echo 1 || echo 0 ; rm -f .test )" "1"
CFLAGS_FLTO ?= -flto=full
@@ -366,6 +364,7 @@ help:
@echo NO_PYTHON - disable python support
@echo NO_SPLICING - disables splicing mutation in afl-fuzz, not recommended for normal fuzzing
@echo AFL_NO_X86 - if compiling on non-intel/amd platforms
+ @echo NO_ARCH_OPT - builds afl++ without machine architecutre optimizations
@echo "LLVM_CONFIG - if your distro doesn't use the standard name for llvm-config (e.g. Debian)"
@echo "=========================================="
@echo e.g.: make ASAN_BUILD=1
diff --git a/README.md b/README.md
index ef27e743..cbbeb85f 100644
--- a/README.md
+++ b/README.md
@@ -217,6 +217,7 @@ These build options exist:
* NO_PYTHON - disable python support
* NO_SPLICING - disables splicing mutation in afl-fuzz, not recommended for normal fuzzing
* AFL_NO_X86 - if compiling on non-intel/amd platforms
+* NO_ARCH_OPT - builds afl++ without machine architecutre optimizations
* LLVM_CONFIG - if your distro doesn't use the standard name for llvm-config (e.g. Debian)
e.g.: make ASAN_BUILD=1
diff --git a/qemu_mode/build_qemu_support.sh b/qemu_mode/build_qemu_support.sh
index 5eb35855..e3c9d6ff 100755
--- a/qemu_mode/build_qemu_support.sh
+++ b/qemu_mode/build_qemu_support.sh
@@ -233,8 +233,7 @@ QEMU_CONF_FLAGS=" \
--disable-xen \
--disable-xen-pci-passthrough \
--disable-xfsctl \
- --enable-pie \
- --python=$PYTHONBIN \
+ --python=${PYTHONBIN} \
--target-list="${CPU_TARGET}-linux-user" \
--without-default-devices \
"
@@ -253,6 +252,11 @@ if [ "$STATIC" = "1" ]; then
--static \
--extra-cflags=-DAFL_QEMU_STATIC_BUILD=1 \
"
+
+else
+
+ QEMU_CONF_FLAGS="{$QEMU_CONF_FLAGS} --enable-pie "
+
fi
if [ "$DEBUG" = "1" ]; then