From b8ef6023aa859d213bae3523248257950c8d0ec2 Mon Sep 17 00:00:00 2001 From: Andrew Haley Date: Fri, 6 Jul 2001 16:33:10 +0000 Subject: [PATCH] i386-signal.h: Don't do anything with unsigned divide overflow except throw an exception. 2001-07-06 Andrew Haley * include/i386-signal.h: Don't do anything with unsigned divide overflow except throw an exception. From-SVN: r43813 --- libjava/ChangeLog | 5 +++++ libjava/include/i386-signal.h | 15 --------------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 625f7d0e1ad..19a3e288f91 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2001-07-06 Andrew Haley + + * include/i386-signal.h: Don't do anything with unsigned divide + overflow except throw an exception. + 2001-07-05 Tom Tromey For PR java/3562: diff --git a/libjava/include/i386-signal.h b/libjava/include/i386-signal.h index f89a0b16217..506984ead72 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 \ -- 2.30.2