Move VG_(set_fault_catcher) out of tool.h.  Had to create a
pub_tool_signals.h for this which I didn't want to, but I couldn't
see how else to do it.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3937 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/pub_core_signals.h b/coregrind/pub_core_signals.h
index 444694d..99ccca4 100644
--- a/coregrind/pub_core_signals.h
+++ b/coregrind/pub_core_signals.h
@@ -35,6 +35,8 @@
 // PURPOSE: This module implements all the signal handling stuff.
 //--------------------------------------------------------------------
 
+#include "pub_tool_signals.h"       // I want to get rid of this header...
+
 /* Highest signal the kernel will let us use */
 extern Int VG_(max_signal);
 
diff --git a/include/pub_tool_signals.h b/include/pub_tool_signals.h
new file mode 100644
index 0000000..32deda3
--- /dev/null
+++ b/include/pub_tool_signals.h
@@ -0,0 +1,47 @@
+
+/*--------------------------------------------------------------------*/
+/*--- Signals stuff.                            pub_tool_signals.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_SIGNALS_H
+#define __PUB_TOOL_SIGNALS_H
+
+// Register an interest in apparently internal faults; used code which
+// wanders around dangerous memory (ie, leakcheck).  The catcher is
+// not expected to return.
+//
+// It's frustrating that we need this header for a single function used
+// only by Memcheck and Addrcheck during leak checking.  We should find
+// a way to remove the need for this file.
+extern void VG_(set_fault_catcher)(void (*catcher)(Int sig, Addr addr));
+
+#endif   // __PUB_TOOL_SIGNALS_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/tool.h b/include/tool.h
index 8c5fbc8..f78f40d 100644
--- a/include/tool.h
+++ b/include/tool.h
@@ -73,12 +73,6 @@
 /*====================================================================*/
 
 /* ------------------------------------------------------------------ */
-/* 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));
-
-/* ------------------------------------------------------------------ */
 /* other, randomly useful functions */
 extern Bool VG_(has_cpuid) ( void );
 
diff --git a/memcheck/mac_leakcheck.c b/memcheck/mac_leakcheck.c
index 09cad70..f8bda97 100644
--- a/memcheck/mac_leakcheck.c
+++ b/memcheck/mac_leakcheck.c
@@ -38,6 +38,7 @@
 #include "pub_tool_libcprint.h"
 #include "pub_tool_libcsignal.h"
 #include "pub_tool_machine.h"
+#include "pub_tool_signals.h"
 
 /* Define to debug the memory-leak-detector. */
 #define VG_DEBUG_LEAKCHECK 0