i386-signal.h: Don't do anything with unsigned divide overflow except throw an exception.
authorAndrew Haley <aph@cambridge.redhat.com>
Fri, 6 Jul 2001 16:33:10 +0000 (16:33 +0000)
committerAndrew Haley <aph@gcc.gnu.org>
Fri, 6 Jul 2001 16:33:10 +0000 (16:33 +0000)
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

libjava/ChangeLog
libjava/include/i386-signal.h

index 625f7d0e1ad4ec5760045a81942f7b6339fba596..19a3e288f916b1084aebd9751623e5ab3042010b 100644 (file)
@@ -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:
index f89a0b16217d9988dfb7a888c4d52419407fecad..506984ead72d97a03cb364e52e8c911bee85b8a1 100644 (file)
@@ -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  \