forked from M-Labs/libfringe
move the Valgrind doc-comments to Rust-land, where they actually matter
This commit is contained in:
parent
14887b4dd0
commit
476a63b817
|
@ -1,22 +1,12 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "valgrind/valgrind.h"
|
#include "valgrind/valgrind.h"
|
||||||
|
|
||||||
// In order for Valgrind to keep track of stack overflows and such, it needs
|
|
||||||
// a little help. That help unfortunately comes in the form of a pair of C
|
|
||||||
// macros. Calling out to un-inlineable C code for this is pointlessly slow,
|
|
||||||
// but that's the way it is for now.
|
|
||||||
|
|
||||||
typedef uint32_t valgrind_stack_id_t;
|
typedef uint32_t valgrind_stack_id_t;
|
||||||
|
|
||||||
// Register a stack with Valgrind. Returns an integer ID that can
|
|
||||||
// be used to deregister the stack when it's deallocated.
|
|
||||||
// `start < end`, though Valgrind will happily accept either.
|
|
||||||
valgrind_stack_id_t valgrind_stack_register(const void *start, const void *end) {
|
valgrind_stack_id_t valgrind_stack_register(const void *start, const void *end) {
|
||||||
return VALGRIND_STACK_REGISTER(start, end);
|
return VALGRIND_STACK_REGISTER(start, end);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deregister a stack from Valgrind. Takes the integer ID that was returned
|
|
||||||
// on registration.
|
|
||||||
void valgrind_stack_deregister(valgrind_stack_id_t id) {
|
void valgrind_stack_deregister(valgrind_stack_id_t id) {
|
||||||
VALGRIND_STACK_DEREGISTER(id);
|
VALGRIND_STACK_DEREGISTER(id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,19 @@
|
||||||
#![allow(non_camel_case_types)]
|
#![allow(non_camel_case_types)]
|
||||||
|
//! In order for Valgrind to keep track of stack overflows and such, it needs
|
||||||
|
//! a little help. That help unfortunately comes in the form of a pair of C
|
||||||
|
//! macros. Calling out to un-inlineable C code for this is pointlessly slow,
|
||||||
|
//! but that's the way it is for now.
|
||||||
|
|
||||||
pub type stack_id_t = u32;
|
pub type stack_id_t = u32;
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#[link_name = "valgrind_stack_register"]
|
#[link_name = "valgrind_stack_register"]
|
||||||
|
/// Register a stack with Valgrind. Returns an integer ID that can
|
||||||
|
/// be used to deregister the stack when it's deallocated.
|
||||||
|
/// `start < end`, though Valgrind will happily accept either.
|
||||||
pub fn stack_register(start: *const u8, end: *const u8) -> stack_id_t;
|
pub fn stack_register(start: *const u8, end: *const u8) -> stack_id_t;
|
||||||
|
|
||||||
#[link_name = "valgrind_stack_deregister"]
|
#[link_name = "valgrind_stack_deregister"]
|
||||||
|
/// Deregister a stack from Valgrind. Takes the integer ID that was returned
|
||||||
|
/// on registration.
|
||||||
pub fn stack_deregister(id: stack_id_t);
|
pub fn stack_deregister(id: stack_id_t);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue