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 "
llvm/Support/Compiler.h
"
18
#include <cstdint>
19
20
// Keep in sync with gdb/gdb/jit.h
21
extern
"C"
{
22
23
typedef
enum
{
24
JIT_NOACTION
= 0,
25
JIT_REGISTER_FN
,
26
JIT_UNREGISTER_FN
27
}
jit_actions_t
;
28
29
struct
jit_code_entry
{
30
struct
jit_code_entry
*
next_entry
;
31
struct
jit_code_entry
*
prev_entry
;
32
const
char
*
symfile_addr
;
33
uint64_t
symfile_size
;
34
};
35
36
struct
jit_descriptor
{
37
uint32_t
version
;
38
// This should be jit_actions_t, but we want to be specific about the
39
// bit-width.
40
uint32_t
action_flag
;
41
struct
jit_code_entry
*
relevant_entry
;
42
struct
jit_code_entry
*
first_entry
;
43
};
44
}
45
46
extern
"C"
LLVM_ABI
llvm::orc::shared::CWrapperFunctionResult
47
llvm_orc_registerJITLoaderGDBWrapper
(
const
char
*Data,
uint64_t
Size
);
48
49
extern
"C"
LLVM_ABI
llvm::orc::shared::CWrapperFunctionResult
50
llvm_orc_registerJITLoaderGDBAllocAction
(
const
char
*Data,
size_t
Size
);
51
52
#endif
// LLVM_EXECUTIONENGINE_ORC_TARGETPROCESS_JITLOADERGDB_H
Compiler.h
Size
uint64_t Size
Definition:
ELFObjHandler.cpp:81
llvm_orc_registerJITLoaderGDBWrapper
LLVM_ABI llvm::orc::shared::CWrapperFunctionResult llvm_orc_registerJITLoaderGDBWrapper(const char *Data, uint64_t Size)
Definition:
JITLoaderGDB.cpp:94
jit_actions_t
jit_actions_t
Definition:
JITLoaderGDB.h:23
JIT_UNREGISTER_FN
@ JIT_UNREGISTER_FN
Definition:
JITLoaderGDB.h:26
JIT_REGISTER_FN
@ JIT_REGISTER_FN
Definition:
JITLoaderGDB.h:25
JIT_NOACTION
@ JIT_NOACTION
Definition:
JITLoaderGDB.h:24
llvm_orc_registerJITLoaderGDBAllocAction
LLVM_ABI llvm::orc::shared::CWrapperFunctionResult llvm_orc_registerJITLoaderGDBAllocAction(const char *Data, size_t Size)
Definition:
JITLoaderGDB.cpp:78
WrapperFunctionUtils.h
uint32_t
uint64_t
jit_code_entry
Definition:
JITLoaderGDB.h:29
jit_code_entry::prev_entry
struct jit_code_entry * prev_entry
Definition:
JITLoaderGDB.h:31
jit_code_entry::symfile_addr
const char * symfile_addr
Definition:
JITLoaderGDB.h:32
jit_code_entry::symfile_size
uint64_t symfile_size
Definition:
JITLoaderGDB.h:33
jit_code_entry::next_entry
struct jit_code_entry * next_entry
Definition:
JITLoaderGDB.h:30
jit_descriptor
Definition:
JITLoaderGDB.h:36
jit_descriptor::action_flag
uint32_t action_flag
Definition:
JITLoaderGDB.h:40
jit_descriptor::relevant_entry
struct jit_code_entry * relevant_entry
Definition:
JITLoaderGDB.h:41
jit_descriptor::version
uint32_t version
Definition:
JITLoaderGDB.h:37
jit_descriptor::first_entry
struct jit_code_entry * first_entry
Definition:
JITLoaderGDB.h:42
llvm::orc::shared::CWrapperFunctionResult
Definition:
WrapperFunctionUtils.h:33
Generated on Fri Dec 20 2024 23:29:41 for LLVM by
1.9.6