mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-10 14:02:43 +00:00
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.
This commit is contained in:
parent
bdf4700515
commit
6fa3bc4f91
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=232585
@ -110,6 +110,7 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask)
|
||||
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));
|
||||
|
Loading…
Reference in New Issue
Block a user