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>