]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - packages/Python/lldbsuite/test/functionalities/jitloader_gdb/main.c
Vendor import of lldb trunk r351319 (just before the release_80 branch
[FreeBSD/FreeBSD.git] / packages / Python / lldbsuite / test / functionalities / jitloader_gdb / main.c
1 #include <inttypes.h>
2
3 // GDB JIT interface
4 enum JITAction { JIT_NOACTION, JIT_REGISTER_FN, JIT_UNREGISTER_FN };
5
6 struct JITCodeEntry
7 {
8     struct JITCodeEntry* next;
9     struct JITCodeEntry* prev;
10     const char *symfile_addr;
11     uint64_t symfile_size;
12 };
13
14 struct JITDescriptor
15 {
16     uint32_t version;
17     uint32_t action_flag;
18     struct JITCodeEntry* relevant_entry;
19     struct JITCodeEntry* first_entry;
20 };
21
22 struct JITDescriptor __jit_debug_descriptor = { 1, JIT_NOACTION, 0, 0 };
23
24 void __jit_debug_register_code()
25 {
26 }
27 // end GDB JIT interface
28
29 struct JITCodeEntry entry;
30
31 int main()
32 {
33     // Create a code entry with a bogus size
34     entry.next = entry.prev = 0;
35     entry.symfile_addr = (char *)&entry;
36     entry.symfile_size = (uint64_t)47<<32;
37
38     __jit_debug_descriptor.relevant_entry = __jit_debug_descriptor.first_entry = &entry;
39     __jit_debug_descriptor.action_flag = JIT_REGISTER_FN;
40
41     __jit_debug_register_code();
42
43     return 0;
44 }