Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Jul 1999 08:22:05 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Martin Cracauer <cracauer@cons.org>
Cc:        Peter Wemm <peter@netplex.com.au>, Martin Cracauer <cracauer@freebsd.org>, cvs-committers@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/sys/i386/i386 genassym.c machdep.c src/sys/i386/include frame.h src/sys/kern kern_sig.c src/sys/sys signal.h signalvar.h
Message-ID:  <Pine.BSF.4.10.9907070820410.328-100000@salmon.nlsystems.com>
In-Reply-To: <19990707090853.A27727@cons.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 7 Jul 1999, Martin Cracauer wrote:

> In <Pine.BSF.4.10.9907062322460.304-100000@salmon.nlsystems.com>, Doug Rabson wrote: 
> > We need to preserve binary compatibility with OSF/1 programs. The layout
> > of struct sigcontext is defined by OSF/1 and is not going to change
> > without a bloody good reason.
> 
> [...]
> 
> > Again, don't change the calling convention for signal delivery without
> > knowing exactly what is going on. The current ABI works well and can be
> > used unchanged for OSF/1 and probably Linux emulation.
> 
> Sorry, I didn't get which argument exactly you want to preserve.
> 
> FreeBSD/alpha uses (int, int, struct sigcontext *) as the arguments
> for signal handlers, right?
> 
> What does OSF/1 use and where does it expect the pointer to struct
> sigcontext?

The same as far as I know.

> 
> Since sizeof(int) != sizeof(sigcontext *) on alpha, the place for the
> third argument will not be the same for
>   (int, int, struct sigcontext *)
> and
>   (int, sometype *, struct sigcontext *)

Remember that these arguments are in registers. Effectively, the arguments
are padded to 64bits. There is no alignment problem.

> 
> I find it hard to beleive that OSF/1 uses (int, int struct sigcontext *) 
> for non-SA_SIGINFO signal handlers. So where does it get the struct
> sigcontext from?

Always the third argument as far as I know.

--
Doug Rabson				Mail:  dfr@nlsystems.com
Nonlinear Systems Ltd.			Phone: +44 181 442 9037




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




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