1 2/*--------------------------------------------------------------------*/ 3/*--- Basic definitions for all of Helgrind. ---*/ 4/*--- hg_basics.c ---*/ 5/*--------------------------------------------------------------------*/ 6 7/* 8 This file is part of Helgrind, a Valgrind tool for detecting errors 9 in threaded programs. 10 11 Copyright (C) 2007-2013 OpenWorks Ltd 12 info@open-works.co.uk 13 14 This program is free software; you can redistribute it and/or 15 modify it under the terms of the GNU General Public License as 16 published by the Free Software Foundation; either version 2 of the 17 License, or (at your option) any later version. 18 19 This program is distributed in the hope that it will be useful, but 20 WITHOUT ANY WARRANTY; without even the implied warranty of 21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22 General Public License for more details. 23 24 You should have received a copy of the GNU General Public License 25 along with this program; if not, write to the Free Software 26 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 27 02111-1307, USA. 28 29 The GNU General Public License is contained in the file COPYING. 30*/ 31 32#include "pub_tool_basics.h" 33#include "pub_tool_libcbase.h" 34#include "pub_tool_libcassert.h" 35#include "pub_tool_mallocfree.h" 36#include "pub_tool_threadstate.h" 37 38#include "hg_basics.h" /* self */ 39 40 41/*----------------------------------------------------------------*/ 42/*--- Very basic stuff ---*/ 43/*----------------------------------------------------------------*/ 44 45void* HG_(zalloc) ( const HChar* cc, SizeT n ) 46{ 47 void* p; 48 tl_assert(n > 0); 49 p = VG_(malloc)( cc, n ); 50 VG_(memset)(p, 0, n); 51 return p; 52} 53 54void HG_(free) ( void* p ) 55{ 56 tl_assert(p); 57 VG_(free)(p); 58} 59 60HChar* HG_(strdup) ( const HChar* cc, const HChar* s ) 61{ 62 return VG_(strdup)( cc, s ); 63} 64 65 66/*----------------------------------------------------------------*/ 67/*--- Command line options ---*/ 68/*----------------------------------------------------------------*/ 69 70/* Description of these flags is in hg_basics.h. */ 71 72Bool HG_(clo_track_lockorders) = True; 73 74Bool HG_(clo_cmp_race_err_addrs) = False; 75 76UWord HG_(clo_history_level) = 2; 77 78UWord HG_(clo_conflict_cache_size) = 2000000; 79 80Word HG_(clo_sanity_flags) = 0; 81 82Bool HG_(clo_free_is_write) = False; 83 84UWord HG_(clo_vts_pruning) = 1; 85 86Bool HG_(clo_check_stack_refs) = True; 87 88/*--------------------------------------------------------------------*/ 89/*--- end hg_basics.c ---*/ 90/*--------------------------------------------------------------------*/ 91