Many Linux Support
ADD
frida_mode/many-linux/Dockerfile
+FROM fridadotre/manylinux-x86_64
+
+COPY realpath /bin/realpath
+RUN chmod +x /bin/realpath
+
+RUN yum -y install xz
+RUN yum -y install vim-common
+
+WORKDIR /
+RUN git clone https://github.com/AFLplusplus/AFLplusplus.git
+
+WORKDIR /AFLplusplus
+RUN mkdir -p /AFLplusplus/frida_mode/build/frida/
+RUN curl -L -o /AFLplusplus/frida_mode/build/frida/frida-gumjs-devkit-14.2.18-linux-x86_64.tar.xz "https://github.com/frida/frida/releases/download/14.2.18/frida-gumjs-devkit-14.2.18-linux-x86_64.tar.xz"
+
+WORKDIR /AFLplusplus
+RUN git checkout dev
+WORKDIR /AFLplusplus/frida_mode
+ENV CFLAGS="\
+ -DADDR_NO_RANDOMIZE=0x0040000 \
+ -D_POSIX_C_SOURCE=200809L \
+ -Wno-implicit-function-declaration \
+ "
+RUN make

ADD
frida_mode/many-linux/GNUmakefile
+PWD:=$(shell pwd)/
+BUILD_DIR:=$(PWD)build/
+
+.PHONY: all clean shell
+
+all: | $(BUILD_DIR)
+ docker build --tag many-afl-frida .
+ docker run --rm \
+ -v $(PWD)build/:/export \
+ many-afl-frida \
+ cp /AFLplusplus/afl-frida-trace.so /export
+
+$(BUILD_DIR):
+ mkdir -p $@
+
+clean:
+ rm -rf $(BUILD_DIR)
+
+shell:
+ docker run -ti --rm many-afl-frida /bin/bash

ADD
frida_mode/many-linux/Makefile
+all:
+ @echo trying to use GNU make...
+ @gmake all || echo please install GNUmake
+
+clean:
+ @gmake clean
+
+shell:
+ @gmake shell

ADD
frida_mode/many-linux/README.md
+# many-linux
+
+This folder contains a Docker image to allow the building of
+`afl-frida-trace.so` using the `many-linux` docker image. This docker image is
+based on CentOS Linux 5. By building `afl-frida-trace.so` for such an old
+version of Linux, given the strong backward compatibility of Linux, this should
+work on the majority of Linux environments. This may be useful for targetting
+Linux distributions other than your development environment.
\ No newline at end of file

ADD
frida_mode/many-linux/realpath
+#!/bin/sh
+readlink -f -- "$@"

Many Linux Support (#1000)

Co-authored-by: Your Name <you@example.com>