Date: Thu, 23 Aug 2007 11:19:19 -0400 From: John Baldwin <jhb@freebsd.org> To: Roman Divacky <rdivacky@freebsd.org> Cc: Perforce Change Reviews <perforce@freebsd.org> Subject: Re: PERFORCE change 124465 for review Message-ID: <200708231119.19392.jhb@freebsd.org> In-Reply-To: <200708011424.l71EOnG4029903@repoman.freebsd.org> References: <200708011424.l71EOnG4029903@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 01 August 2007 10:24:49 am Roman Divacky wrote: > http://perforce.freebsd.org/chv.cgi?CH=124465 > > Change 124465 by rdivacky@rdivacky_witten on 2007/08/01 14:24:10 > > Initialize cr2 using rcr2() in signal context. > > PR: 77710 > > Affected files ... > > .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/linux/linux_sysvec.c#2 edit > > Differences ... > > ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/linux/linux_sysvec.c#2 (text+ko) ==== > > @@ -359,6 +359,7 @@ > frame.sf_sc.uc_mcontext.sc_esp_at_signal = regs->tf_esp; > frame.sf_sc.uc_mcontext.sc_ss = regs->tf_ss; > frame.sf_sc.uc_mcontext.sc_err = regs->tf_err; > + frame.sf_sc.uc_mcontext.sc_cr2 = rcr2(); > frame.sf_sc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); > > #ifdef DEBUG > @@ -487,6 +488,7 @@ > frame.sf_sc.sc_esp_at_signal = regs->tf_esp; > frame.sf_sc.sc_ss = regs->tf_ss; > frame.sf_sc.sc_err = regs->tf_err; > + frame.sf_sc.sc_cr2 = rcr2(); > frame.sf_sc.sc_trapno = bsd_to_linux_trapcode(ksi->ksi_trapno); > > for (i = 0; i < (LINUX_NSIG_WORDS-1); i++) This is wrong. Use the same thing that the i386 freebsd code uses to set sc_addr. I think it is ksi->ksi_addr. The sc_err part of the PR is already fixed by the recent fixes for sc_err for wine. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200708231119.19392.jhb>