From f478d7edd24938f59dd421d5cf6accdafe1aa525 Mon Sep 17 00:00:00 2001 From: Nicholas Nethercote Date: Sat, 18 Jun 2005 15:18:15 +0000 Subject: [PATCH] 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 --- coregrind/pub_core_signals.h | 2 ++ include/pub_tool_signals.h | 47 ++++++++++++++++++++++++++++++++++++ include/tool.h | 6 ----- memcheck/mac_leakcheck.c | 1 + 4 files changed, 50 insertions(+), 6 deletions(-) create mode 100644 include/pub_tool_signals.h diff --git a/coregrind/pub_core_signals.h b/coregrind/pub_core_signals.h index 444694d7f..99ccca415 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 000000000..32deda395 --- /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 8c5fbc8b3..f78f40da1 100644 --- a/include/tool.h +++ b/include/tool.h @@ -72,12 +72,6 @@ extern ThreadId VG_(first_matching_thread_stack) /*=== Valgrind's version of libc ===*/ /*====================================================================*/ -/* ------------------------------------------------------------------ */ -/* 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 09cad7023..f8bda97a4 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