aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid CARLIER <devnexen@gmail.com>2020-04-12 15:55:52 +0100
committerGitHub <noreply@github.com>2020-04-12 16:55:52 +0200
commit79195454993b6cfff6b03354dbf1e045e77f83cb (patch)
tree314795c419d2d78d7f043df4bc0d42a5c09e5b8f
parent5a8db5954cac56cffa4f0066476db210dca4d330 (diff)
downloadafl++-79195454993b6cfff6b03354dbf1e045e77f83cb.tar.gz
Better solution for ARM64 build fix (#315)
-rw-r--r--include/afl-fuzz.h1
-rw-r--r--include/forkserver.h5
-rw-r--r--include/types.h2
-rw-r--r--src/afl-analyze.c4
-rw-r--r--src/afl-common.c25
-rw-r--r--src/afl-forkserver.c1
-rw-r--r--src/afl-fuzz-bitmap.c10
-rw-r--r--src/afl-fuzz-init.c12
-rw-r--r--src/afl-fuzz-one.c4
-rw-r--r--src/afl-fuzz-run.c2
-rw-r--r--src/afl-fuzz-stats.c26
-rw-r--r--src/afl-fuzz.c12
-rw-r--r--src/afl-showmap.c2
-rw-r--r--src/afl-tmin.c4
14 files changed, 53 insertions, 57 deletions
diff --git a/include/afl-fuzz.h b/include/afl-fuzz.h
index 58fe7c41..1440b645 100644
--- a/include/afl-fuzz.h
+++ b/include/afl-fuzz.h
@@ -61,7 +61,6 @@
#include <termios.h>
#include <dlfcn.h>
#include <sched.h>
-#include <inttypes.h>
#include <sys/wait.h>
#include <sys/time.h>
diff --git a/include/forkserver.h b/include/forkserver.h
index 77fcc126..444f92df 100644
--- a/include/forkserver.h
+++ b/include/forkserver.h
@@ -29,7 +29,6 @@
#define __AFL_FORKSERVER_H
#include <stdio.h>
-#include <inttypes.h>
typedef struct afl_forkserver {
@@ -98,9 +97,9 @@ void afl_fsrv_killall();
#endif
#ifdef RLIMIT_AS
-#define MSG_ULIMIT_USAGE " ( ulimit -Sv $[%" PRIu64 " << 10];"
+#define MSG_ULIMIT_USAGE " ( ulimit -Sv $[%llu << 10];"
#else
-#define MSG_ULIMIT_USAGE " ( ulimit -Sd $[%" PRIu64 " << 10];"
+#define MSG_ULIMIT_USAGE " ( ulimit -Sd $[%llu << 10];"
#endif /* ^RLIMIT_AS */
#endif
diff --git a/include/types.h b/include/types.h
index da95cb39..f2a12953 100644
--- a/include/types.h
+++ b/include/types.h
@@ -46,7 +46,7 @@ typedef uint32_t u32;
*/
-#ifdef __x86_64__
+#if defined(__x86_64__) || defined(__aarch64__)
typedef unsigned long long u64;
#else
typedef uint64_t u64;
diff --git a/src/afl-analyze.c b/src/afl-analyze.c
index 951e2f76..66dbefab 100644
--- a/src/afl-analyze.c
+++ b/src/afl-analyze.c
@@ -909,7 +909,7 @@ int main(int argc, char **argv, char **envp) {
}
- if (sscanf(optarg, "%" PRIu64 "%c", &mem_limit, &suffix) < 1 ||
+ if (sscanf(optarg, "%llu%c", &mem_limit, &suffix) < 1 ||
optarg[0] == '-')
FATAL("Bad syntax used for -m");
@@ -1013,7 +1013,7 @@ int main(int argc, char **argv, char **envp) {
read_initial_file();
- ACTF("Performing dry run (mem limit = %" PRIu64 " MB, timeout = %u ms%s)...",
+ ACTF("Performing dry run (mem limit = %llu MB, timeout = %u ms%s)...",
mem_limit, exec_tmout, edges_only ? ", edges only" : "");
run_target(use_argv, in_data, in_len, 1);
diff --git a/src/afl-common.c b/src/afl-common.c
index d8af353a..7eba6ae4 100644
--- a/src/afl-common.c
+++ b/src/afl-common.c
@@ -26,7 +26,6 @@
#include <stdlib.h>
#include <stdio.h>
#include <strings.h>
-#include <inttypes.h>
#include "debug.h"
#include "alloc-inl.h"
@@ -455,13 +454,13 @@ u8 *stringify_int(u8 *buf, size_t len, u64 val) {
} while (0)
/* 0-9999 */
- CHK_FORMAT(1, 10000, "%" PRIu64, u64);
+ CHK_FORMAT(1, 10000, "%llu", u64);
/* 10.0k - 99.9k */
CHK_FORMAT(1000, 99.95, "%0.01fk", double);
/* 100k - 999k */
- CHK_FORMAT(1000, 1000, "%" PRIu64 "k", u64);
+ CHK_FORMAT(1000, 1000, "%lluk", u64);
/* 1.00M - 9.99M */
CHK_FORMAT(1000 * 1000, 9.995, "%0.02fM", double);
@@ -470,7 +469,7 @@ u8 *stringify_int(u8 *buf, size_t len, u64 val) {
CHK_FORMAT(1000 * 1000, 99.95, "%0.01fM", double);
/* 100M - 999M */
- CHK_FORMAT(1000 * 1000, 1000, "%" PRIu64 "M", u64);
+ CHK_FORMAT(1000 * 1000, 1000, "%lluM", u64);
/* 1.00G - 9.99G */
CHK_FORMAT(1000LL * 1000 * 1000, 9.995, "%0.02fG", double);
@@ -522,13 +521,13 @@ u8 *stringify_float(u8 *buf, size_t len, double val) {
u8 *stringify_mem_size(u8 *buf, size_t len, u64 val) {
/* 0-9999 */
- CHK_FORMAT(1, 10000, "%" PRIu64 " B", u64);
+ CHK_FORMAT(1, 10000, "%llu B", u64);
/* 10.0k - 99.9k */
CHK_FORMAT(1024, 99.95, "%0.01f kB", double);
/* 100k - 999k */
- CHK_FORMAT(1024, 1000, "%" PRIu64 " kB", u64);
+ CHK_FORMAT(1024, 1000, "%llu kB", u64);
/* 1.00M - 9.99M */
CHK_FORMAT(1024 * 1024, 9.995, "%0.02f MB", double);
@@ -537,7 +536,7 @@ u8 *stringify_mem_size(u8 *buf, size_t len, u64 val) {
CHK_FORMAT(1024 * 1024, 99.95, "%0.01f MB", double);
/* 100M - 999M */
- CHK_FORMAT(1024 * 1024, 1000, "%" PRIu64 " MB", u64);
+ CHK_FORMAT(1024 * 1024, 1000, "%llu MB", u64);
/* 1.00G - 9.99G */
CHK_FORMAT(1024LL * 1024 * 1024, 9.995, "%0.02f GB", double);
@@ -615,13 +614,13 @@ u8 *u_stringify_int(u8 *buf, u64 val) {
} while (0)
/* 0-9999 */
- CHK_FORMAT(1, 10000, "%" PRIu64, u64);
+ CHK_FORMAT(1, 10000, "%llu", u64);
/* 10.0k - 99.9k */
CHK_FORMAT(1000, 99.95, "%0.01fk", double);
/* 100k - 999k */
- CHK_FORMAT(1000, 1000, "%" PRIu64 "k", u64);
+ CHK_FORMAT(1000, 1000, "%lluk", u64);
/* 1.00M - 9.99M */
CHK_FORMAT(1000 * 1000, 9.995, "%0.02fM", double);
@@ -630,7 +629,7 @@ u8 *u_stringify_int(u8 *buf, u64 val) {
CHK_FORMAT(1000 * 1000, 99.95, "%0.01fM", double);
/* 100M - 999M */
- CHK_FORMAT(1000 * 1000, 1000, "%" PRIu64 "M", u64);
+ CHK_FORMAT(1000 * 1000, 1000, "%lluM", u64);
/* 1.00G - 9.99G */
CHK_FORMAT(1000LL * 1000 * 1000, 9.995, "%0.02fG", double);
@@ -681,13 +680,13 @@ u8 *u_stringify_float(u8 *buf, double val) {
u8 *u_stringify_mem_size(u8 *buf, u64 val) {
/* 0-9999 */
- CHK_FORMAT(1, 10000, "%" PRIu64 " B", u64);
+ CHK_FORMAT(1, 10000, "%llu B", u64);
/* 10.0k - 99.9k */
CHK_FORMAT(1024, 99.95, "%0.01f kB", double);
/* 100k - 999k */
- CHK_FORMAT(1024, 1000, "%" PRIu64 " kB", u64);
+ CHK_FORMAT(1024, 1000, "%llu kB", u64);
/* 1.00M - 9.99M */
CHK_FORMAT(1024 * 1024, 9.995, "%0.02f MB", double);
@@ -696,7 +695,7 @@ u8 *u_stringify_mem_size(u8 *buf, u64 val) {
CHK_FORMAT(1024 * 1024, 99.95, "%0.01f MB", double);
/* 100M - 999M */
- CHK_FORMAT(1024 * 1024, 1000, "%" PRIu64 " MB", u64);
+ CHK_FORMAT(1024 * 1024, 1000, "%llu MB", u64);
/* 1.00G - 9.99G */
CHK_FORMAT(1024LL * 1024 * 1024, 9.995, "%0.02f GB", double);
diff --git a/src/afl-forkserver.c b/src/afl-forkserver.c
index 8b504584..a7067791 100644
--- a/src/afl-forkserver.c
+++ b/src/afl-forkserver.c
@@ -38,7 +38,6 @@
#include <time.h>
#include <errno.h>
#include <signal.h>
-#include <inttypes.h>
#include <sys/time.h>
#include <sys/wait.h>
#include <sys/resource.h>
diff --git a/src/afl-fuzz-bitmap.c b/src/afl-fuzz-bitmap.c
index 293102a8..b6a494db 100644
--- a/src/afl-fuzz-bitmap.c
+++ b/src/afl-fuzz-bitmap.c
@@ -441,7 +441,7 @@ u8 *describe_op(afl_state_t *afl, u8 hnb) {
sprintf(ret, "src:%06u", afl->current_entry);
- sprintf(ret + strlen(ret), ",time:%" PRIu64, get_cur_time() - afl->start_time);
+ sprintf(ret + strlen(ret), ",time:%llu", get_cur_time() - afl->start_time);
if (afl->splicing_with >= 0)
sprintf(ret + strlen(ret), "+%06d", afl->splicing_with);
@@ -659,12 +659,12 @@ u8 save_if_interesting(afl_state_t *afl, void *mem, u32 len, u8 fault) {
#ifndef SIMPLE_FILES
- snprintf(fn, PATH_MAX, "%s/hangs/id:%06" PRIu64 ",%s", afl->out_dir,
+ snprintf(fn, PATH_MAX, "%s/hangs/id:%06llu,%s", afl->out_dir,
afl->unique_hangs, describe_op(afl, 0));
#else
- snprintf(fn, PATH_MAX, "%s/hangs/id_%06" PRIu64, afl->out_dir,
+ snprintf(fn, PATH_MAX, "%s/hangs/id_%06llu", afl->out_dir,
afl->unique_hangs);
#endif /* ^!SIMPLE_FILES */
@@ -703,12 +703,12 @@ u8 save_if_interesting(afl_state_t *afl, void *mem, u32 len, u8 fault) {
#ifndef SIMPLE_FILES
- snprintf(fn, PATH_MAX, "%s/crashes/id:%06" PRIu64 ",sig:%02u,%s", afl->out_dir,
+ snprintf(fn, PATH_MAX, "%s/crashes/id:%06llu,sig:%02u,%s", afl->out_dir,
afl->unique_crashes, afl->kill_signal, describe_op(afl, 0));
#else
- snprintf(fn, PATH_MAX, "%s/crashes/id_%06" PRIu64 "_%02u", afl->out_dir,
+ snprintf(fn, PATH_MAX, "%s/crashes/id_%06llu_%02u", afl->out_dir,
afl->unique_crashes, afl->kill_signal);
#endif /* ^!SIMPLE_FILES */
diff --git a/src/afl-fuzz-init.c b/src/afl-fuzz-init.c
index 85b98173..54cc81ef 100644
--- a/src/afl-fuzz-init.c
+++ b/src/afl-fuzz-init.c
@@ -494,7 +494,7 @@ void perform_dry_run(afl_state_t *afl) {
if (afl->stop_soon) return;
if (res == afl->crash_mode || res == FAULT_NOBITS)
- SAYF(cGRA " len = %u, map size = %u, exec speed = %" PRIu64 " us\n" cRST,
+ SAYF(cGRA " len = %u, map size = %u, exec speed = %llu us\n" cRST,
q->len, q->bitmap_size, q->exec_us);
switch (res) {
@@ -1051,8 +1051,8 @@ static void handle_existing_out_dir(afl_state_t *afl) {
u64 start_time2, last_update;
if (fscanf(f,
- "start_time : %" PRIu64 "\n"
- "last_update : %" PRIu64 "\n",
+ "start_time : %llu\n"
+ "last_update : %llu\n",
&start_time2, &last_update) != 2)
FATAL("Malformed data in '%s'", fn);
@@ -1602,7 +1602,7 @@ void check_cpu_governor(afl_state_t *afl) {
if (f) {
- if (fscanf(f, "%" PRIu64, &min) != 1) min = 0;
+ if (fscanf(f, "%llu", &min) != 1) min = 0;
fclose(f);
}
@@ -1611,7 +1611,7 @@ void check_cpu_governor(afl_state_t *afl) {
if (f) {
- if (fscanf(f, "%" PRIu64, &max) != 1) max = 0;
+ if (fscanf(f, "%llu", &max) != 1) max = 0;
fclose(f);
}
@@ -1620,7 +1620,7 @@ void check_cpu_governor(afl_state_t *afl) {
SAYF("\n" cLRD "[-] " cRST
"Whoops, your system uses on-demand CPU frequency scaling, adjusted\n"
- " between %" PRIu64 " and %" PRIu64 " MHz. Unfortunately, the scaling algorithm in "
+ " between %llu and %llu MHz. Unfortunately, the scaling algorithm in "
"the\n"
" kernel is imperfect and can miss the short-lived processes spawned "
"by\n"
diff --git a/src/afl-fuzz-one.c b/src/afl-fuzz-one.c
index 01ce37fb..80567160 100644
--- a/src/afl-fuzz-one.c
+++ b/src/afl-fuzz-one.c
@@ -405,7 +405,7 @@ u8 fuzz_one_original(afl_state_t *afl) {
if (unlikely(afl->not_on_tty)) {
- ACTF("Fuzzing test case #%u (%u total, %" PRIu64 " uniq crashes found)...",
+ ACTF("Fuzzing test case #%u (%u total, %llu uniq crashes found)...",
afl->current_entry, afl->queued_paths, afl->unique_crashes);
fflush(stdout);
@@ -2432,7 +2432,7 @@ u8 mopt_common_fuzzing(afl_state_t *afl, MOpt_globals_t MOpt_globals) {
if (afl->not_on_tty) {
- ACTF("Fuzzing test case #%u (%u total, %" PRIu64 " uniq crashes found)...",
+ ACTF("Fuzzing test case #%u (%u total, %llu uniq crashes found)...",
afl->current_entry, afl->queued_paths, afl->unique_crashes);
fflush(stdout);
diff --git a/src/afl-fuzz-run.c b/src/afl-fuzz-run.c
index f8440f46..4c98d788 100644
--- a/src/afl-fuzz-run.c
+++ b/src/afl-fuzz-run.c
@@ -89,7 +89,7 @@ u8 run_target(afl_state_t *afl, afl_forkserver_t *fsrv, u32 timeout) {
"Unable to communicate with fork server. Some possible reasons:\n\n"
" - You've run out of memory. Use -m to increase the the memory "
"limit\n"
- " to something higher than %" PRIu64 ".\n"
+ " to something higher than %lld.\n"
" - The binary or one of the libraries it uses manages to "
"create\n"
" threads before the forkserver initializes.\n"
diff --git a/src/afl-fuzz-stats.c b/src/afl-fuzz-stats.c
index 0df950dd..2e680dbb 100644
--- a/src/afl-fuzz-stats.c
+++ b/src/afl-fuzz-stats.c
@@ -70,13 +70,13 @@ void write_stats_file(afl_state_t *afl, double bitmap_cvg, double stability,
fprintf(
f,
- "start_time : %" PRIu64 "\n"
- "last_update : %lld\n"
- "run_time : %lld\n"
+ "start_time : %llu\n"
+ "last_update : %llu\n"
+ "run_time : %llu\n"
"fuzzer_pid : %d\n"
- "cycles_done : %" PRIu64 "\n"
- "cycles_wo_finds : %" PRIu64 "\n"
- "execs_done : %" PRIu64 "\n"
+ "cycles_done : %llu\n"
+ "cycles_wo_finds : %llu\n"
+ "execs_done : %llu\n"
"execs_per_sec : %0.02f\n"
// "real_execs_per_sec: %0.02f\n" // damn the name is too long
"paths_total : %u\n"
@@ -90,12 +90,12 @@ void write_stats_file(afl_state_t *afl, double bitmap_cvg, double stability,
"variable_paths : %u\n"
"stability : %0.02f%%\n"
"bitmap_cvg : %0.02f%%\n"
- "unique_crashes : %" PRIu64 "\n"
- "unique_hangs : %" PRIu64 "\n"
- "last_path : %" PRIu64 "\n"
- "last_crash : %" PRIu64 "\n"
- "last_hang : %" PRIu64 "\n"
- "execs_since_crash : %" PRIu64 "\n"
+ "unique_crashes : %llu\n"
+ "unique_hangs : %llu\n"
+ "last_path : %llu\n"
+ "last_crash : %llu\n"
+ "last_hang : %llu\n"
+ "execs_since_crash : %llu\n"
"exec_timeout : %u\n"
"slowest_exec_ms : %u\n"
"peak_rss_mb : %lu\n"
@@ -171,7 +171,7 @@ void maybe_update_plot_file(afl_state_t *afl, double bitmap_cvg, double eps) {
execs_per_sec */
fprintf(afl->fsrv.plot_file,
- "%" PRIu64 ", %" PRIu64 ", %u, %u, %u, %u, %0.02f%%, %" PRIu64 ", %" PRIu64 ", %u, %0.02f\n",
+ "%llu, %llu, %u, %u, %u, %u, %0.02f%%, %llu, %llu, %u, %0.02f\n",
get_cur_time() / 1000, afl->queue_cycle - 1, afl->current_entry,
afl->queued_paths, afl->pending_not_fuzzed, afl->pending_favored,
bitmap_cvg, afl->unique_crashes, afl->unique_hangs, afl->max_depth,
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index 9464dacc..73a38215 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -427,7 +427,7 @@ int main(int argc, char **argv_orig, char **envp) {
}
- if (sscanf(optarg, "%" PRIu64 "%c", &afl->fsrv.mem_limit, &suffix) < 1 ||
+ if (sscanf(optarg, "%llu%c", &afl->fsrv.mem_limit, &suffix) < 1 ||
optarg[0] == '-')
FATAL("Bad syntax used for -m");
@@ -537,7 +537,7 @@ int main(int argc, char **argv_orig, char **envp) {
case 'V': {
afl->most_time_key = 1;
- if (sscanf(optarg, "%" PRIu64, &afl->most_time) < 1 || optarg[0] == '-')
+ if (sscanf(optarg, "%llu", &afl->most_time) < 1 || optarg[0] == '-')
FATAL("Bad syntax used for -V");
} break;
@@ -545,7 +545,7 @@ int main(int argc, char **argv_orig, char **envp) {
case 'E': {
afl->most_execs_key = 1;
- if (sscanf(optarg, "%" PRIu64, &afl->most_execs) < 1 || optarg[0] == '-')
+ if (sscanf(optarg, "%llu", &afl->most_execs) < 1 || optarg[0] == '-')
FATAL("Bad syntax used for -E");
} break;
@@ -556,7 +556,7 @@ int main(int argc, char **argv_orig, char **envp) {
afl->limit_time_sig = 1;
afl->havoc_max_mult = HAVOC_MAX_MULT_MOPT;
- if (sscanf(optarg, "%" PRIu64, &afl->limit_time_puppet) < 1 ||
+ if (sscanf(optarg, "%llu", &afl->limit_time_puppet) < 1 ||
optarg[0] == '-')
FATAL("Bad syntax used for -L");
@@ -566,7 +566,7 @@ int main(int argc, char **argv_orig, char **envp) {
FATAL("limit_time overflow");
afl->limit_time_puppet = limit_time_puppet2;
- SAYF("limit_time_puppet %" PRIu64 "\n", afl->limit_time_puppet);
+ SAYF("limit_time_puppet %llu\n", afl->limit_time_puppet);
afl->swarm_now = 0;
if (afl->limit_time_puppet == 0) afl->key_puppet = 1;
@@ -1079,7 +1079,7 @@ int main(int argc, char **argv_orig, char **envp) {
if (unlikely(afl->not_on_tty)) {
- ACTF("Entering queue cycle %" PRIu64 ".", afl->queue_cycle);
+ ACTF("Entering queue cycle %llu.", afl->queue_cycle);
fflush(stdout);
}
diff --git a/src/afl-showmap.c b/src/afl-showmap.c
index 6c2b2000..c84fa36c 100644
--- a/src/afl-showmap.c
+++ b/src/afl-showmap.c
@@ -720,7 +720,7 @@ int main(int argc, char **argv_orig, char **envp) {
}
- if (sscanf(optarg, "%" PRIu64 "%c", &fsrv->mem_limit, &suffix) < 1 ||
+ if (sscanf(optarg, "%llu%c", &fsrv->mem_limit, &suffix) < 1 ||
optarg[0] == '-')
FATAL("Bad syntax used for -m");
diff --git a/src/afl-tmin.c b/src/afl-tmin.c
index fd081fcf..3be6b2c0 100644
--- a/src/afl-tmin.c
+++ b/src/afl-tmin.c
@@ -989,7 +989,7 @@ int main(int argc, char **argv_orig, char **envp) {
}
- if (sscanf(optarg, "%" PRIu64 "%c", &fsrv->mem_limit, &suffix) < 1 ||
+ if (sscanf(optarg, "%llu%c", &fsrv->mem_limit, &suffix) < 1 ||
optarg[0] == '-')
FATAL("Bad syntax used for -m");
@@ -1134,7 +1134,7 @@ int main(int argc, char **argv_orig, char **envp) {
afl_fsrv_start(fsrv, use_argv, &stop_soon,
get_afl_env("AFL_DEBUG_CHILD_OUTPUT") ? 1 : 0);
- ACTF("Performing dry run (mem limit = %" PRIu64 " MB, timeout = %u ms%s)...",
+ ACTF("Performing dry run (mem limit = %llu MB, timeout = %u ms%s)...",
fsrv->mem_limit, fsrv->exec_tmout, edges_only ? ", edges only" : "");
run_target(fsrv, use_argv, in_data, in_len, 1);