microblaze: Raise SIGFPE/FPE_INTDIV for div by zero
authorEdgar E. Iglesias <edgar.iglesias@petalogix.com>
Mon, 22 Aug 2011 17:58:06 +0000 (19:58 +0200)
committerMichal Simek <monstr@monstr.eu>
Fri, 14 Oct 2011 10:24:31 +0000 (12:24 +0200)
It fixes the signal nr raised for divizion by zero from
SIGILL to SIGFPE, in accordance to POSIX and other archs.

This came up due to a failed test in the GCC testsuite.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
arch/microblaze/kernel/exceptions.c

index 66fad23..6348dc8 100644 (file)
@@ -119,7 +119,7 @@ asmlinkage void full_exception(struct pt_regs *regs, unsigned int type,
        case MICROBLAZE_DIV_ZERO_EXCEPTION:
                if (user_mode(regs)) {
                        pr_debug("Divide by zero exception in user mode\n");
-                       _exception(SIGILL, regs, FPE_INTDIV, addr);
+                       _exception(SIGFPE, regs, FPE_INTDIV, addr);
                        return;
                }
                printk(KERN_WARNING "Divide by zero exception " \