Haiku afl-system-config disable debugger, afl-cc.c avoid -lrt
MODIFY
afl-system-config
afl-system-config
@@ -84,5 +84,14 @@ if [ "$PLATFORM" = "Darwin" ] ; then
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

MODIFY
src/afl-cc.c
src/afl-cc.c
@@ -792,8 +792,10 @@ static void edit_params(u32 argc, char **argv, char **envp) {
}
-#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";
@@ -950,9 +952,11 @@ static void edit_params(u32 argc, char **argv, char **envp) {
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,12 +1626,17 @@ int main(int argc, char **argv, char **envp) {
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

Haiku afl-system-config disable debugger, afl-cc.c avoid -lrt