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 *)&regs->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-head mailing list