From: ceriel Date: Tue, 21 Feb 1989 10:49:51 +0000 (+0000) Subject: improve signal handling of Floating Point Exception X-Git-Tag: release-5-5~2561 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=b37c8b0b249cb913a7341dd0599f7922ae261aff;p=ack.git improve signal handling of Floating Point Exception --- diff --git a/mach/vax4/libbsd4_1a/head_em.s b/mach/vax4/libbsd4_1a/head_em.s index a71233844..2608535e4 100644 --- a/mach/vax4/libbsd4_1a/head_em.s +++ b/mach/vax4/libbsd4_1a/head_em.s @@ -25,8 +25,8 @@ a2: pushl r0 pushl r2 pushl r1 -# movl $m1,ap -# chmk (ap)+ # catch floating point exception + movl $m1,ap + chmk (ap)+ # catch floating point exception calls $3,_m_a_i_n movl $m2,ap movl r0,6(ap) diff --git a/mach/vax4/libbsd4_2/head_em.s b/mach/vax4/libbsd4_2/head_em.s index f162fba28..2c3fcfd6a 100644 --- a/mach/vax4/libbsd4_2/head_em.s +++ b/mach/vax4/libbsd4_2/head_em.s @@ -38,6 +38,13 @@ a2: sig8: .word 0x0000 pushl 8(ap) + movl $m3,ap + chmk (ap)+ # restore default handler + movl $m5,ap + chmk (ap)+ # get current signal mask + andl3 d0,$0xffffff7f,m4+6 # and remove the 8th bit + movl $m4,ap + chmk (ap)+ # and movl (sp)+,ap pushl tab [ap] jsb .trp @@ -52,6 +59,20 @@ m1: .long 8 .long m1a .long 0 +m3: + .word SYS_sigvec + .long 3 + .long 8 + .long 0 + .long 0 +m4: + .word SYS_sigsetmask + .long 1 + .long 0 +m5: + .word SYS_sigblock + .long 1 + .long 0 m1a: .long sig8 .long 0