Rizin
unix-like reverse engineering framework and cli tools
|
#include <rz_egg.h>
Go to the source code of this file.
Macros | |
#define | attsyntax 0 |
#define | EMIT_NAME emit_arm |
#define | RZ_ARCH "arm" |
#define | RZ_SZ 8 |
#define | RZ_SP "sp" |
#define | RZ_BP "fp" |
#define | RZ_AX "r7" |
#define | RZ_GP { "r0", "r1", "r2", "r3", "r4" } |
#define | RZ_TMP "r9" |
#define | RZ_NGP 5 |
Functions | |
static void | emit_init (RzEgg *egg) |
static char * | emit_syscall (RzEgg *egg, int num) |
static void | emit_frame (RzEgg *egg, int sz) |
static void | emit_frame_end (RzEgg *egg, int sz, int ctx) |
static void | emit_comment (RzEgg *egg, const char *fmt,...) |
static void | emit_equ (RzEgg *egg, const char *key, const char *value) |
static void | emit_syscall_args (RzEgg *egg, int nargs) |
static void | emit_set_string (RzEgg *egg, const char *dstvar, const char *str, int j) |
static void | emit_jmp (RzEgg *egg, const char *str, int atr) |
static void | emit_call (RzEgg *egg, const char *str, int atr) |
static void | emit_arg (RzEgg *egg, int xs, int num, const char *str) |
static void | emit_get_result (RzEgg *egg, const char *ocn) |
static void | emit_restore_stack (RzEgg *egg, int size) |
static void | emit_get_while_end (RzEgg *egg, char *str, const char *ctxpush, const char *label) |
static void | emit_while_end (RzEgg *egg, const char *labelback) |
static void | emit_get_var (RzEgg *egg, int type, char *out, int idx) |
static void | emit_trap (RzEgg *egg) |
static void | emit_load_ptr (RzEgg *egg, const char *dst) |
static void | emit_branch (RzEgg *egg, char *b, char *g, char *e, char *n, int sz, const char *dst) |
static void | emit_load (RzEgg *egg, const char *dst, int sz) |
static void | emit_mathop (RzEgg *egg, int ch, int vs, int type, const char *eq, const char *p) |
static const char * | emit_regs (RzEgg *egg, int idx) |
Variables | |
static char * | regs [] = RZ_GP |
static int | lastarg = 0 |
static char | lastargs [16][32] |
RzEggEmit | EMIT_NAME |
#define attsyntax 0 |
Definition at line 5 of file emit_arm.c.
#define EMIT_NAME emit_arm |
Definition at line 7 of file emit_arm.c.
#define RZ_ARCH "arm" |
Definition at line 8 of file emit_arm.c.
#define RZ_AX "r7" |
Definition at line 12 of file emit_arm.c.
#define RZ_BP "fp" |
Definition at line 11 of file emit_arm.c.
#define RZ_NGP 5 |
Definition at line 16 of file emit_arm.c.
#define RZ_SP "sp" |
Definition at line 10 of file emit_arm.c.
#define RZ_SZ 8 |
Definition at line 9 of file emit_arm.c.
#define RZ_TMP "r9" |
Definition at line 15 of file emit_arm.c.
Definition at line 139 of file emit_arm.c.
References attsyntax, d, eprintf, lastarg, lastargs, num, RZ_BP, rz_egg_printf(), snprintf, and cmd_descs_generate::str.
|
static |
Definition at line 213 of file emit_arm.c.
References b, dst, e, free(), g, n, NULL, p, RZ_AX, rz_egg_mkvar(), rz_egg_printf(), and cmd_descs_generate::str.
Definition at line 123 of file emit_arm.c.
References i, lastarg, lastargs, rz_egg_printf(), and cmd_descs_generate::str.
Definition at line 75 of file emit_arm.c.
References key, rz_egg_printf(), and value.
Definition at line 57 of file emit_arm.c.
References rz_egg_printf().
Definition at line 174 of file emit_arm.c.
References rz_egg_printf().
|
static |
Definition at line 183 of file emit_arm.c.
References sprintf, and cmd_descs_generate::str.
|
static |
Definition at line 23 of file emit_arm.c.
Definition at line 209 of file emit_arm.c.
References dst, and rz_egg_printf().
|
static |
Definition at line 265 of file emit_arm.c.
References eprintf, eq, op, p, RZ_AX, rz_egg_printf(), and type.
Definition at line 178 of file emit_arm.c.
Definition at line 88 of file emit_arm.c.
References free(), off, p, rz_egg_mkvar(), rz_egg_printf(), rz_str_escape(), and cmd_descs_generate::str.
Definition at line 27 of file emit_arm.c.
References rz_egg_t::os, RZ_AX, RZ_EGG_OS_DARWIN, RZ_EGG_OS_IOS, RZ_EGG_OS_LINUX, RZ_EGG_OS_MACOS, RZ_EGG_OS_OSX, RZ_EGG_OS_WATCHOS, rz_str_newf(), and svc().
Definition at line 79 of file emit_arm.c.
References k, cmd_descs_generate::nargs, regs, rz_egg_printf(), and RZ_SZ.
|
static |
Definition at line 205 of file emit_arm.c.
References rz_egg_printf().
RzEggEmit EMIT_NAME |
Definition at line 300 of file emit_arm.c.
|
static |
Definition at line 20 of file emit_arm.c.
Referenced by emit_arg(), and emit_call().
|
static |
Definition at line 21 of file emit_arm.c.
Referenced by emit_arg(), and emit_call().
|
static |
Definition at line 19 of file emit_arm.c.
Referenced by emit_regs(), and emit_syscall_args().