/*--- Constants ---*/
/*------------------------------------------------------------*/
-#define MAX_x86_INSTR_SIZE 16 // According to ia32 sw dev manual vol 2
#define MIN_LINE_SIZE 16
#define FILE_LEN 256
#define FN_LEN 256
t_data_addr1 = INVALID_TEMPREG,
t_data_addr2 = INVALID_TEMPREG;
- sk_assert(instr_size >= 1 &&
- instr_size <= MAX_x86_INSTR_SIZE);
+ sk_assert(instr_size >= MIN_INSTR_SIZE &&
+ instr_size <= MAX_INSTR_SIZE);
#define IS_(X) (INVALID_TEMPREG != t_##X##_addr)
#define INV(qqt) (INVALID_TEMPREG == (qqt))
i = 0;
do {
Addr eip = ec->eips[i];
- if (i > 0) eip--; /* point to calling line */
+ if (i > 0)
+ eip -= MIN_INSTR_SIZE; // point to calling line
if ( VG_(get_fnname_nodemangle) (eip, buf, M_VG_ERRTXT) ) {
// Stop after "main"; if main() is recursive, stop after last main().
i = 0;
do {
Addr eip = eips[i];
- if (i > 0) eip--; /* point to calling line */
+ if (i > 0)
+ eip -= MIN_INSTR_SIZE; // point to calling line
VG_(describe_eip)(eip, buf, M_VG_ERRTXT);
if ( ! VG_(clo_show_below_main)) {
#define FIRST_ARCH_REG R_EAX
#define LAST_ARCH_REG R_EDI
-#define N_ARCH_REGS 8
+#define N_ARCH_REGS 8
+
+#define MIN_INSTR_SIZE 1
+#define MAX_INSTR_SIZE 16
#endif // __X86_TOOL_ARCH_H