Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Mar 2012 08:02:10 +0000 (UTC)
From:      Juli Mallett <jmallett@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r232585 - head/sys/mips/mips
Message-ID:  <201203060802.q2682Ark026778@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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));



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203060802.q2682Ark026778>