valgrind.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 #ifndef SQUID_COMPAT_VALGRIND_H
10 #define SQUID_COMPAT_VALGRIND_H
11 
12 /****************************************************************************
13  *--------------------------------------------------------------------------*
14  * DO *NOT* MAKE ANY CHANGES below here unless you know what you're doing...*
15  *--------------------------------------------------------------------------*
16  ****************************************************************************/
17 
18 /*
19  * valgrind debug support
20  */
21 #if WITH_VALGRIND
22 # include <valgrind/memcheck.h>
23 /* A little glue for older valgrind version prior to 3.2.0 */
24 # ifndef VALGRIND_MAKE_MEM_NOACCESS
25 # define VALGRIND_MAKE_MEM_NOACCESS VALGRIND_MAKE_NOACCESS
26 # define VALGRIND_MAKE_MEM_UNDEFINED VALGRIND_MAKE_WRITABLE
27 # define VALGRIND_MAKE_MEM_DEFINED VALGRIND_MAKE_READABLE
28 # define VALGRIND_CHECK_MEM_IS_ADDRESSABLE VALGRIND_CHECK_WRITABLE
29 # else
30 # undef VALGRIND_MAKE_NOACCESS
31 # undef VALGRIND_MAKE_WRITABLE
32 # undef VALGRIND_MAKE_READABLE
33 # endif
34 #else
35 # define VALGRIND_MAKE_MEM_NOACCESS(a,b) (0)
36 # define VALGRIND_MAKE_MEM_UNDEFINED(a,b) (0)
37 # define VALGRIND_MAKE_MEM_DEFINED(a,b) (0)
38 # define VALGRIND_CHECK_MEM_IS_ADDRESSABLE(a,b) (0)
39 # define VALGRIND_CHECK_MEM_IS_DEFINED(a,b) (0)
40 # define VALGRIND_MALLOCLIKE_BLOCK(a,b,c,d)
41 # define VALGRIND_FREELIKE_BLOCK(a,b)
42 # define RUNNING_ON_VALGRIND 0
43 #endif /* WITH_VALGRIND */
44 
45 #endif /* SQUID_COMPAT_VALGRIND_H */
46 

 

Introduction

Documentation

Support

Miscellaneous