re: [Linux-ia64] setjmp/longjmp : flushing register stack

From: David Mosberger <davidm_at_hpl.hp.com>
Date: 2000-09-28 04:04:15
>>>>> On Wed, 27 Sep 2000 12:07:24 -0400 (EDT), Steve Tynor <tynor@atlanta.twr.com> said:

  Steve> I've tried adding an inline asm("flushrs") before the setjmp,

Like I said before: the flushrs won't help at all.  The real issue is
preserving ar.rnat (which is probably a problem you have not run into
yet).

  Steve> but the local frame pointer (which seems to vary from
  Steve> function to function (gcc seems to use one of the general
  Steve> registers in the r33...r38 range -- and setjmp does not
  Steve> preserve those) is still not preserved after the longjmp (and
  Steve> local variables accessed in the new context are accessed off
  Steve> the old context's value of the frame register.).

This doesn't sound right.  The local registers of the function calling
setjmp/longjmp are preserved (not the output registers though, of
course).  Can you investigate?

	--david
Received on Wed Sep 27 10:04:24 2000

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:00 EST