aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coregrind/m_tooliface.c3
-rw-r--r--coregrind/pub_core_aspacemgr.h2
-rw-r--r--helgrind/hg_main.c1
-rw-r--r--include/Makefile.am1
-rw-r--r--include/pub_tool_aspacemgr.h59
-rw-r--r--include/tool.h21
-rw-r--r--memcheck/mac_leakcheck.c1
-rw-r--r--memcheck/mc_main.c1
8 files changed, 66 insertions, 23 deletions
diff --git a/coregrind/m_tooliface.c b/coregrind/m_tooliface.c
index c0b2c16a0..e65126a35 100644
--- a/coregrind/m_tooliface.c
+++ b/coregrind/m_tooliface.c
@@ -30,10 +30,11 @@
*/
#include "core.h"
-#include "pub_core_tooliface.h"
+#include "pub_core_aspacemgr.h"
#include "pub_core_libcbase.h"
#include "pub_core_libcprint.h"
#include "pub_core_mallocfree.h"
+#include "pub_core_tooliface.h"
// The core/tool dictionary of functions (initially zeroed, as we want it)
VgToolInterface VG_(tdict);
diff --git a/coregrind/pub_core_aspacemgr.h b/coregrind/pub_core_aspacemgr.h
index 15a5400dc..4c39c2985 100644
--- a/coregrind/pub_core_aspacemgr.h
+++ b/coregrind/pub_core_aspacemgr.h
@@ -40,7 +40,7 @@
// [XXX: actually, this is far from true...]
//--------------------------------------------------------------------
-/* #include "pub_tool_aspacemgr.h" */
+#include "pub_tool_aspacemgr.h"
#include "pub_core_debuginfo.h"
// Address space globals
diff --git a/helgrind/hg_main.c b/helgrind/hg_main.c
index c919cb033..91bf650b4 100644
--- a/helgrind/hg_main.c
+++ b/helgrind/hg_main.c
@@ -30,6 +30,7 @@
*/
#include "tool.h"
+#include "pub_tool_aspacemgr.h"
#include "pub_tool_debuginfo.h"
#include "pub_tool_hashtable.h"
#include "pub_tool_libcbase.h"
diff --git a/include/Makefile.am b/include/Makefile.am
index 6445b3d91..9e9ea7077 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -5,6 +5,7 @@ incinc_HEADERS = \
basic_types.h \
tool.h \
tool_asm.h \
+ pub_tool_aspacemgr.h \
pub_tool_errormgr.h \
pub_tool_execontext.h \
pub_tool_hashtable.h \
diff --git a/include/pub_tool_aspacemgr.h b/include/pub_tool_aspacemgr.h
new file mode 100644
index 000000000..ea709f680
--- /dev/null
+++ b/include/pub_tool_aspacemgr.h
@@ -0,0 +1,59 @@
+
+/*--------------------------------------------------------------------*/
+/*--- Address space manager. pub_tool_aspacemgr.h ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+ This file is part of Valgrind, a dynamic binary instrumentation
+ framework.
+
+ Copyright (C) 2000-2005 Julian Seward
+ jseward@acm.org
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
+#ifndef __PUB_TOOL_ASPACEMGR
+#define __PUB_TOOL_ASPACEMGR
+
+extern Bool VG_(is_client_addr) (Addr a);
+
+extern Bool VG_(is_shadow_addr) (Addr a);
+extern Addr VG_(get_shadow_size)(void);
+
+extern void *VG_(shadow_alloc)(UInt size);
+
+extern Bool VG_(is_addressable)(Addr p, SizeT sz, UInt prot);
+
+/* initialize shadow pages in the range [p, p+sz) This calls
+ init_shadow_page for each one. It should be a lot more efficient
+ for bulk-initializing shadow pages than faulting on each one.
+*/
+extern void VG_(init_shadow_range)(Addr p, UInt sz, Bool call_init);
+
+/* Calls into the core used by leak-checking */
+
+/* Calls "add_rootrange" with each range of memory which looks like a
+ plausible source of root pointers. */
+extern void VG_(find_root_memory)(void (*add_rootrange)(Addr addr, SizeT sz));
+
+#endif // __PUB_TOOL_ASPACEMGR
+
+/*--------------------------------------------------------------------*/
+/*--- end ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/tool.h b/include/tool.h
index be561bb61..7fd9c75d6 100644
--- a/include/tool.h
+++ b/include/tool.h
@@ -140,32 +140,11 @@ extern Int VG_(setpgid) ( Int pid, Int pgrp );
/* Get memory by anonymous mmap. */
extern void* VG_(get_memory_from_mmap) ( SizeT nBytes, Char* who );
-extern Bool VG_(is_client_addr) (Addr a);
-
-extern Bool VG_(is_shadow_addr) (Addr a);
-extern Addr VG_(get_shadow_size)(void);
-
-extern void *VG_(shadow_alloc)(UInt size);
-
-extern Bool VG_(is_addressable)(Addr p, SizeT sz, UInt prot);
-
/* Register an interest in apparently internal faults; used code which
wanders around dangerous memory (ie, leakcheck). The catcher is
not expected to return. */
extern void VG_(set_fault_catcher)(void (*catcher)(Int sig, Addr addr));
-/* initialize shadow pages in the range [p, p+sz) This calls
- init_shadow_page for each one. It should be a lot more efficient
- for bulk-initializing shadow pages than faulting on each one.
-*/
-extern void VG_(init_shadow_range)(Addr p, UInt sz, Bool call_init);
-
-/* Calls into the core used by leak-checking */
-
-/* Calls "add_rootrange" with each range of memory which looks like a
- plausible source of root pointers. */
-extern void VG_(find_root_memory)(void (*add_rootrange)(Addr addr, SizeT sz));
-
/* Calls "mark_addr" with register values (which may or may not be pointers) */
extern void VG_(mark_from_registers)(void (*mark_addr)(Addr addr));
diff --git a/memcheck/mac_leakcheck.c b/memcheck/mac_leakcheck.c
index ad626da90..b7ef0216d 100644
--- a/memcheck/mac_leakcheck.c
+++ b/memcheck/mac_leakcheck.c
@@ -32,6 +32,7 @@
#include <setjmp.h>
#include "mac_shared.h"
+#include "pub_tool_aspacemgr.h"
#include "pub_tool_libcbase.h"
#include "pub_tool_libcassert.h"
#include "pub_tool_libcprint.h"
diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c
index c8cba1b65..3a667e202 100644
--- a/memcheck/mc_main.c
+++ b/memcheck/mc_main.c
@@ -38,6 +38,7 @@
#include "mc_include.h"
#include "memcheck.h" /* for client requests */
+#include "pub_tool_aspacemgr.h"
#include "pub_tool_libcbase.h"
#include "pub_tool_libcassert.h"
#include "pub_tool_libcprint.h"