Commit 16926032 by H.J. Lu Committed by H.J. Lu

Skip 67h address size prefix unconditionally

	PR libjava/53973
	* include/x86_64-signal.h (CHECK_67H_PREFIX): Removed.
	(HANDLE_DIVIDE_OVERFLOW): Skip 67h address size prefix
	unconditionally.

From-SVN: r189623
parent e4f92767
2012-07-18 H.J. Lu <hongjiu.lu@intel.com> 2012-07-18 H.J. Lu <hongjiu.lu@intel.com>
PR libjava/53973 PR libjava/53973
* include/x86_64-signal.h (CHECK_67H_PREFIX): Removed.
(HANDLE_DIVIDE_OVERFLOW): Skip 67h address size prefix
unconditionally.
2012-07-18 H.J. Lu <hongjiu.lu@intel.com>
PR libjava/53973
* include/x86_64-signal.h (CHECK_67H_PREFIX): New. * include/x86_64-signal.h (CHECK_67H_PREFIX): New.
(HANDLE_DIVIDE_OVERFLOW): Check and and skip 67h address size (HANDLE_DIVIDE_OVERFLOW): Check and and skip 67h address size
prefix if CHECK_67H_PREFIX is 1. Use ULL suffix for 64-bit prefix if CHECK_67H_PREFIX is 1. Use ULL suffix for 64-bit
......
...@@ -21,12 +21,6 @@ details. */ ...@@ -21,12 +21,6 @@ details. */
#define HANDLE_SEGV 1 #define HANDLE_SEGV 1
#define HANDLE_FPE 1 #define HANDLE_FPE 1
#ifdef __ILP32__
# define CHECK_67H_PREFIX 1
#else
# define CHECK_67H_PREFIX 0
#endif
#define SIGNAL_HANDLER(_name) \ #define SIGNAL_HANDLER(_name) \
static void _Jv_##_name (int, siginfo_t *, \ static void _Jv_##_name (int, siginfo_t *, \
void *_p __attribute__ ((__unused__))) void *_p __attribute__ ((__unused__)))
...@@ -53,8 +47,8 @@ do \ ...@@ -53,8 +47,8 @@ do \
\ \
bool _is_64_bit = false; \ bool _is_64_bit = false; \
\ \
/* Check and skip 67h address size prefix if needed. */ \ /* Skip 67h address size prefix. */ \
if (CHECK_67H_PREFIX && _rip[0] == 0x67) \ if (_rip[0] == 0x67) \
_rip++; \ _rip++; \
\ \
if ((_rip[0] & 0xf0) == 0x40) /* REX byte present. */ \ if ((_rip[0] & 0xf0) == 0x40) /* REX byte present. */ \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment