diff options
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/include/i386-signal.h | 15 |
2 files changed, 5 insertions, 15 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 625f7d0..19a3e28 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2001-07-06 Andrew Haley <aph@cambridge.redhat.com> + + * include/i386-signal.h: Don't do anything with unsigned divide + overflow except throw an exception. + 2001-07-05 Tom Tromey <tromey@redhat.com> For PR java/3562: diff --git a/libjava/include/i386-signal.h b/libjava/include/i386-signal.h index f89a0b1..506984e 100644 --- a/libjava/include/i386-signal.h +++ b/libjava/include/i386-signal.h @@ -88,21 +88,6 @@ do \ _regs->eip = (unsigned long)_eip; \ return; \ } \ - else if (((_modrm >> 3) & 7) == 6) /* Unsigned divide */ \ - { \ - /* We assume that unsigned divisions are in library code, so \ - * we throw one level down the stack, which was hopefully \ - * the place that called the library routine. This will \ - * break if the library is ever compiled with \ - * -fomit-frame-pointer, but at least this way we've got a \ - * good chance of finding the exception handler. */ \ - \ - _eip = (unsigned char *)_ebp[1]; \ - _ebp = (unsigned long *)_ebp[0]; \ - \ - asm volatile ("mov %0, (%%ebp); mov %1, 4(%%ebp)" \ - : : "r"(_ebp), "r"(_eip)); \ - } \ else \ { \ /* Advance the program counter so that it is after the start \ |