mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
libfuzzer: log all the libcalls to stderr
This commit is contained in:
parent
105b91d30f
commit
dbbe2f1094
@ -9,3 +9,54 @@ export fn __sanitizer_cov_8bit_counters_init(start: [*]u8, stop: [*]u8) void {
|
|||||||
export fn __sanitizer_cov_pcs_init(pcs_beg: [*]const usize, pcs_end: [*]const usize) void {
|
export fn __sanitizer_cov_pcs_init(pcs_beg: [*]const usize, pcs_end: [*]const usize) void {
|
||||||
std.debug.print("__sanitizer_cov_pcs_init pcs_beg={*}, pcs_end={*}\n", .{ pcs_beg, pcs_end });
|
std.debug.print("__sanitizer_cov_pcs_init pcs_beg={*}, pcs_end={*}\n", .{ pcs_beg, pcs_end });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export fn __sanitizer_cov_trace_const_cmp1(arg1: u8, arg2: u8) void {
|
||||||
|
handleCmp(@returnAddress(), arg1, arg2);
|
||||||
|
}
|
||||||
|
|
||||||
|
export fn __sanitizer_cov_trace_cmp1(arg1: u8, arg2: u8) void {
|
||||||
|
handleCmp(@returnAddress(), arg1, arg2);
|
||||||
|
}
|
||||||
|
|
||||||
|
export fn __sanitizer_cov_trace_const_cmp2(arg1: u16, arg2: u16) void {
|
||||||
|
handleCmp(@returnAddress(), arg1, arg2);
|
||||||
|
}
|
||||||
|
|
||||||
|
export fn __sanitizer_cov_trace_cmp2(arg1: u16, arg2: u16) void {
|
||||||
|
handleCmp(@returnAddress(), arg1, arg2);
|
||||||
|
}
|
||||||
|
|
||||||
|
export fn __sanitizer_cov_trace_const_cmp4(arg1: u32, arg2: u32) void {
|
||||||
|
handleCmp(@returnAddress(), arg1, arg2);
|
||||||
|
}
|
||||||
|
|
||||||
|
export fn __sanitizer_cov_trace_cmp4(arg1: u32, arg2: u32) void {
|
||||||
|
handleCmp(@returnAddress(), arg1, arg2);
|
||||||
|
}
|
||||||
|
|
||||||
|
export fn __sanitizer_cov_trace_const_cmp8(arg1: u64, arg2: u64) void {
|
||||||
|
handleCmp(@returnAddress(), arg1, arg2);
|
||||||
|
}
|
||||||
|
|
||||||
|
export fn __sanitizer_cov_trace_cmp8(arg1: u64, arg2: u64) void {
|
||||||
|
handleCmp(@returnAddress(), arg1, arg2);
|
||||||
|
}
|
||||||
|
|
||||||
|
export fn __sanitizer_cov_trace_switch(val: u64, cases_ptr: [*]u64) void {
|
||||||
|
const pc = @returnAddress();
|
||||||
|
const len = cases_ptr[0];
|
||||||
|
const val_size_in_bits = cases_ptr[1];
|
||||||
|
const cases = cases_ptr[2..][0..len];
|
||||||
|
std.debug.print("0x{x}: switch on value {d} ({d} bits) with {d} cases\n", .{
|
||||||
|
pc, val, val_size_in_bits, cases.len,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export fn __sanitizer_cov_trace_pc_indir(callee: usize) void {
|
||||||
|
const pc = @returnAddress();
|
||||||
|
std.debug.print("0x{x}: indirect call to 0x{x}\n", .{ pc, callee });
|
||||||
|
}
|
||||||
|
|
||||||
|
fn handleCmp(pc: usize, arg1: u64, arg2: u64) void {
|
||||||
|
std.debug.print("0x{x}: comparison of {d} and {d}\n", .{ pc, arg1, arg2 });
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user