* go32-nat.c (go32_handle_nonaligned_watchpoint): Use a

two-dimensional array instead of faking it with index
	arithmetics.
This commit is contained in:
Eli Zaretskii 2000-04-03 15:27:42 +00:00
parent 7f668b8658
commit 184a103e6d
2 changed files with 13 additions and 8 deletions

View File

@ -1,3 +1,9 @@
2000-04-03 Eli Zaretskii <eliz@is.elta.co.il>
* go32-nat.c (go32_handle_nonaligned_watchpoint): Use a
two-dimensional array instead of faking it with index
arithmetics.
2000-04-03 Eli Zaretskii <eliz@is.elta.co.il>
* config/i386/xm-go32.h (HOST_LONG_DOUBLE_FORMAT): Define.

View File

@ -859,20 +859,19 @@ go32_handle_nonaligned_watchpoint (wp_op what, CORE_ADDR waddr, CORE_ADDR addr,
int size;
int rv = 0, status = 0;
static int size_try_array[16] =
static int size_try_array[4][4] =
{
1, 1, 1, 1, /* trying size one */
2, 1, 2, 1, /* trying size two */
2, 1, 2, 1, /* trying size three */
4, 1, 2, 1 /* trying size four */
{ 1, 1, 1, 1 }, /* trying size one */
{ 2, 1, 2, 1 }, /* trying size two */
{ 2, 1, 2, 1 }, /* trying size three */
{ 4, 1, 2, 1 } /* trying size four */
};
while (len > 0)
{
align = addr % 4;
/* Four is the maximum length for 386. */
size = (len > 4) ? 3 : len - 1;
size = size_try_array[size * 4 + align];
/* Four is the maximum length a 386 debug register can watch. */
size = size_try_array[len > 4 ? 3 : len - 1][align];
if (what == wp_insert)
status = go32_insert_aligned_watchpoint (waddr, addr, size, rw);
else if (what == wp_remove)