-
-
Notifications
You must be signed in to change notification settings - Fork 34.4k
Expand file tree
/
Copy pathpycore_jit_unwind.h
More file actions
28 lines (21 loc) · 985 Bytes
/
pycore_jit_unwind.h
File metadata and controls
28 lines (21 loc) · 985 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef Py_CORE_JIT_UNWIND_H
#define Py_CORE_JIT_UNWIND_H
#ifdef PY_HAVE_PERF_TRAMPOLINE
#include <stddef.h>
/* Return the size of the generated .eh_frame data for the given encoding. */
size_t _PyJitUnwind_EhFrameSize(int absolute_addr);
/*
* Build DWARF .eh_frame data for JIT code; returns size written or 0 on error.
* absolute_addr selects the FDE address encoding:
* - 0: PC-relative offsets (perf jitdump synthesized DSO).
* - nonzero: absolute addresses (GDB JIT in-memory ELF).
*/
size_t _PyJitUnwind_BuildEhFrame(uint8_t *buffer, size_t buffer_size,
const void *code_addr, size_t code_size,
int absolute_addr);
void _PyJitUnwind_GdbRegisterCode(const void *code_addr,
size_t code_size,
const char *entry,
const char *filename);
#endif // PY_HAVE_PERF_TRAMPOLINE
#endif // Py_CORE_JIT_UNWIND_H