mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-21 04:25:45 -04:00

This is the conclusion of an effort to get LLDB's Python code structured into a bona-fide Python package. This has a number of benefits, but most notably the ability to more easily share Python code between different but related pieces of LLDB's Python infrastructure (for example, `scripts` can now share code with `test`). llvm-svn: 251532
45 lines
952 B
C
45 lines
952 B
C
#include <inttypes.h>
|
|
|
|
// GDB JIT interface
|
|
enum JITAction { JIT_NOACTION, JIT_REGISTER_FN, JIT_UNREGISTER_FN };
|
|
|
|
struct JITCodeEntry
|
|
{
|
|
struct JITCodeEntry* next;
|
|
struct JITCodeEntry* prev;
|
|
const char *symfile_addr;
|
|
uint64_t symfile_size;
|
|
};
|
|
|
|
struct JITDescriptor
|
|
{
|
|
uint32_t version;
|
|
uint32_t action_flag;
|
|
struct JITCodeEntry* relevant_entry;
|
|
struct JITCodeEntry* first_entry;
|
|
};
|
|
|
|
struct JITDescriptor __jit_debug_descriptor = { 1, JIT_NOACTION, 0, 0 };
|
|
|
|
void __jit_debug_register_code()
|
|
{
|
|
}
|
|
// end GDB JIT interface
|
|
|
|
struct JITCodeEntry entry;
|
|
|
|
int main()
|
|
{
|
|
// Create a code entry with a bogus size
|
|
entry.next = entry.prev = 0;
|
|
entry.symfile_addr = (char *)&entry;
|
|
entry.symfile_size = (uint64_t)47<<32;
|
|
|
|
__jit_debug_descriptor.relevant_entry = __jit_debug_descriptor.first_entry = &entry;
|
|
__jit_debug_descriptor.action_flag = JIT_REGISTER_FN;
|
|
|
|
__jit_debug_register_code();
|
|
|
|
return 0;
|
|
}
|