svn commit: r232585 - head/sys/mips/mips
Juli Mallett
jmallett at FreeBSD.org
Tue Mar 6 08:02:10 UTC 2012
Author: jmallett
Date: Tue Mar 6 08:02:10 2012
New Revision: 232585
URL: http://svn.freebsd.org/changeset/base/232585
Log:
Store TLS base in the sigframe just as is done in freebsd32_sendsig. Because
the native sigreturn doesn't use set_mcontext like the COMPAT_FREEBSD32 version
does, this wouldn't actually result in overwriting the TLS base. Probably it
makes sense to restructure the native sigreturn to use set_mcontext for
consistency, and to allow sigreturn to change the TLS base.
Modified:
head/sys/mips/mips/pm_machdep.c
Modified: head/sys/mips/mips/pm_machdep.c
==============================================================================
--- head/sys/mips/mips/pm_machdep.c Tue Mar 6 07:50:45 2012 (r232584)
+++ head/sys/mips/mips/pm_machdep.c Tue Mar 6 08:02:10 2012 (r232585)
@@ -110,6 +110,7 @@ sendsig(sig_t catcher, ksiginfo_t *ksi,
sf.sf_uc.uc_mcontext.mc_pc = regs->pc;
sf.sf_uc.uc_mcontext.mullo = regs->mullo;
sf.sf_uc.uc_mcontext.mulhi = regs->mulhi;
+ sf.sf_uc.uc_mcontext.mc_tls = td->td_md.md_tls;
sf.sf_uc.uc_mcontext.mc_regs[0] = UCONTEXT_MAGIC; /* magic number */
bcopy((void *)®s->ast, (void *)&sf.sf_uc.uc_mcontext.mc_regs[1],
sizeof(sf.sf_uc.uc_mcontext.mc_regs) - sizeof(register_t));
More information about the svn-src-all
mailing list