diff --git a/debian/changelog b/debian/changelog index 885816094..784fd199d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +linux-2.6 (2.6.32-16) UNRELEASED; urgency=low + + * [hppa] clear floating point exception flag on SIGFPE signal + (Closes: #559406) + + -- dann frazier Tue, 01 Jun 2010 09:23:57 -0600 + linux-2.6 (2.6.32-15) unstable; urgency=low [ Ben Hutchings ] diff --git a/debian/patches/bugfix/parisc/clear-fp-exception-flag-on-SIGFPE.patch b/debian/patches/bugfix/parisc/clear-fp-exception-flag-on-SIGFPE.patch new file mode 100644 index 000000000..5e4449ecf --- /dev/null +++ b/debian/patches/bugfix/parisc/clear-fp-exception-flag-on-SIGFPE.patch @@ -0,0 +1,28 @@ +commit 550f0d922286556c7ea43974bb7921effb5a5278 +Author: Helge Deller +Date: Mon May 3 20:44:21 2010 +0000 + + 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 + Signed-off-by: Kyle McMartin + +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); diff --git a/debian/patches/series/16 b/debian/patches/series/16 new file mode 100644 index 000000000..d4a0a1239 --- /dev/null +++ b/debian/patches/series/16 @@ -0,0 +1 @@ ++ bugfix/parisc/clear-fp-exception-flag-on-SIGFPE.patch