Haiku afl-system-config disable debugger, afl-cc.c avoid -lrt
diff --git a/afl-system-config b/afl-system-config
index 919932c..456ccca 100755
--- a/afl-system-config
+++ b/afl-system-config
@@ -84,5 +84,14 @@
fi
DONE=1
fi
+if [ "$PLATFORM" = "Haiku" ] ; then
+ SETTINGS=~/config/settings/system/debug_server/settings
+ [ -r ${SETTINGS} ] && grep -qE "default_action\s+kill" ${SETTINGS} && { echo "Nothing to do"; } || { \
+ echo We change the debug_server default_action from user to silenty kill; \
+ [ ! -r ${SETTINGS} ] && echo "default_action kill" >${SETTINGS} || { mv ${SETTINGS} s.tmp; sed -e "s/default_action\s\s*user/default_action kill/" s.tmp > ${SETTINGS}; rm s.tmp; }; \
+ echo Settings applied.; \
+ }
+ DONE=1
+fi
test -z "$DONE" && echo Error: Unknown platform: $PLATFORM
exit 0
diff --git a/src/afl-cc.c b/src/afl-cc.c
index 964df57..27bf8cf 100644
--- a/src/afl-cc.c
+++ b/src/afl-cc.c
@@ -792,9 +792,11 @@
}
-#if defined(USEMMAP) && !defined(__HAIKU__)
+#if defined(USEMMAP)
+#if !defined(__HAIKU__)
cc_params[cc_par_cnt++] = "-lrt";
#endif
+#endif
cc_params[cc_par_cnt++] = "-D__AFL_HAVE_MANUAL_CONTROL=1";
cc_params[cc_par_cnt++] = "-D__AFL_COMPILER=1";
@@ -950,9 +952,11 @@
alloc_printf("-Wl,--dynamic-list=%s/dynamic_list.txt", obj_path);
#endif
- #ifdef USEMMAP
+ #if defined(USEMMAP)
+ #if !defined(__HAIKU__)
cc_params[cc_par_cnt++] = "-lrt";
#endif
+ #endif
}
@@ -1622,13 +1626,18 @@
if (have_lto)
SAYF("afl-cc LTO with ld=%s %s\n", AFL_REAL_LD, AFL_CLANG_FLTO);
if (have_llvm)
- SAYF("afl-cc LLVM version %d with the the binary path \"%s\".\n",
+ SAYF("afl-cc LLVM version %d using binary path \"%s\".\n",
LLVM_MAJOR, LLVM_BINDIR);
#endif
-#ifdef USEMMAP
+#if defined(USEMMAP)
+#if !defined(__HAIKU__)
+ cc_params[cc_par_cnt++] = "-lrt";
SAYF("Compiled with shm_open support (adds -lrt when linking).\n");
#else
+ SAYF("Compiled with shm_open support.\n");
+#endif
+#else
SAYF("Compiled with shmat support.\n");
#endif
SAYF("\n");