xref: /relibc/ralloc/shim/src/debug.rs (revision 0f7216399ce16528bfddc9947c5b2aaaefe40a2f)
1 //! Bindings to debuggers.
2 
3 extern {
4     /// Valgrind symbol to declare memory undefined.
5     fn valgrind_make_mem_undefined(ptr: *const u8, size: usize);
6     /// Valgrind symbol to declare memory freed.
7     fn valgrind_freelike_block(ptr: *const u8, size: usize);
8 }
9 
10 /// Mark this segment undefined to the debugger.
11 pub fn mark_undefined(ptr: *const u8, size: usize) {
12     unsafe { valgrind_make_mem_undefined(ptr, size) }
13 }
14 /// Mark this segment free to the debugger.
15 pub fn mark_free(ptr: *const u8, size: usize) {
16     unsafe { valgrind_freelike_block(ptr, size) }
17 }
18