Definition at line 1090 of file linux_debug.c.
1091 bool showfpu =
false;
1103 #elif __i386__ || __x86_64__
1107 for (
i = 0;
i < 8;
i++) {
1108 if (
i == 4 ||
i == 5) {
1113 if ((
i + 1) *
sizeof(ret) >
size) {
1114 eprintf(
"linux_reg_get: Buffer too small %d\n",
size);
1117 memcpy(
buf + (
i *
sizeof(ret)), &ret,
sizeof(ret));
1120 return sizeof(
a.u_debugreg);
1123 #warning Android X86 does not support DRX
1133 #elif __x86_64__ || __i386__
1135 struct user_fpregs_struct fpregs;
1151 struct user_fpxregs_struct fpxregs;
1190 #warning getfpregs not implemented for this platform
1199 #if (__arm64__ || __aarch64__ || __s390x__) && defined(PTRACE_GETREGSET)
1202 .iov_len =
sizeof(
regs)
1204 ret = rz_debug_ptrace(
dbg, PTRACE_GETREGSET,
pid, 1, &io);
1210 #elif __BSD__ && (__POWERPC__ || __sparc__)
1231 #if HAVE_YMM && __x86_64__ && defined(PTRACE_GETREGSET)
1232 ut32 ymm_space[128];
1233 struct _xstate xstate;
1235 iov.iov_base = &xstate;
1236 iov.iov_len =
sizeof(
struct _xstate);
1243 for (ri = 0; ri < 16; ri++) {
1244 for (rj = 0; rj < 4; rj++) {
1246 ymm_space[ri * 8 + rj] = ((
struct _libc_fpstate *)&xstate.fpstate)->_xmm[ri].element[rj];
1248 ymm_space[ri * 8 + rj] = xstate.fpstate._xmm[ri].element[rj];
1251 for (rj = 0; rj < 4; rj++) {
1252 ymm_space[ri * 8 + (rj + 4)] = xstate.ymmh.ymmh_space[ri * 4 + rj];
return memset(p, 0, total)
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
static static fork const void static count static fd const char const char static newpath char char char static envp time_t static t const char static mode static whence const char static dir time_t static t unsigned static seconds const char struct utimbuf static buf static inc pid
long rz_debug_ptrace_get_x86_xstate(RzDebug *dbg, pid_t pid, struct iovec *iov)
static void print_fpu(void *f)
#define rz_offsetof(type, member)
References a, dbg, eprintf, i, iov, memcpy(), memset(), NULL, pid, print_fpu(), PTRACE_GETFPREGS, PTRACE_GETFPXREGS, PTRACE_GETREGS, PTRACE_PEEKUSER, regs, rz_debug_ptrace_get_x86_xstate(), RZ_DEBUG_REG_T, RZ_MIN, rz_offsetof, RZ_REG_TYPE_DRX, RZ_REG_TYPE_FLG, RZ_REG_TYPE_FPU, RZ_REG_TYPE_GPR, RZ_REG_TYPE_MMX, RZ_REG_TYPE_SEG, RZ_REG_TYPE_XMM, RZ_REG_TYPE_YMM, rz_sys_perror, rz_debug_t::tid, and type.