ATLAS Offline Software
Hephaestus.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef HEPHAESTUS_HEPHAESTUS_H
6 #define HEPHAESTUS_HEPHAESTUS_H
7 
8 #if defined(linux)
9 
10 #define _GNU_SOURCE 1
11 
12 #include <stdio.h>
13 
14 #ifdef _POSIX_C_SOURCE
15 #undef _POSIX_C_SOURCE
16 #endif
17 
18 #ifdef _FILE_OFFSET_BITS
19 #undef _FILE_OFFSET_BITS
20 #endif
21 
22 #ifdef _XOPEN_SOURCE
23 #undef _XOPEN_SOURCE
24 #endif
25 
26 #endif
27 
28 #include "Python.h"
29 
30 /* control parameters for static data blocks */
31 
32 /* maximum available number of check points */
33 #define hhh_MAX_CHECKPOINTS 10
34 
35 /* start size of hash tables for data */
36 #define hhh_HASHTABLE_MINSIZE 4096
37 
38 /* the following numbers are defaults only as they can be modified at runtime,
39  as long as no memory checking has been done yet; alternatively, they can
40  of course still be modified here for compile time */
41 
42 /* maximum total depth of tracebacks kept in memory */
43 #define hhh_TRACEDEPTH 20
44 /* system offset: 0 == helper, 1 == hook, 2 == malloc/realloc */
45 #define hhh_SYSTEMOFF 3
46 /* total backtrace size left: hhh_TRACEDEPTH - hhh_SYSTEMOFF */
47 #define hhh_BACKTRACE_SIZE (hhh_TRACEDEPTH - hhh_SYSTEMOFF)
48 
49 /* max size for symbols, files, and other buffers */
50 #define hhh_SYMBOL_BUFLEN 2048
51 
52 
53 #include <features.h>
54 
55 // Do we have malloc hooks? They were removed in glibc 2.34.
56 #if defined(__GLIBC__) && !__GLIBC_PREREQ(2, 34)
57 # define HAVE_MALLOC_HOOKS 1
58 #else
59 # define HAVE_MALLOC_HOOKS 0
60 #endif
61 
62 
63 #endif /* !HEPHAESTUS_HEPHAESTUS_H */
features.h
Some additional feature test macros.