ATLAS Offline Software
Loading...
Searching...
No Matches
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 */
Some additional feature test macros.