static const char * const i386_byte_names[] =
{
- "al", "cl", "dl", "bl",
+ "al", "cl", "dl", "bl",
"ah", "ch", "dh", "bh"
};
if (I387_ST0_REGNUM (tdep) < 0)
return 0;
- return (I387_FCTRL_REGNUM (tdep) <= regnum
+ return (I387_FCTRL_REGNUM (tdep) <= regnum
&& regnum < I387_XMM0_REGNUM (tdep));
}
cache->pc_in_eax = 1;
return current_pc;
}
-
+
if (buf[1] == proto1[1])
return pc + 4;
else
pushl constant
call _probe
addl $4, %esp
-
+
followed by
pushl %ebp
pushl -4(%reg)
"andl $-XXX, %esp" can be either 3 bytes or 6 bytes:
-
+
0x83 0xe4 0xf0 andl $-16, %esp
0x81 0xe4 0x00 0xff 0xff 0xff andl $-256, %esp
*/
/* MOD must be binary 10 and R/M must be binary 100. */
if ((buf[2] & 0xc7) != 0x44)
return pc;
-
+
/* REG has register number. Registers in pushl and leal have to
be the same. */
if (reg != ((buf[2] >> 3) & 7))
static i386_insn i386_frame_setup_skip_insns[] =
{
/* Check for `movb imm8, r' and `movl imm32, r'.
-
+
??? Should we handle 16-bit operand-sizes here? */
/* `movb imm8, %al' and `movb imm8, %ah' */
if (target_read_code (pc, &op, 1))
return pc;
- while (check)
+ while (check)
{
check = 0;
/* Ignore `nop' instruction. */
- if (op == 0x90)
+ if (op == 0x90)
{
pc += 1;
if (target_read_code (pc, &op, 1))
}
}
}
- return pc;
+ return pc;
}
/* Check whether PC points at a code that sets up a new stack frame.
if (limit <= pc)
return limit;
- /* Check for stack adjustment
+ /* Check for stack adjustment
subl $XXX, %esp
or
%ebx (and sometimes a harmless bug causes it to also save but not
restore %eax); however, the code below is willing to see the pushes
in any order, and will handle up to 8 of them.
-
+
If the setup sequence is at the end of the function, then the next
instruction will be a branch back to the start. */
|| producer_is_icc_ge_19 (cust->producer ()))))
return std::max (start_pc, post_prologue_pc);
}
-
+
cache.locals = -1;
pc = i386_analyze_prologue (gdbarch, start_pc, 0xffffffff, &cache);
if (cache.locals < 0)
i386_epilogue_frame_unwind_stop_reason,
i386_epilogue_frame_this_id,
i386_epilogue_frame_prev_register,
- NULL,
+ NULL,
i386_epilogue_frame_sniffer
};
\f
i386_epilogue_frame_unwind_stop_reason,
i386_epilogue_frame_this_id,
i386_epilogue_frame_prev_register,
- NULL,
+ NULL,
i386_stack_tramp_frame_sniffer
};
\f
/* Get the ARGIth function argument for the current function. */
static CORE_ADDR
-i386_fetch_pointer_argument (frame_info_ptr frame, int argi,
+i386_fetch_pointer_argument (frame_info_ptr frame, int argi,
struct type *type)
{
struct gdbarch *gdbarch = get_frame_arch (frame);
ir.addr -= 1;
goto no_support;
}
- for (regnum = X86_RECORD_REAX_REGNUM;
+ for (regnum = X86_RECORD_REAX_REGNUM;
regnum <= X86_RECORD_REDI_REGNUM;
regnum++)
I386_RECORD_FULL_ARCH_LIST_ADD_REG (regnum);