When there is ADDR32 prefix in 64-bit mode, we should zero-extend
address from 32-bit to 64-bit.
PR gdb/16304
* i386-tdep.c (i386_record_lea_modrm_addr): Zero-extend 32-bit
address to 64-bit in 64-bit mode.
2013-12-19 H.J. Lu <hongjiu.lu@intel.com>
PR gdb/16304
+ * i386-tdep.c (i386_record_lea_modrm_addr): Zero-extend 32-bit
+ address to 64-bit in 64-bit mode.
+
+2013-12-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gdb/16304
* amd64-linux-tdep.c (amd64_canonicalize_syscall): Handle x32
system calls.
(amd64_x32_linux_record_tdep): New.
else
*addr = (uint32_t) (*addr + (offset64 << scale));
}
+
+ if (!irp->aflag)
+ {
+ /* Since we are in 64-bit mode with ADDR32 prefix, zero-extend
+ address from 32-bit to 64-bit. */
+ *addr = (uint32_t) *addr;
+ }
}
else
{