nl_main.c revision e739ac0589b4fb43561f801c4faba8c1b89f8680
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-2010 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-2010, and GNU GPL'd, by Nicholas Nethercote.");
59   VG_(details_bug_reports_to)  (VG_BUGS_TO);
60
61   VG_(basic_tool_funcs)        (nl_post_clo_init,
62                                 nl_instrument,
63                                 nl_fini);
64
65   /* No needs, no core events to track */
66}
67
68VG_DETERMINE_INTERFACE_VERSION(nl_pre_clo_init)
69
70/*--------------------------------------------------------------------*/
71/*--- end                                                          ---*/
72/*--------------------------------------------------------------------*/
73