aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorAndrew Haley <aph@cambridge.redhat.com>2001-07-06 16:33:10 +0000
committerAndrew Haley <aph@gcc.gnu.org>2001-07-06 16:33:10 +0000
commitb8ef6023aa859d213bae3523248257950c8d0ec2 (patch)
tree4a15a363d9d01c441eb8c1917b6f010d1016b367 /libjava
parentb32685987f0b05b642646bf613f1c9b9853ac97a (diff)
downloadgcc-b8ef6023aa859d213bae3523248257950c8d0ec2.zip
gcc-b8ef6023aa859d213bae3523248257950c8d0ec2.tar.gz
gcc-b8ef6023aa859d213bae3523248257950c8d0ec2.tar.bz2
i386-signal.h: Don't do anything with unsigned divide overflow except throw an exception.
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. From-SVN: r43813
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/include/i386-signal.h15
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 \