compile-time option to restore kAFL style full edge traces
This commit is contained in:
parent
81dbc38d46
commit
7dbb64e7c2
@ -4,6 +4,13 @@
|
||||
#include <assert.h>
|
||||
#include "redqueen_trace.h"
|
||||
|
||||
/* write full trace of edge transitions rather than sorted list? */
|
||||
//#define KAFL_FULL_TRACES
|
||||
|
||||
#ifdef KAFL_FULL_TRACES
|
||||
#include "redqueen.h"
|
||||
#endif
|
||||
|
||||
redqueen_trace_t* redqueen_trace_new(void){
|
||||
redqueen_trace_t* self = malloc(sizeof(redqueen_trace_t));
|
||||
self->lookup = kh_init(RQ_TRACE);
|
||||
@ -28,6 +35,13 @@ void redqueen_trace_free(redqueen_trace_t* self){
|
||||
void redqueen_trace_register_transition(redqueen_trace_t* self, disassembler_mode_t mode, uint64_t from, uint64_t to){
|
||||
khiter_t k;
|
||||
int ret;
|
||||
#ifdef KAFL_FULL_TRACES
|
||||
extern int trace_fd;
|
||||
if (!trace_fd)
|
||||
trace_fd = open(redqueen_workdir.pt_trace_results, O_WRONLY | O_CREAT | O_APPEND, S_IRWXU);
|
||||
dprintf(trace_fd, "%lx,%lx\n", from, to);
|
||||
return;
|
||||
#endif
|
||||
uint128_t key = (((uint128_t)from)<<64) | ((uint128_t)to);
|
||||
k = kh_get(RQ_TRACE, self->lookup, key);
|
||||
if(k != kh_end(self->lookup)){
|
||||
@ -42,6 +56,9 @@ void redqueen_trace_register_transition(redqueen_trace_t* self, disassembler_mod
|
||||
}
|
||||
|
||||
void redqueen_trace_write_file(redqueen_trace_t* self, int fd){
|
||||
#ifdef KAFL_FULL_TRACES
|
||||
return;
|
||||
#endif
|
||||
for(size_t i = 0; i < self->num_ordered_transitions; i++){
|
||||
khiter_t k;
|
||||
uint128_t key = self->ordered_transitions[i];
|
||||
|
Loading…
x
Reference in New Issue
Block a user