2 /*--------------------------------------------------------------------*/
3 /*--- Ptrcheck: a pointer-use checker. ---*/
4 /*--- Exports for stuff shared between sg_ and h_ subtools. ---*/
5 /*--- pc_common.h ---*/
6 /*--------------------------------------------------------------------*/
9 This file is part of Ptrcheck, a Valgrind tool for checking pointer
12 Copyright (C) 2008-2011 OpenWorks Ltd
15 This program is free software; you can redistribute it and/or
16 modify it under the terms of the GNU General Public License as
17 published by the Free Software Foundation; either version 2 of the
18 License, or (at your option) any later version.
20 This program is distributed in the hope that it will be useful, but
21 WITHOUT ANY WARRANTY; without even the implied warranty of
22 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23 General Public License for more details.
25 You should have received a copy of the GNU General Public License
26 along with this program; if not, write to the Free Software
27 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
30 The GNU General Public License is contained in the file COPYING.
37 typedef struct _Seg Seg
; /* abstract every except in h_main.c */
39 void sg_record_error_SorG ( ThreadId tid
,
40 Addr addr
, SSizeT sszB
,
41 HChar
* expect
, HChar
* actual
, HChar
* delta
);
43 void h_record_heap_error( Addr a
, SizeT size
, Seg
* vseg
, Bool is_write
);
45 void h_record_arith_error( Seg
* seg1
, Seg
* seg2
, HChar
* opname
);
47 void h_record_sysparam_error( ThreadId tid
, CorePart part
, Char
* s
,
48 Addr lo
, Addr hi
, Seg
* seglo
, Seg
* seghi
);
50 Bool
pc_eq_Error ( VgRes res
, Error
* e1
, Error
* e2
);
51 void pc_before_pp_Error ( Error
* err
);
52 void pc_pp_Error ( Error
* err
);
53 UInt
pc_update_Error_extra ( Error
* err
);
54 Bool
pc_is_recognised_suppression ( Char
* name
, Supp
*su
);
55 Bool
pc_read_extra_suppression_info ( Int fd
, Char
** bufpp
,
56 SizeT
* nBufp
, Supp
* su
);
57 Bool
pc_error_matches_suppression (Error
* err
, Supp
* su
);
58 Char
* pc_get_error_name ( Error
* err
);
59 Bool
pc_get_extra_suppression_info ( Error
* err
,
60 /*OUT*/Char
* buf
, Int nBuf
);
62 extern Bool h_clo_partial_loads_ok
;
63 /* extern Bool h_clo_lossage_check; */
64 extern Bool sg_clo_enable_sg_checks
;
66 Bool
pc_process_cmd_line_options(Char
* arg
);
67 void pc_print_usage(void);
68 void pc_print_debug_usage(void);
73 /*--------------------------------------------------------------------*/
74 /*--- end pc_common.h ---*/
75 /*--------------------------------------------------------------------*/