LLVM
20.0.0git
include
llvm
ExecutionEngine
Orc
TargetProcess
JITLoaderGDB.h
Go to the documentation of this file.
1
//===- JITLoaderGDB.h - Register objects via GDB JIT interface -*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// Register objects for access by debuggers via the GDB JIT interface.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef LLVM_EXECUTIONENGINE_ORC_TARGETPROCESS_JITLOADERGDB_H
14
#define LLVM_EXECUTIONENGINE_ORC_TARGETPROCESS_JITLOADERGDB_H
15
16
#include "
llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h
"
17
#include <cstdint>
18
19
// Keep in sync with gdb/gdb/jit.h
20
extern
"C"
{
21
22
typedef
enum
{
23
JIT_NOACTION
= 0,
24
JIT_REGISTER_FN
,
25
JIT_UNREGISTER_FN
26
}
jit_actions_t
;
27
28
struct
jit_code_entry
{
29
struct
jit_code_entry
*
next_entry
;
30
struct
jit_code_entry
*
prev_entry
;
31
const
char
*
symfile_addr
;
32
uint64_t
symfile_size
;
33
};
34
35
struct
jit_descriptor
{
36
uint32_t
version
;
37
// This should be jit_actions_t, but we want to be specific about the
38
// bit-width.
39
uint32_t
action_flag
;
40
struct
jit_code_entry
*
relevant_entry
;
41
struct
jit_code_entry
*
first_entry
;
42
};
43
}
44
45
extern
"C"
llvm::orc::shared::CWrapperFunctionResult
46
llvm_orc_registerJITLoaderGDBWrapper
(
const
char
*Data,
uint64_t
Size
);
47
48
extern
"C"
llvm::orc::shared::CWrapperFunctionResult
49
llvm_orc_registerJITLoaderGDBAllocAction
(
const
char
*Data,
size_t
Size
);
50
51
#endif
// LLVM_EXECUTIONENGINE_ORC_TARGETPROCESS_JITLOADERGDB_H
Size
uint64_t Size
Definition:
ELFObjHandler.cpp:81
jit_actions_t
jit_actions_t
Definition:
JITLoaderGDB.h:22
JIT_UNREGISTER_FN
@ JIT_UNREGISTER_FN
Definition:
JITLoaderGDB.h:25
JIT_REGISTER_FN
@ JIT_REGISTER_FN
Definition:
JITLoaderGDB.h:24
JIT_NOACTION
@ JIT_NOACTION
Definition:
JITLoaderGDB.h:23
llvm_orc_registerJITLoaderGDBWrapper
llvm::orc::shared::CWrapperFunctionResult llvm_orc_registerJITLoaderGDBWrapper(const char *Data, uint64_t Size)
Definition:
JITLoaderGDB.cpp:96
llvm_orc_registerJITLoaderGDBAllocAction
llvm::orc::shared::CWrapperFunctionResult llvm_orc_registerJITLoaderGDBAllocAction(const char *Data, size_t Size)
Definition:
JITLoaderGDB.cpp:80
WrapperFunctionUtils.h
uint32_t
uint64_t
jit_code_entry
Definition:
JITLoaderGDB.h:28
jit_code_entry::prev_entry
struct jit_code_entry * prev_entry
Definition:
JITLoaderGDB.h:30
jit_code_entry::symfile_addr
const char * symfile_addr
Definition:
JITLoaderGDB.h:31
jit_code_entry::symfile_size
uint64_t symfile_size
Definition:
JITLoaderGDB.h:32
jit_code_entry::next_entry
struct jit_code_entry * next_entry
Definition:
JITLoaderGDB.h:29
jit_descriptor
Definition:
JITLoaderGDB.h:35
jit_descriptor::action_flag
uint32_t action_flag
Definition:
JITLoaderGDB.h:39
jit_descriptor::relevant_entry
struct jit_code_entry * relevant_entry
Definition:
JITLoaderGDB.h:40
jit_descriptor::version
uint32_t version
Definition:
JITLoaderGDB.h:36
jit_descriptor::first_entry
struct jit_code_entry * first_entry
Definition:
JITLoaderGDB.h:41
llvm::orc::shared::CWrapperFunctionResult
Definition:
WrapperFunctionUtils.h:33
Generated on Fri Dec 6 2024 22:35:21 for LLVM by
1.9.6