Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Dec 2001 18:10:08 +0000 (GMT)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Dan Eischen <eischen@vigrid.com>
Cc:        Bernd Walter <ticso@cicely9.cicely.de>, Andrew Gallatin <gallatin@cs.duke.edu>, <freebsd-alpha@FreeBSD.ORG>
Subject:   Re: Munging jmp_bufs on alpha
Message-ID:  <20011223180855.A10031-100000@salmon.nlsystems.com>
In-Reply-To: <3C261DE3.3EEFCEBB@vigrid.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 23 Dec 2001, Dan Eischen wrote:

> Doug Rabson wrote:
> >
> > On Fri, 21 Dec 2001, Daniel Eischen wrote:
> >
> > > What is T12 suppose to contain in a normal function call?  Is
> > > it always the return address?  Is that dependent on our compiler?
> >
> > T12 should be set to the address of the called function. Prologue code in
> > the called function uses this assumption to initialise GP to the correct
> > value for the module containing it. RA will be set to the return address
> > by the call instruction itself.
>
> OK, thanks. I think I understand this a little better.
>
> I need to revisit my {get,set,make,swap}context patches, because
> libc_r should really be using makecontext instead of having its
> own MD macros to munge a jmp_buf.  The alpha is a little tricky
> though because a trapframe and sigframe are different formats,
> and the *context routines would probably need to recognize the
> difference.  I think the kernel needs to get involved in order
> to tag them appropriately.

I would love to see libc_r using getcontext, setcontext etc. because the
ia64 setjmp/longjmp are optimised to assume that we are simply unwinding
an existing stack, i.e. they can't be used for context switching.

-- 
Doug Rabson				Mail:  dfr@nlsystems.com
					Phone: +44 20 8348 6160



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




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