34 lines
1.2 KiB
Diff
34 lines
1.2 KiB
Diff
From 550f0d922286556c7ea43974bb7921effb5a5278 Mon Sep 17 00:00:00 2001
|
|
From: Helge Deller <deller@gmx.de>
|
|
Date: Mon, 3 May 2010 20:44:21 +0000
|
|
Subject: [PATCH] parisc: clear floating point exception flag on SIGFPE signal
|
|
|
|
Clear the floating point exception flag before returning to
|
|
user space. This is needed, else the libc trampoline handler
|
|
may hit the same SIGFPE again while building up a trampoline
|
|
to a signal handler.
|
|
|
|
Fixes debian bug #559406.
|
|
|
|
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
|
|
---
|
|
arch/parisc/math-emu/decode_exc.c | 1 +
|
|
1 files changed, 1 insertions(+), 0 deletions(-)
|
|
|
|
diff --git a/arch/parisc/math-emu/decode_exc.c b/arch/parisc/math-emu/decode_exc.c
|
|
index 3ca1c61..27a7492 100644
|
|
--- a/arch/parisc/math-emu/decode_exc.c
|
|
+++ b/arch/parisc/math-emu/decode_exc.c
|
|
@@ -342,6 +342,7 @@ decode_fpu(unsigned int Fpu_register[], unsigned int trap_counts[])
|
|
return SIGNALCODE(SIGFPE, FPE_FLTINV);
|
|
case DIVISIONBYZEROEXCEPTION:
|
|
update_trap_counts(Fpu_register, aflags, bflags, trap_counts);
|
|
+ Clear_excp_register(exception_index);
|
|
return SIGNALCODE(SIGFPE, FPE_FLTDIV);
|
|
case INEXACTEXCEPTION:
|
|
update_trap_counts(Fpu_register, aflags, bflags, trap_counts);
|
|
--
|
|
1.7.1
|
|
|