diff --git a/coregrind/core.h b/coregrind/core.h index 5b6ad0d46..031ce90b0 100644 --- a/coregrind/core.h +++ b/coregrind/core.h @@ -379,24 +379,6 @@ extern void VG_(done_profiling) ( void ); #define VG_WRAPPER_ALIAS(name) "_vgw_" #name -struct vg_mallocfunc_info { - /* things vg_replace_malloc.o needs to know about */ - void* (*tl_malloc) (ThreadId tid, SizeT n); - void* (*tl___builtin_new) (ThreadId tid, SizeT n); - void* (*tl___builtin_vec_new) (ThreadId tid, SizeT n); - void* (*tl_memalign) (ThreadId tid, SizeT align, SizeT n); - void* (*tl_calloc) (ThreadId tid, SizeT nmemb, SizeT n); - void (*tl_free) (ThreadId tid, void* p); - void (*tl___builtin_delete) (ThreadId tid, void* p); - void (*tl___builtin_vec_delete)(ThreadId tid, void* p); - void* (*tl_realloc) (ThreadId tid, void* p, SizeT size); - - SizeT (*arena_payload_szB) (ArenaId aid, void* payload); - - Bool clo_trace_malloc; -}; - - /* --------------------------------------------------------------------- Exports of vg_scheduler.c ------------------------------------------------------------------ */ diff --git a/coregrind/m_replacemalloc/vg_replace_malloc.c b/coregrind/m_replacemalloc/vg_replace_malloc.c index 39cb997f8..fdfbf26a9 100644 --- a/coregrind/m_replacemalloc/vg_replace_malloc.c +++ b/coregrind/m_replacemalloc/vg_replace_malloc.c @@ -47,6 +47,7 @@ #include "valgrind.h" /* for VALGRIND_NON_SIMD_CALL[12] */ #include "core.h" +#include "pub_core_replacemalloc.h" /* The general idea is: you can write a function like this: diff --git a/coregrind/pub_core_replacemalloc.h b/coregrind/pub_core_replacemalloc.h index 20ec1bca3..3484a6e02 100644 --- a/coregrind/pub_core_replacemalloc.h +++ b/coregrind/pub_core_replacemalloc.h @@ -36,11 +36,24 @@ // replace malloc/free with their own versions. //-------------------------------------------------------------------- -// Nb: there are no exports in this header; all exports for this module -// are in include/pub_tool_replacemalloc.h - #include "pub_tool_replacemalloc.h" +// things vg_replace_malloc.o needs to know about +struct vg_mallocfunc_info { + void* (*tl_malloc) (ThreadId tid, SizeT n); + void* (*tl___builtin_new) (ThreadId tid, SizeT n); + void* (*tl___builtin_vec_new) (ThreadId tid, SizeT n); + void* (*tl_memalign) (ThreadId tid, SizeT align, SizeT n); + void* (*tl_calloc) (ThreadId tid, SizeT nmemb, SizeT n); + void (*tl_free) (ThreadId tid, void* p); + void (*tl___builtin_delete) (ThreadId tid, void* p); + void (*tl___builtin_vec_delete)(ThreadId tid, void* p); + void* (*tl_realloc) (ThreadId tid, void* p, SizeT size); + + SizeT (*arena_payload_szB) (ArenaId aid, void* payload); + Bool clo_trace_malloc; +}; + #endif // __PUB_CORE_REPLACEMALLOC_H /*--------------------------------------------------------------------*/