nl_main.c revision 663860b1408516d02ebfcb3a9999a134e6cfb223
1
2/*--------------------------------------------------------------------*/
3/*--- Nulgrind: The minimal Valgrind tool.               nl_main.c ---*/
4/*--------------------------------------------------------------------*/
5
6/*
7   This file is part of Nulgrind, the minimal Valgrind tool,
8   which does no instrumentation or analysis.
9
10   Copyright (C) 2002-2012 Nicholas Nethercote
11      njn@valgrind.org
12
13   This program is free software; you can redistribute it and/or
14   modify it under the terms of the GNU General Public License as
15   published by the Free Software Foundation; either version 2 of the
16   License, or (at your option) any later version.
17
18   This program is distributed in the hope that it will be useful, but
19   WITHOUT ANY WARRANTY; without even the implied warranty of
20   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21   General Public License for more details.
22
23   You should have received a copy of the GNU General Public License
24   along with this program; if not, write to the Free Software
25   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
26   02111-1307, USA.
27
28   The GNU General Public License is contained in the file COPYING.
29*/
30
31#include "pub_tool_basics.h"
32#include "pub_tool_tooliface.h"
33
34static void nl_post_clo_init(void)
35{
36}
37
38static
39IRSB* nl_instrument ( VgCallbackClosure* closure,
40                      IRSB* bb,
41                      VexGuestLayout* layout,
42                      VexGuestExtents* vge,
43                      IRType gWordTy, IRType hWordTy )
44{
45    return bb;
46}
47
48static void nl_fini(Int exitcode)
49{
50}
51
52static void nl_pre_clo_init(void)
53{
54   VG_(details_name)            ("Nulgrind");
55   VG_(details_version)         (NULL);
56   VG_(details_description)     ("the minimal Valgrind tool");
57   VG_(details_copyright_author)(
58      "Copyright (C) 2002-2012, and GNU GPL'd, by Nicholas Nethercote.");
59   VG_(details_bug_reports_to)  (VG_BUGS_TO);
60
61   VG_(details_avg_translation_sizeB) ( 275 );
62
63   VG_(basic_tool_funcs)        (nl_post_clo_init,
64                                 nl_instrument,
65                                 nl_fini);
66
67   /* No needs, no core events to track */
68}
69
70VG_DETERMINE_INTERFACE_VERSION(nl_pre_clo_init)
71
72/*--------------------------------------------------------------------*/
73/*--- end                                                          ---*/
74/*--------------------------------------------------------------------*/
75