Re: port-alpha/60479 (alpha fails to save/restore fpu registers on signal delivery)

"Jason Thorpe via gnats" <[email protected]> Thu, 23 Jul 2026 03:10:02 +0000 (UTC)
Newsgroups gmane.os.netbsd.bugs
Message-ID <[email protected]>
The following reply was made to PR port-alpha/60479; it has been noted by GNATS.

From: Jason Thorpe <[email protected]>
To: [email protected]
Cc: Jason Thorpe <[email protected]>,
 [email protected],
 [email protected],
 [email protected]
Subject: Re: port-alpha/60479 (alpha fails to save/restore fpu registers on
 signal delivery)
Date: Wed, 22 Jul 2026 20:05:16 -0700

 > On Jul 22, 2026, at 3:15=E2=80=AFPM, Taylor R Campbell via gnats =
 <[email protected]> wrote:
 >>=20
 >> Synopsis: alpha fails to save/restore fpu registers on signal =
 delivery
 
 Taking a peek =E2=80=A6 =E2=80=9Care you sure?=E2=80=9D
 
 sendsig_signfo() does:
 
         cpu_getmcontext(l, &frame.sf_uc.uc_mcontext, =
 &frame.sf_uc.uc_flags);
 
 =E2=80=A6and cpu_getmcontext() does:
 
         /* Save floating point register context, if any, and copy it. */
         if (fpu_valid_p(l)) {
                 fpu_save(l);
                 (void)memcpy(&mcp->__fpregs, &pcb->pcb_fp,
                     sizeof (mcp->__fpregs));
                 mcp->__fpregs.__fp_fpcr =3D alpha_read_fp_c(l);
                 *flags |=3D _UC_FPU;
         }
 
 I guess I=E2=80=99ll have to fire one up and make sure ucontext / =
 mcontexts tests pass first.
 
 -- thorpej