9 #define I386_NUM_GREGS 16
10 #define I386_NUM_FREGS 16
11 #define I386_NUM_XREGS 9
15 #define I386_SSE_NUM_REGS (I386_NUM_GREGS + I386_NUM_FREGS + I386_NUM_XREGS)
17 #define I387_NUM_XMM_REGS 8
18 #define I387_ST0_REGNUM I386_ST0_REGNUM
19 #define I387_FCTRL_REGNUM (I387_ST0_REGNUM + 8)
20 #define I387_FSTAT_REGNUM (I387_FCTRL_REGNUM + 1)
21 #define I387_FTAG_REGNUM (I387_FCTRL_REGNUM + 2)
22 #define I387_FISEG_REGNUM (I387_FCTRL_REGNUM + 3)
23 #define I387_FIOFF_REGNUM (I387_FCTRL_REGNUM + 4)
24 #define I387_FOSEG_REGNUM (I387_FCTRL_REGNUM + 5)
25 #define I387_FOOFF_REGNUM (I387_FCTRL_REGNUM + 6)
26 #define I387_FOP_REGNUM (I387_FCTRL_REGNUM + 7)
27 #define I387_XMM0_REGNUM (I387_ST0_REGNUM + 16)
28 #define I387_MXCSR_REGNUM (I387_XMM0_REGNUM + I387_NUM_XMM_REGS)
78 #define NTO_ENAMETOOLONG 78
79 #define NTO_ELIBACC 83
80 #define NTO_ELIBBAD 84
81 #define NTO_ELIBSCN 85
82 #define NTO_ELIBMAX 86
83 #define NTO_ELIBEXEC 87
87 #if defined(__linux__) || defined(__WINDOWS__) || defined(__APPLE__) || defined(__CYGWIN__) || defined(MINGW32) || defined(__NetBSD__)
95 struct errnomap_t errnomap[] = {
96 #if defined(__linux__)
105 #elif defined(__CYGWIN__)
108 #elif defined(__MINGW32__) || defined(MINGW32) || defined(__NetBSD__)
124 for (
i = 0;
i <
sizeof(errnomap) /
sizeof(errnomap[0]);
i++)
125 if (errnomap[
i].nto ==
x)
126 return errnomap[
i].other;
141 const ut8 *endaddr = startaddr +
len;
145 "This operation is not available on integers of more than %d byte(s)\n",
153 retval = ((
LONGEST)*
p ^ 0x80) - 0x80;
154 for (++
p;
p < endaddr;
p++)
155 retval = (retval << 8) | *
p;
159 retval = ((
LONGEST)*
p ^ 0x80) - 0x80;
160 for (--
p;
p >= startaddr; --
p)
161 retval = (retval << 8) | *
p;
171 const ut8 *endaddr = startaddr +
len;
175 "This operation is not available on integers of more than %d byte(s)\n",
182 for (
p = startaddr;
p < endaddr; ++
p)
183 retval = (retval << 8) | *
p;
185 for (
p = endaddr - 1;
p >= startaddr; --
p)
186 retval = (retval << 8) | *
p;
222 ut32 off_adjust, regsize, regset_size, regno_base;
229 if (nto_cpuinfo_valid && nto_cpuinfo_flags | X86_CPU_FXSR)
240 }
else if (second_four) {
250 }
else if (xmm_reg) {
263 regsize = regset_size;
271 if (first_four || second_four)
290 regsize = regset_size;
295 *
off = (regno != -1) ? off_adjust + (regno - regno_base) * regsize : 0;
310 return ptid1.
pid == ptid2.
pid && ptid1.
tid == ptid2.
tid;
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
#define I387_FISEG_REGNUM
int ptid_equal(ptid_t ptid1, ptid_t ptid2)
int i386nto_register_area(int regno, int regset, ut32 *off)
int i386nto_reg_offset(int regnum)
int i386nto_regset_id(int regno)
#define I387_FCTRL_REGNUM
#define I387_MXCSR_REGNUM
ptid_t ptid_build(st32 pid, st64 tid)
#define I386_SSE_NUM_REGS
LONGEST extract_signed_integer(const ut8 *addr, int len, int be)
static int i386nto_gregset_reg_offset[]
ULONGEST extract_unsigned_integer(const ut8 *addr, int len, int be)