Stackdb
Stackdb is a stackable, multi-target and -level source debugger and memory forensics library.
|
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <inttypes.h>
#include <assert.h>
#include <dwarf.h>
#include <gelf.h>
#include <elfutils/libebl.h>
#include <elfutils/libdw.h>
#include <elfutils/libdwfl.h>
#include "common.h"
#include "clfit.h"
#include "alist.h"
#include "binfile.h"
#include "dwdebug.h"
#include "dwdebug_priv.h"
#include "memory-access.h"
Go to the source code of this file.
Data Structures | |
struct | dwarf_cfa_regrule |
struct | dwarf_cfa_cie |
struct | dwarf_cfa_fde |
Macros | |
#define | DWARF_CFA_REG INT8_MAX |
Enumerations | |
enum | dwarf_cfa_regrule_t { RRT_UNDEF = 0, RRT_SAME = 1, RRT_OFFSET = 2, RRT_VAL_OFFSET = 3, RRT_REG = 5, RRT_EXPR = 6, RRT_VAL_EXPR = 7, RRT_ARCH = 8 } |
Functions | |
int | dwarf_cfa_read_saved_reg (struct debugfile *debugfile, struct location_ctxt *lctxt, REG reg, REGVAL *o_regval) |
int | dwarf_cfa_program_interpret (struct debugfile *debugfile, struct dwarf_cfa_cie *cie, struct dwarf_cfa_fde *fde, const unsigned char *buf, unsigned int len, GHashTable *regrules) |
int | dwarf_load_cfa (struct debugfile *debugfile, unsigned char *buf, unsigned int len, Dwarf *dbg) |
int | dwarf_cfa_fde_decode (struct debugfile *debugfile, struct dwarf_cfa_fde *fde) |
struct dwarf_cfa_regrule * | dwarf_cfa_fde_lookup_regrule (struct dwarf_cfa_fde *fde, REG reg, ADDR obj_addr) |
int | dwarf_cfa_read_retaddr (struct debugfile *debugfile, struct location_ctxt *lctxt, ADDR *o_retaddr) |
int | dwarf_unload_cfa (struct debugfile *debugfile) |
#define DWARF_CFA_REG INT8_MAX |
Definition at line 86 of file dwarf_cfa.c.
enum dwarf_cfa_regrule_t |
Enumerator | |
---|---|
RRT_UNDEF | |
RRT_SAME | |
RRT_OFFSET | |
RRT_VAL_OFFSET | |
RRT_REG | |
RRT_EXPR | |
RRT_VAL_EXPR | |
RRT_ARCH |
Definition at line 51 of file dwarf_cfa.c.
int dwarf_cfa_fde_decode | ( | struct debugfile * | debugfile, |
struct dwarf_cfa_fde * | fde | ||
) |
Definition at line 1161 of file dwarf_cfa.c.
struct dwarf_cfa_regrule* dwarf_cfa_fde_lookup_regrule | ( | struct dwarf_cfa_fde * | fde, |
REG | reg, | ||
ADDR | obj_addr | ||
) |
Definition at line 1179 of file dwarf_cfa.c.
int dwarf_cfa_program_interpret | ( | struct debugfile * | debugfile, |
struct dwarf_cfa_cie * | cie, | ||
struct dwarf_cfa_fde * | fde, | ||
const unsigned char * | buf, | ||
unsigned int | len, | ||
GHashTable * | regrules | ||
) |
Definition at line 167 of file dwarf_cfa.c.
int dwarf_cfa_read_retaddr | ( | struct debugfile * | debugfile, |
struct location_ctxt * | lctxt, | ||
ADDR * | o_retaddr | ||
) |
Definition at line 1609 of file dwarf_cfa.c.
int dwarf_cfa_read_saved_reg | ( | struct debugfile * | debugfile, |
struct location_ctxt * | lctxt, | ||
REG | reg, | ||
REGVAL * | o_regval | ||
) |
Definition at line 1392 of file dwarf_cfa.c.
int dwarf_load_cfa | ( | struct debugfile * | debugfile, |
unsigned char * | buf, | ||
unsigned int | len, | ||
Dwarf * | dbg | ||
) |
Definition at line 784 of file dwarf_cfa.c.
int dwarf_unload_cfa | ( | struct debugfile * | debugfile | ) |
Definition at line 1802 of file dwarf_cfa.c.