diff options
author | Huanyao Rong <r3tr0spect2019@qq.com> | 2024-06-21 21:03:37 -0700 |
---|---|---|
committer | Nguyễn Gia Phong <cnx@loang.net> | 2024-12-03 11:17:44 +0900 |
commit | d04bdf2e841fa6706c16bbba1cb6f6c73d647767 (patch) | |
tree | 23393adc733e6e9e61d7eb226c90258870bb0624 /include/config.h | |
parent | cee3c86d7d5f0a05ad6cbb1434dc13162a16e336 (diff) | |
download | afl++-d04bdf2e841fa6706c16bbba1cb6f6c73d647767.tar.gz |
Implement AFLRun
References: https://github.com/Mem2019/AFLRun/commit/f5bb87f78ef1 References: https://github.com/Mem2019/AFLRun/commit/3af5f11b5644
Diffstat (limited to 'include/config.h')
-rw-r--r-- | include/config.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/include/config.h b/include/config.h index 67b9f932..f359e67d 100644 --- a/include/config.h +++ b/include/config.h @@ -508,5 +508,44 @@ #define AFL_TXT_STRING_MAX_MUTATIONS 6 +/* Shared memory used to record if each basic block and function + reachable to any target has been executed during one execution */ +#define SHM_RBB_ENV_VAR "__AFLRUN_RBB_SHM_ID" +#define SHM_RF_ENV_VAR "__AFLRUN_RF_SHM_ID" + +#define SHM_TR_ENV_VAR "__AFLRUN_TR_SHM_ID" +#define SHM_VIR_ENV_VAR "__AFLRUN_VIR_SHM_ID" +#define SHM_VTR_ENV_VAR "__AFLRUN_VTR_SHM_ID" + +#define SHM_TT_ENV_VAR "__AFLRUN_TT_SHM_ID" +#define SHM_DIV_ENV_VAR "__AFLRUN_DIV_SHM_ID" + +#define CTX_SIZE_POW2 8 +#define CTX_SIZE (1 << CTX_SIZE_POW2) +#define CTX_NUM_BYTES (CTX_SIZE / 8) +#define CTX_IDX(block, ctx) ((block) * CTX_SIZE + (ctx)) + +#define MAP_RF_SIZE(nr) (((nr) + 7) / 8) +#define MAP_RBB_SIZE(nr) MAP_RF_SIZE((nr) + 1) +// we need one more bit for telling if counting frequency +#define MAP_TR_SIZE(nr) ((nr) * CTX_NUM_BYTES) +#ifndef AFLRUN_CTX +#define MAP_VTR_SIZE(nr) ((nr) * sizeof(ctx_t) + sizeof(trace_t)) +#else +#define MAP_VTR_SIZE(nr) (MAP_TR_SIZE(nr) * 8 * sizeof(ctx_t) + sizeof(trace_t)) +#endif // AFLRUN_CTX + +#define AFLRUN_SPLICE_TIMES(e, sc) \ + (((e) * SPLICE_HAVOC) / (HAVOC_CYCLES + SPLICE_HAVOC * (sc))) +#define AFLRUN_HAVOC_TIMES(e, sc) \ + ((e) - AFLRUN_SPLICE_TIMES(e, (sc)) * (sc)) +#define AFLRUN_CUSTOM_TIMES(e, n) \ + (((e) * HAVOC_CYCLES) / \ + (HAVOC_CYCLES + SPLICE_HAVOC * SPLICE_CYCLES + HAVOC_CYCLES * (n))) + +#define QUANTUM_TIME 100000 + +#define AFLRUN_TEMP_SIG "##SIG_AFLRUN_TEMP_DIR##=" + #endif /* ! _HAVE_CONFIG_H */ |