Index: head/security/afl++/Makefile =================================================================== --- head/security/afl++/Makefile (revision 531291) +++ head/security/afl++/Makefile (revision 531292) @@ -1,137 +1,141 @@ # Created by: Fabian Keil # $FreeBSD$ PORTNAME= afl -PORTVERSION= 2.62c +PORTVERSION= 2.63c CATEGORIES= security PKGNAMESUFFIX= ++ MAINTAINER= tobik@FreeBSD.org COMMENT= Fast instrumented fuzzer LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/docs/COPYING ONLY_FOR_ARCHS= aarch64 amd64 i386 powerpc64 ONLY_FOR_ARCHS_REASON= uses x86-only instrumentation or requires complete LLVM support +BUILD_DEPENDS= ginstall:sysutils/coreutils TEST_DEPENDS= bash:shells/bash USES= gmake tar:tgz USE_GITHUB= yes -GH_ACCOUNT= vanhauser-thc +GH_ACCOUNT= AFLplusplus GH_PROJECT= AFLplusplus +MAKEFILE= GNUmakefile MAKE_ARGS= STRIP_CMD="${STRIP_CMD}" ALL_TARGET= all libtokencap INSTALL_TARGET= install-strip TEST_TARGET= test_build CONFLICTS_INSTALL= afl +BINARY_ALIAS= install=ginstall + OPTIONS_DEFINE= DEBUG DOCS EXAMPLES GCC LIBDISLOCATOR LLVM PYTHON OPTIONS_DEFAULT= GCC LIBDISLOCATOR LLVM PYTHON # libdislocator fails to build on FreeBSD 11.x # error: typedef redefinition with different types ('struct max_align_t' vs '__max_align_t') OPTIONS_EXCLUDE_FreeBSD_11= LIBDISLOCATOR # On non-x86 architectures LLVM is mandatory OPTIONS_SLAVE= ${ARCH:Namd64:Ni386:S/${ARCH}/LLVM/} OPTIONS_SUB= yes GCC_DESC= Build GCC plugin and afl-gcc-fast LIBDISLOCATOR_DESC= Abusive allocator for uncovering heap-related bugs LLVM_DESC= LLVM-based instrumentation PYTHON_DESC= Python mutators support GCC_BUILD_DEPENDS= gcc${GCC_DEFAULT}>0:lang/gcc${GCC_DEFAULT} GCC_RUN_DEPENDS= gcc${GCC_DEFAULT}>0:lang/gcc${GCC_DEFAULT} GCC_MAKE_ARGS= GCC=gcc${GCC_DEFAULT:S/-devel$//} \ GXX=g++${GCC_DEFAULT:S/-devel$//} GCC_ALL_TARGET= gcc_plugin GCC_TEST_TARGET= test_gcc_plugin LIBDISLOCATOR_ALL_TARGET= libdislocator LLVM_BUILD_DEPENDS= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} LLVM_RUN_DEPENDS= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} -LLVM_MAKE_ARGS= CC=clang${LLVM_DEFAULT} \ +LLVM_MAKE_ARGS= _AFL_REAL_LD=${LOCALBASE}/bin/ld.lld${LLVM_DEFAULT} \ + CC=clang${LLVM_DEFAULT} \ CXX=clang++${LLVM_DEFAULT} \ LLVM_CONFIG=llvm-config${LLVM_DEFAULT} LLVM_ALL_TARGET= llvm_mode LLVM_TEST_TARGET= test_llvm_mode LLVM_BINARY_ALIAS= llvm-config=llvm-config${LLVM_DEFAULT} PYTHON_USES= gettext-runtime python:3.7 PYTHON_MAKE_ARGS_OFF= PYTHON_INCLUDE=/nonexistent .include .if ${ARCH} == "i386" || ${ARCH} == "amd64" PLIST_SUB+= X86="" .else MAKE_ARGS+= AFL_NO_X86=1 PLIST_SUB+= X86="@comment " .endif .if ${ARCH} == "i386" # Clang i386 emits .cfi_sections which base as(1) doesn't understand BUILD_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils RUN_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils .endif post-patch: # Disable the instrumentation tests to make sure building packages in # jails works by default. afl needs shmget() which usually isn't # available in jails. @${REINPLACE_CMD} 's@^\(all.*\) test_build@\1@' \ - ${WRKSRC}/Makefile \ - ${WRKSRC}/gcc_plugin/Makefile \ - ${WRKSRC}/llvm_mode/Makefile + ${WRKSRC}/${MAKEFILE} \ + ${WRKSRC}/gcc_plugin/GNUmakefile \ + ${WRKSRC}/llvm_mode/GNUmakefile .if ${ARCH} == "i386" @${REINPLACE_CMD} 's@\( as_params\[0\] = afl_as ? afl_as : \)\(.*\)@\1(u8*)"${LOCALBASE}/bin/as";@' \ ${WRKSRC}/src/afl-as.c .endif - @${REINPLACE_CMD} '/export AFL_CC/d' ${WRKSRC}/test/test.sh - @${ECHO_CMD} "include ${FILESDIR}/Makefile.extra" >> ${WRKSRC}/Makefile + @${ECHO_CMD} "include ${FILESDIR}/Makefile.extra" >> ${WRKSRC}/${MAKEFILE} post-patch-LLVM-on: @${REINPLACE_CMD} \ -e 's|"clang"|"clang${LLVM_DEFAULT}"|g' \ -e 's|"clang\+\+"|"clang\+\+${LLVM_DEFAULT}"|g' \ ${WRKSRC}/llvm_mode/afl-clang-fast.c post-install: @${MKDIR} ${STAGEDIR}${DOCSDIR}/libtokencap ${INSTALL_MAN} ${WRKSRC}/libtokencap/README.md \ ${STAGEDIR}${DOCSDIR}/libtokencap @cd ${STAGEDIR}${PREFIX} && \ ${FIND} lib/afl -name 'argvfuzz*.so' -or -name 'socketfuzz*.so' \ >> ${TMPPLIST} +post-install-EXAMPLES-on: + @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/custom_mutators + @cd ${WRKSRC}/examples && \ + ${COPYTREE_SHARE} custom_mutators ${STAGEDIR}${EXAMPLESDIR} + post-install-GCC-on: @${MKDIR} ${STAGEDIR}${DOCSDIR}/gcc_plugin ${INSTALL_MAN} ${WRKSRC}/gcc_plugin/README.* \ ${STAGEDIR}${DOCSDIR}/gcc_plugin post-install-LIBDISLOCATOR-on: @${MKDIR} ${STAGEDIR}${DOCSDIR}/libdislocator ${INSTALL_MAN} ${WRKSRC}/libdislocator/README.md \ ${STAGEDIR}${DOCSDIR}/libdislocator post-install-LLVM-on: ${MKDIR} ${STAGEDIR}${DOCSDIR}/llvm_mode ${INSTALL_MAN} ${WRKSRC}/llvm_mode/README.* \ ${STAGEDIR}${DOCSDIR}/llvm_mode -post-install-PYTHON-on: - @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/python_mutators - @cd ${WRKSRC}/examples && \ - ${COPYTREE_SHARE} python_mutators ${STAGEDIR}${EXAMPLESDIR} - post-test: # libtokencap test might require security.bsd.unprivileged_proc_debug=1 - @cd ${WRKSRC}/test && ./test.sh + @cd ${WRKSRC}/test && ${SETENV} AFL_PATH=${WRKSRC} ./test.sh .include Index: head/security/afl++/distinfo =================================================================== --- head/security/afl++/distinfo (revision 531291) +++ head/security/afl++/distinfo (revision 531292) @@ -1,3 +1,3 @@ -TIMESTAMP = 1582866765 -SHA256 (vanhauser-thc-AFLplusplus-2.62c_GH0.tar.gz) = cde181ac733aa3a1212ffcb494bb9306a2086c7521fb006719b0e15cd8015c63 -SIZE (vanhauser-thc-AFLplusplus-2.62c_GH0.tar.gz) = 1272000 +TIMESTAMP = 1586436254 +SHA256 (AFLplusplus-AFLplusplus-2.63c_GH0.tar.gz) = 9c314899015620a9e57054f15f3fed29104c0f762098e30707267ef70be1add8 +SIZE (AFLplusplus-AFLplusplus-2.63c_GH0.tar.gz) = 1326005 Index: head/security/afl++/files/Makefile.extra =================================================================== --- head/security/afl++/files/Makefile.extra (revision 531291) +++ head/security/afl++/files/Makefile.extra (revision 531292) @@ -1,26 +1,26 @@ .PHONY: gcc_plugin install-strip libdislocator libtokencap llvm_mode test_gcc_plugin test_llvm_mode install-strip: install @cd ${DESTDIR}${BIN_PATH} && ${STRIP_CMD} ${PROGS} @-${STRIP_CMD} ${DESTDIR}${BIN_PATH}/afl-clang-fast @-${STRIP_CMD} ${DESTDIR}${BIN_PATH}/afl-gcc-fast # XXX: strip(1) trips up when stripping all things in HELPER_PATH in one go? - @cd ${DESTDIR}${HELPER_PATH} && for f in afl-as *.so; do ${STRIP_CMD} $${f}; done + @cd ${DESTDIR}${HELPER_PATH} && for f in afl-as afl-ld *.so; do ${STRIP_CMD} $${f}; done libdislocator: $(MAKE) -C libdislocator CFLAGS="-I../include ${CFLAGS}" libtokencap: $(MAKE) -C libtokencap llvm_mode: - $(MAKE) -C llvm_mode + $(MAKE) -C llvm_mode AFL_REAL_LD="$(_AFL_REAL_LD)" test_llvm_mode: - $(MAKE) -C llvm_mode test_build + $(MAKE) -C llvm_mode AFL_REAL_LD="$(_AFL_REAL_LD)" test_build gcc_plugin: $(MAKE) -C gcc_plugin CC="${GCC}" CXX="${GXX}" test_gcc_plugin: $(MAKE) -C gcc_plugin CC="${GCC}" CXX="${GXX}" test_build Index: head/security/afl++/files/patch-test_test.sh =================================================================== --- head/security/afl++/files/patch-test_test.sh (nonexistent) +++ head/security/afl++/files/patch-test_test.sh (revision 531292) @@ -0,0 +1,70 @@ +Chicken and egg: Make tests runnable without afl++ already installed. + +[!] LTO llvm_mode failed +clang-9: error: invalid linker name in argument '-fuse-ld=/usr/local/lib/afl/afl-ld' +[!] llvm_mode LTO persistent mode feature compilation failed + +Setting AFL_CC is not necessary since all programs should be compiled +with the right settings already. + +--- test/test.sh.orig 2020-04-09 08:23:37 UTC ++++ test/test.sh +@@ -220,14 +220,6 @@ test "$SYS" = "i686" -o "$SYS" = "x86_64" -o "$SYS" = + + $ECHO "$BLUE[*] Testing: llvm_mode, afl-showmap, afl-fuzz, afl-cmin and afl-tmin" + test -e ../afl-clang-fast -a -e ../split-switches-pass.so && { +- # on FreeBSD need to set AFL_CC +- test `uname -s` = 'FreeBSD' && { +- if type clang >/dev/null; then +- export AFL_CC=`command -v clang` +- else +- export AFL_CC=`$LLVM_CONFIG --bindir`/clang +- fi +- } + ../afl-clang-fast -o test-instr.plain ../test-instr.c > /dev/null 2>&1 + AFL_HARDEN=1 ../afl-clang-fast -o test-compcov.harden test-compcov.c > /dev/null 2>&1 + test -e test-instr.plain && { +@@ -398,16 +390,7 @@ test -e ../afl-clang-fast -a -e ../split-switches-pass + + $ECHO "$BLUE[*] Testing: LTO llvm_mode" + test -e ../afl-clang-lto -a -e ../afl-llvm-lto-instrumentation.so && { +- # on FreeBSD need to set AFL_CC +- test `uname -s` = 'FreeBSD' && { +- if type clang >/dev/null; then +- export AFL_CC=`command -v clang` +- else +- export AFL_CC=`$LLVM_CONFIG --bindir`/clang +- fi +- } +- +- ../afl-clang-lto -o test-instr.plain ../test-instr.c > /dev/null 2>&1 ++ ../afl-clang-lto -fuse-ld="$(realpath ../afl-ld)" -o test-instr.plain ../test-instr.c > /dev/null 2>&1 + test -e test-instr.plain && { + $ECHO "$GREEN[+] llvm_mode LTO compilation succeeded" + echo 0 | ../afl-showmap -m ${MEM_LIMIT} -o test-instr.plain.0 -r -- ./test-instr.plain > /dev/null 2>&1 +@@ -452,7 +435,7 @@ test -e ../afl-clang-lto -a -e ../afl-llvm-lto-instrum + # CODE=1 + # } + # rm -f test-compcov test.out whitelist.txt +- ../afl-clang-lto -o test-persistent ../examples/persistent_demo/persistent_demo.c > /dev/null 2>&1 ++ ../afl-clang-lto -fuse-ld="$(realpath ../afl-ld)" -o test-persistent ../examples/persistent_demo/persistent_demo.c > /dev/null 2>&1 + test -e test-persistent && { + echo foo | ../afl-showmap -o /dev/null -q -r ./test-persistent && { + $ECHO "$GREEN[+] llvm_mode LTO persistent mode feature works correctly" +@@ -472,8 +455,6 @@ test -e ../afl-clang-lto -a -e ../afl-llvm-lto-instrum + + $ECHO "$BLUE[*] Testing: gcc_plugin" + test -e ../afl-gcc-fast -a -e ../afl-gcc-rt.o && { +- SAVE_AFL_CC=${AFL_CC} +- export AFL_CC=`command -v gcc` + ../afl-gcc-fast -o test-instr.plain.gccpi ../test-instr.c > /dev/null 2>&1 + AFL_HARDEN=1 ../afl-gcc-fast -o test-compcov.harden.gccpi test-compcov.c > /dev/null 2>&1 + test -e test-instr.plain.gccpi && { +@@ -575,7 +556,6 @@ test -e ../afl-gcc-fast -a -e ../afl-gcc-rt.o && { + CODE=1 + } + rm -f test-persistent +- export AFL_CC=${SAVE_AFL_CC} + } || { + $ECHO "$YELLOW[-] gcc_plugin not compiled, cannot test" + INCOMPLETE=1 Property changes on: head/security/afl++/files/patch-test_test.sh ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/security/afl++/pkg-descr =================================================================== --- head/security/afl++/pkg-descr (revision 531291) +++ head/security/afl++/pkg-descr (revision 531292) @@ -1,10 +1,10 @@ American fuzzy lop is a fuzzer that employs a novel type of compile-time instrumentation and genetic algorithms to automatically discover clean, interesting test cases that trigger new internal states in the targeted binary. This substantially improves the functional coverage for the fuzzed code. afl++ is a fork of afl that incorporates all community patches into a single source distribution. -WWW: https://github.com/vanhauser-thc/AFLplusplus +WWW: https://aflplus.plus/ Index: head/security/afl++/pkg-plist =================================================================== --- head/security/afl++/pkg-plist (revision 531291) +++ head/security/afl++/pkg-plist (revision 531292) @@ -1,137 +1,163 @@ bin/afl-analyze %%X86%%bin/afl-clang %%X86%%bin/afl-clang++ %%LLVM%%bin/afl-clang-fast %%LLVM%%bin/afl-clang-fast++ +%%LLVM%%bin/afl-clang-lto +%%LLVM%%bin/afl-clang-lto++ %%GCC%%bin/afl-g++-fast %%GCC%%bin/afl-gcc-fast bin/afl-cmin bin/afl-cmin.bash bin/afl-fuzz %%X86%%bin/afl-g++ %%X86%%bin/afl-gcc bin/afl-gotcpu bin/afl-plot bin/afl-showmap bin/afl-system-config bin/afl-tmin bin/afl-whatsup %%X86%%lib/afl/afl-as %%GCC%%lib/afl/afl-gcc-pass.so %%GCC%%lib/afl/afl-gcc-rt.o +%%LLVM%%lib/afl/afl-ld +%%LLVM%%lib/afl/afl-llvm-lto-instrumentation.so +%%LLVM%%lib/afl/afl-llvm-lto-whitelist.so %%LLVM%%lib/afl/afl-llvm-pass.so %%X86%%%%LLVM%%lib/afl/afl-llvm-rt-32.o %%LLVM%%lib/afl/afl-llvm-rt-64.o %%LLVM%%lib/afl/afl-llvm-rt.o %%X86%%lib/afl/as +%%LLVM%%lib/afl/cmplog-instructions-pass.so +%%LLVM%%lib/afl/cmplog-routines-pass.so %%LLVM%%lib/afl/compare-transform-pass.so +%%LLVM%%lib/afl/ld %%LIBDISLOCATOR%%lib/afl/libdislocator.so lib/afl/libtokencap.so %%LLVM%%lib/afl/libLLVMInsTrim.so %%LLVM%%lib/afl/split-compares-pass.so %%LLVM%%lib/afl/split-switches-pass.so man/man8/afl-analyze.8.gz man/man8/afl-as.8.gz %%LLVM%%man/man8/afl-clang-fast.8.gz %%LLVM%%man/man8/afl-clang-fast++.8.gz +%%LLVM%%man/man8/afl-clang-lto.8.gz +%%LLVM%%man/man8/afl-clang-lto++.8.gz man/man8/afl-cmin.8.gz man/man8/afl-cmin.bash.8.gz man/man8/afl-fuzz.8.gz %%GCC%%man/man8/afl-g++-fast.8.gz %%GCC%%man/man8/afl-gcc-fast.8.gz man/man8/afl-gcc.8.gz man/man8/afl-gotcpu.8.gz man/man8/afl-plot.8.gz man/man8/afl-showmap.8.gz man/man8/afl-system-config.8.gz man/man8/afl-tmin.8.gz man/man8/afl-whatsup.8.gz %%DATADIR%%/README.md %%DATADIR%%/archives/common/ar/small_archive.a %%DATADIR%%/archives/common/bzip2/small_archive.bz2 %%DATADIR%%/archives/common/cab/small_archive.cab %%DATADIR%%/archives/common/compress/small_archive.Z %%DATADIR%%/archives/common/cpio/small_archive.cpio %%DATADIR%%/archives/common/gzip/small_archive.gz %%DATADIR%%/archives/common/lzo/small_archive.lzo %%DATADIR%%/archives/common/rar/small_archive.rar %%DATADIR%%/archives/common/tar/small_archive.tar %%DATADIR%%/archives/common/xz/small_archive.xz %%DATADIR%%/archives/common/zip/small_archive.zip %%DATADIR%%/archives/exotic/arj/small_archive.arj %%DATADIR%%/archives/exotic/lha/small_archive.lha %%DATADIR%%/archives/exotic/lrzip/small_archive.lrz %%DATADIR%%/archives/exotic/lzip/small_archive.lz %%DATADIR%%/archives/exotic/lzma/small_archive.lzma %%DATADIR%%/archives/exotic/rzip/small_archive.rz %%DATADIR%%/archives/exotic/zoo/small_archive.zoo %%DATADIR%%/gif.dict %%DATADIR%%/html_tags.dict %%DATADIR%%/images/bmp/not_kitty.bmp %%DATADIR%%/images/gif/not_kitty.gif %%DATADIR%%/images/ico/not_kitty.ico %%DATADIR%%/images/jp2/not_kitty.jp2 %%DATADIR%%/images/jpeg/not_kitty.jpg %%DATADIR%%/images/jxr/not_kitty.jxr %%DATADIR%%/images/png/not_kitty.png %%DATADIR%%/images/png/not_kitty_alpha.png %%DATADIR%%/images/png/not_kitty_gamma.png %%DATADIR%%/images/png/not_kitty_icc.png %%DATADIR%%/images/tiff/not_kitty.tiff %%DATADIR%%/images/webp/not_kitty.webp %%DATADIR%%/jpeg.dict %%DATADIR%%/js.dict %%DATADIR%%/json.dict %%DATADIR%%/multimedia/h264/small_movie.mp4 %%DATADIR%%/others/elf/small_exec.elf %%DATADIR%%/others/js/small_script.js %%DATADIR%%/others/pcap/small_capture.pcap %%DATADIR%%/others/pdf/small.pdf %%DATADIR%%/others/rtf/small_document.rtf %%DATADIR%%/others/sql/simple_queries.sql %%DATADIR%%/others/text/hello_world.txt %%DATADIR%%/others/xml/small_document.xml %%DATADIR%%/pdf.dict %%DATADIR%%/png.dict %%DATADIR%%/regexp.dict %%DATADIR%%/sql.dict %%DATADIR%%/tiff.dict %%DATADIR%%/webp.dict %%DATADIR%%/xml.dict %%PORTDOCS%%%%DOCSDIR%%/Changelog.md %%PORTDOCS%%%%DOCSDIR%%/INSTALL.md %%PORTDOCS%%%%DOCSDIR%%/PATCHES.md %%PORTDOCS%%%%DOCSDIR%%/QuickStartGuide.md %%PORTDOCS%%%%DOCSDIR%%/README.MOpt.md +%%PORTDOCS%%%%DOCSDIR%%/README.cmplog.md +%%PORTDOCS%%%%DOCSDIR%%/README.ctx.md +%%PORTDOCS%%%%DOCSDIR%%/README.instrim.md +%%PORTDOCS%%%%DOCSDIR%%/README.laf-intel.md +%%PORTDOCS%%%%DOCSDIR%%/README.llvm_mode.md +%%PORTDOCS%%%%DOCSDIR%%/README.lto.md %%PORTDOCS%%%%DOCSDIR%%/README.md +%%PORTDOCS%%%%DOCSDIR%%/README.neverzero.md +%%PORTDOCS%%%%DOCSDIR%%/README.ngram.md %%PORTDOCS%%%%DOCSDIR%%/README.radamsa.md +%%PORTDOCS%%%%DOCSDIR%%/README.snapshot.md +%%PORTDOCS%%%%DOCSDIR%%/README.whitelist.md %%PORTDOCS%%%%DOCSDIR%%/binaryonly_fuzzing.md -%%PORTDOCS%%%%DOCSDIR%%/custom_mutator.md +%%PORTDOCS%%%%DOCSDIR%%/custom_mutators.md %%PORTDOCS%%%%DOCSDIR%%/env_variables.md %%GCC%%%%PORTDOCS%%%%DOCSDIR%%/gcc_plugin/README.md %%GCC%%%%PORTDOCS%%%%DOCSDIR%%/gcc_plugin/README.whitelist.md %%PORTDOCS%%%%DOCSDIR%%/historical_notes.md %%PORTDOCS%%%%DOCSDIR%%/ideas.md %%LIBDISLOCATOR%%%%PORTDOCS%%%%DOCSDIR%%/libdislocator/README.md %%PORTDOCS%%%%DOCSDIR%%/libtokencap/README.md %%PORTDOCS%%%%DOCSDIR%%/life_pro_tips.md %%LLVM%%%%PORTDOCS%%%%DOCSDIR%%/llvm_mode/README.cmplog.md +%%LLVM%%%%PORTDOCS%%%%DOCSDIR%%/llvm_mode/README.ctx.md %%LLVM%%%%PORTDOCS%%%%DOCSDIR%%/llvm_mode/README.instrim.md %%LLVM%%%%PORTDOCS%%%%DOCSDIR%%/llvm_mode/README.laf-intel.md +%%LLVM%%%%PORTDOCS%%%%DOCSDIR%%/llvm_mode/README.lto.md %%LLVM%%%%PORTDOCS%%%%DOCSDIR%%/llvm_mode/README.md %%LLVM%%%%PORTDOCS%%%%DOCSDIR%%/llvm_mode/README.neverzero.md +%%LLVM%%%%PORTDOCS%%%%DOCSDIR%%/llvm_mode/README.ngram.md +%%LLVM%%%%PORTDOCS%%%%DOCSDIR%%/llvm_mode/README.snapshot.md %%LLVM%%%%PORTDOCS%%%%DOCSDIR%%/llvm_mode/README.whitelist.md %%PORTDOCS%%%%DOCSDIR%%/notes_for_asan.md %%PORTDOCS%%%%DOCSDIR%%/parallel_fuzzing.md %%PORTDOCS%%%%DOCSDIR%%/perf_tips.md %%PORTDOCS%%%%DOCSDIR%%/power_schedules.md -%%PYTHON%%%%PORTDOCS%%%%DOCSDIR%%/python_mutators.md %%PORTDOCS%%%%DOCSDIR%%/sister_projects.md %%PORTDOCS%%%%DOCSDIR%%/status_screen.md %%PORTDOCS%%%%DOCSDIR%%/technical_details.md -%%PYTHON%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python_mutators/README -%%PYTHON%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python_mutators/XmlMutatorMin.py -%%PYTHON%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python_mutators/common.py -%%PYTHON%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python_mutators/example.py -%%PYTHON%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python_mutators/simple-chunk-replace.py -%%PYTHON%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python_mutators/wrapper_afl_min.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/custom_mutators/Makefile +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/custom_mutators/README.md +%%PYTHON%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/custom_mutators/XmlMutatorMin.py +%%PYTHON%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/custom_mutators/common.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/custom_mutators/custom_mutator_helpers.h +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/custom_mutators/example.c +%%PYTHON%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/custom_mutators/example.py +%%PYTHON%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/custom_mutators/simple-chunk-replace.py +%%PYTHON%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/custom_mutators/wrapper_afl_min.py