From owner-cvs-all Wed Jul 7 0:22:52 1999 Delivered-To: cvs-all@freebsd.org Received: from herring.nlsystems.com (nlsys.demon.co.uk [158.152.125.33]) by hub.freebsd.org (Postfix) with ESMTP id 8807B1546A; Wed, 7 Jul 1999 00:22:27 -0700 (PDT) (envelope-from dfr@nlsystems.com) Received: from salmon.nlsystems.com (salmon.nlsystems.com [10.0.0.3]) by herring.nlsystems.com (8.9.3/8.8.8) with ESMTP id IAA34558; Wed, 7 Jul 1999 08:22:06 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Wed, 7 Jul 1999 08:22:05 +0100 (BST) From: Doug Rabson To: Martin Cracauer Cc: Peter Wemm , Martin Cracauer , 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 In-Reply-To: <19990707090853.A27727@cons.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk On Wed, 7 Jul 1999, Martin Cracauer wrote: > In , 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