fixes for pcguard and value profile
This commit is contained in:
parent
0c2a267075
commit
b4e6115d4f
@ -10,15 +10,11 @@ members = [
|
|||||||
"libafl_derive",
|
"libafl_derive",
|
||||||
"libafl_cc",
|
"libafl_cc",
|
||||||
"libafl_targets",
|
"libafl_targets",
|
||||||
|
|
||||||
#example fuzzers
|
|
||||||
"fuzzers/libfuzzer_libmozjpeg",
|
|
||||||
"fuzzers/libfuzzer_libpng_cmpalloc",
|
|
||||||
"fuzzers/libfuzzer_windows",
|
|
||||||
]
|
]
|
||||||
exclude = [
|
exclude = [
|
||||||
"fuzzers/libfuzzer_libpng",
|
"fuzzers/libfuzzer_libpng",
|
||||||
"fuzzers/libfuzzer_stb_image",
|
"fuzzers/libfuzzer_stb_image",
|
||||||
|
"fuzzers/libfuzzer_libmozjpeg",
|
||||||
"fuzzers/frida_libpng",
|
"fuzzers/frida_libpng",
|
||||||
"fuzzers/qemu_user",
|
"fuzzers/qemu_user",
|
||||||
]
|
]
|
||||||
|
@ -4,10 +4,10 @@ compile_error!(
|
|||||||
);
|
);
|
||||||
|
|
||||||
// TODO compile time flag
|
// TODO compile time flag
|
||||||
pub const MAP_SIZE: usize = 65536;
|
pub const EDGES_MAP_SIZE: usize = 65536;
|
||||||
|
|
||||||
pub static mut EDGES_MAP: [u8; MAP_SIZE] = [0; MAP_SIZE];
|
pub static mut EDGES_MAP: [u8; EDGES_MAP_SIZE] = [0; EDGES_MAP_SIZE];
|
||||||
//pub static mut CMP_MAP: [u8; MAP_SIZE] = [0; MAP_SIZE];
|
//pub static mut CMP_MAP: [u8; EDGES_MAP_SIZE] = [0; EDGES_MAP_SIZE];
|
||||||
pub static mut MAX_EDGES_NUM: usize = 0;
|
pub static mut MAX_EDGES_NUM: usize = 0;
|
||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
@ -32,7 +32,7 @@ pub unsafe extern "C" fn __sanitizer_cov_trace_pc_guard_init(mut start: *mut u32
|
|||||||
|
|
||||||
while start < stop {
|
while start < stop {
|
||||||
MAX_EDGES_NUM += 1;
|
MAX_EDGES_NUM += 1;
|
||||||
*start = (MAX_EDGES_NUM & (MAP_SIZE - 1)) as u32;
|
*start = (MAX_EDGES_NUM & (EDGES_MAP_SIZE - 1)) as u32;
|
||||||
start = start.offset(1);
|
start = start.offset(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// TODO compile time flag
|
// TODO compile time flag
|
||||||
pub const MAP_SIZE: usize = 65536;
|
pub const CMP_MAP_SIZE: usize = 65536;
|
||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub static mut libafl_cmp_map: [u8; MAP_SIZE] = [0; MAP_SIZE];
|
pub static mut libafl_cmp_map: [u8; CMP_MAP_SIZE] = [0; CMP_MAP_SIZE];
|
||||||
|
|
||||||
pub use libafl_cmp_map as CMP_MAP;
|
pub use libafl_cmp_map as CMP_MAP;
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ extern {
|
|||||||
pub unsafe extern "C" fn __sanitizer_cov_trace_cmp1(arg1: u8, arg2: u8) {
|
pub unsafe extern "C" fn __sanitizer_cov_trace_cmp1(arg1: u8, arg2: u8) {
|
||||||
let mut pos = return_address();
|
let mut pos = return_address();
|
||||||
pos = (pos >> 4) ^ (pos << 8);
|
pos = (pos >> 4) ^ (pos << 8);
|
||||||
pos &= MAP_SIZE - 1;
|
pos &= CMP_MAP_SIZE - 1;
|
||||||
*CMP_MAP.get_unchecked_mut(pos) = core::cmp::max(*CMP_MAP.get_unchecked(pos), (!(arg1 ^ arg2)).count_ones() as u8);
|
*CMP_MAP.get_unchecked_mut(pos) = core::cmp::max(*CMP_MAP.get_unchecked(pos), (!(arg1 ^ arg2)).count_ones() as u8);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user