From: Matt Chapman <matthewc@cse.unsw.edu.au>
To: linux-ia64@vger.kernel.org
Subject: Re: [Linux-ia64] sigaltstack and ar.bspstore
Date: Sat, 21 Jun 2003 06:58:59 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105617883916733@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590723706086@msgid-missing>
On Fri, Jun 20, 2003 at 11:05:30PM -0700, David Mosberger wrote:
> >>>>> On Sat, 31 May 2003 00:18:39 +1000, Matt Chapman <matthewc@cse.unsw.edu.au> said:
>
> Matt> Currently when using an alternate stack for signal handling,
> Matt> the trampoline code switches to the new register stack without
> Matt> saving bspstore. When returning to the original register
> Matt> stack, it calculates the bspstore as:
>
> Matt> bspstore0 = rse_skip_regs(bsp0, -rse_num_regs(bsp1 - (loadrs
> Matt> >> 19), bsp1)); where bsp0 is sc->sc_ar_bsp and bsp1 is the
> Matt> current bsp
>
> Matt> Presumably the result should be the same as the original
> Matt> bspstore. However, it isn't in the case when the original
> Matt> bspstore is pointing to slot 63 (the RNAT word). The new
> Matt> bspstore comes out pointing to slot 0 of the next group, and
> Matt> the RNAT bits never get written.
>
> Yes, this is a problem. Can you try the attached patch? Rather than
> storing an additional sc_bspstore member, the backing-store switching
> code checks whether bspstore points to an RNaT slot and, if so, stores
> the RNaT manually. This effectively "normalizes" the backing-store
> such that ar.bspstore never points to an RNaT slot.
Ah, that's a good way of doing it (given the constraints of backwards
compatibility). I've tested your patch and it works well for me.
Thanks!
Matt
_______________________________________________
Linux-IA64 mailing list
Linux-IA64@linuxia64.org
http://lists.linuxia64.org/lists/listinfo/linux-ia64
next prev parent reply other threads:[~2003-06-21 6:58 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-30 14:18 [Linux-ia64] sigaltstack and ar.bspstore Matt Chapman
2003-05-30 16:32 ` David Mosberger
2003-05-31 1:31 ` Matt Chapman
2003-05-31 3:16 ` David Mosberger
2003-06-21 6:05 ` David Mosberger
2003-06-21 6:58 ` Matt Chapman [this message]
2003-06-23 19:16 ` David Mosberger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=marc-linux-ia64-105617883916733@msgid-missing \
--to=matthewc@cse.unsw.edu.au \
--cc=linux-ia64@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox