#include <stddef.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include "ir.h"
#include "ir_private.h"
#include "ir_elf.h"
Go to the source code of this file.
|
enum | {
DW_CFA_nop = 0x0
, DW_CFA_offset_extended = 0x5
, DW_CFA_def_cfa = 0xc
, DW_CFA_def_cfa_offset = 0xe
,
DW_CFA_offset_extended_sf = 0x11
, DW_CFA_advance_loc = 0x40
, DW_CFA_offset = 0x80
} |
|
enum | { DW_EH_PE_udata4 = 0x03
, DW_EH_PE_textrel = 0x20
} |
|
enum | { DW_TAG_compile_unit = 0x11
} |
|
enum | { DW_children_no = 0
, DW_children_yes = 1
} |
|
enum | { DW_AT_name = 0x03
, DW_AT_stmt_list = 0x10
, DW_AT_low_pc = 0x11
, DW_AT_high_pc = 0x12
} |
|
enum | { DW_FORM_addr = 0x01
, DW_FORM_data4 = 0x06
, DW_FORM_string = 0x08
} |
|
enum | { DW_LNS_extended_op = 0
, DW_LNS_copy = 1
, DW_LNS_advance_pc = 2
, DW_LNS_advance_line = 3
} |
|
enum | { DW_LNE_end_sequence = 1
, DW_LNE_set_address = 2
} |
|
enum | |
|
enum | {
GDBJIT_SECT_NULL
, GDBJIT_SECT_text
, GDBJIT_SECT_eh_frame
, GDBJIT_SECT_shstrtab
,
GDBJIT_SECT_strtab
, GDBJIT_SECT_symtab
, GDBJIT_SECT_debug_info
, GDBJIT_SECT_debug_abbrev
,
GDBJIT_SECT_debug_line
, GDBJIT_SECT__MAX
} |
|
enum | { GDBJIT_SYM_UNDEF
, GDBJIT_SYM_FILE
, GDBJIT_SYM_FUNC
, GDBJIT_SYM__MAX
} |
|
enum | { IR_GDBJIT_NOACTION
, IR_GDBJIT_REGISTER
, IR_GDBJIT_UNREGISTER
} |
|
◆ DADDR
Value:(*(unaligned_uintptr_t *)
p = (x),
p +=
sizeof(uintptr_t))
Definition at line 293 of file ir_gdb.c.
◆ DALIGNNOP
◆ DB
◆ DI8
Value:(*(int8_t *)
p = (x),
p++)
Definition at line 290 of file ir_gdb.c.
◆ DLNE
◆ DSECT
Value: { unaligned_uint32_t *szp_##
name = (uint32_t *)
p;
p += 4; stmt \
*szp_##
name = (uint32_t)((
p-(uint8_t *)szp_##
name)-4); }
Definition at line 298 of file ir_gdb.c.
◆ DSTR
Value:(ctx->p =
p, ir_gdbjit_strz(ctx, (str)),
p = ctx->p)
Definition at line 296 of file ir_gdb.c.
◆ DSV
Value:(ctx->p =
p, ir_gdbjit_sleb128(ctx, (x)),
p = ctx->p)
Definition at line 295 of file ir_gdb.c.
◆ DU16
Value:(*(unaligned_uint16_t *)
p = (x),
p += 2)
Definition at line 291 of file ir_gdb.c.
◆ DU32
Value:(*(unaligned_uint32_t *)
p = (x),
p += 4)
Definition at line 292 of file ir_gdb.c.
◆ DUV
Value:(ctx->p =
p, ir_gdbjit_uleb128(ctx, (x)),
p = ctx->p)
Definition at line 294 of file ir_gdb.c.
◆ DW_CIE_VERSION
◆ SECTALIGN
Value: ((
p) = (uint8_t *)(((uintptr_t)(
p) + ((
a)-1)) & ~(uintptr_t)((
a)-1)))
Definition at line 285 of file ir_gdb.c.
◆ SECTDEF
#define SECTDEF |
( |
| id, |
|
|
| tp, |
|
|
| al ) |
Value: sect = &ctx->obj.sect[GDBJIT_SECT_##id]; \
sect->name = ir_gdbjit_strz(ctx, "." #id); \
sect->type = ELFSECT_TYPE_##tp; \
sect->align = (al)
◆ ir_gdbjit_code_entry
◆ ir_gdbjit_ctx
◆ ir_gdbjit_descriptor
◆ ir_gdbjit_initf
◆ ir_gdbjit_obj
◆ anonymous enum
Enumerator |
---|
DW_TAG_compile_unit | |
Definition at line 44 of file ir_gdb.c.
◆ anonymous enum
Enumerator |
---|
GDBJIT_SYM_UNDEF | |
GDBJIT_SYM_FILE | |
GDBJIT_SYM_FUNC | |
GDBJIT_SYM__MAX | |
Definition at line 112 of file ir_gdb.c.
◆ anonymous enum
Enumerator |
---|
DW_CFA_nop | |
DW_CFA_offset_extended | |
DW_CFA_def_cfa | |
DW_CFA_def_cfa_offset | |
DW_CFA_offset_extended_sf | |
DW_CFA_advance_loc | |
DW_CFA_offset | |
Definition at line 29 of file ir_gdb.c.
◆ anonymous enum
Enumerator |
---|
DW_AT_name | |
DW_AT_stmt_list | |
DW_AT_low_pc | |
DW_AT_high_pc | |
Definition at line 53 of file ir_gdb.c.
◆ anonymous enum
Enumerator |
---|
GDBJIT_SECT_NULL | |
GDBJIT_SECT_text | |
GDBJIT_SECT_eh_frame | |
GDBJIT_SECT_shstrtab | |
GDBJIT_SECT_strtab | |
GDBJIT_SECT_symtab | |
GDBJIT_SECT_debug_info | |
GDBJIT_SECT_debug_abbrev | |
GDBJIT_SECT_debug_line | |
GDBJIT_SECT__MAX | |
Definition at line 99 of file ir_gdb.c.
◆ anonymous enum
Enumerator |
---|
DW_LNS_extended_op | |
DW_LNS_copy | |
DW_LNS_advance_pc | |
DW_LNS_advance_line | |
Definition at line 66 of file ir_gdb.c.
◆ anonymous enum
Enumerator |
---|
IR_GDBJIT_NOACTION | |
IR_GDBJIT_REGISTER | |
IR_GDBJIT_UNREGISTER | |
Definition at line 483 of file ir_gdb.c.
◆ anonymous enum
◆ anonymous enum
Enumerator |
---|
DW_EH_PE_udata4 | |
DW_EH_PE_textrel | |
Definition at line 39 of file ir_gdb.c.
◆ anonymous enum
Enumerator |
---|
DW_children_no | |
DW_children_yes | |
Definition at line 48 of file ir_gdb.c.
◆ anonymous enum
Enumerator |
---|
DW_LNE_end_sequence | |
DW_LNE_set_address | |
Definition at line 73 of file ir_gdb.c.
◆ anonymous enum
Enumerator |
---|
DW_FORM_addr | |
DW_FORM_data4 | |
DW_FORM_string | |
Definition at line 60 of file ir_gdb.c.
◆ __jit_debug_register_code()
◆ ir_gdb_init()
◆ ir_gdb_present()
bool ir_gdb_present |
( |
void | | ) |
|
◆ ir_gdb_register()
int ir_gdb_register |
( |
const char * | name, |
|
|
const void * | start, |
|
|
size_t | size, |
|
|
uint32_t | sp_offset, |
|
|
uint32_t | sp_adjustment ) |
◆ ir_gdb_unregister_all()
◆ IR_SET_ALIGNED() [1/3]
typedef IR_SET_ALIGNED |
( |
1 | , |
|
|
uint16_t | unaligned_uint16_t ) |
◆ IR_SET_ALIGNED() [2/3]
typedef IR_SET_ALIGNED |
( |
1 | , |
|
|
uint32_t | unaligned_uint32_t ) |
◆ IR_SET_ALIGNED() [3/3]
typedef IR_SET_ALIGNED |
( |
1 | , |
|
|
uintptr_t | unaligned_uintptr_t ) |
◆ __jit_debug_descriptor
Initial value:
Definition at line 507 of file ir_gdb.c.