Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 01 Oct 1999 11:20:24 +0200
From:      Marcel Moolenaar <marcel@scc.nl>
To:        current@FreeBSD.org, Bruce Evans <bde@zeta.org.au>, John Polstra <jdp@polstra.com>, Nate Williams <nate@mt.sri.com>, Alan Cox <alc@cs.rice.edu>, Peter Wemm <peter@netplex.com.au>
Subject:   sigset_t: a summary
Message-ID:  <37F47CD8.9F676F08@scc.nl>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------A0130F8A2F31E0358A6BA7D4
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Ok,

While in general the integration went well, a couple of issues have been
raised. These are:

1. building with a -current source tree on -stable fails. This also
   means that we currently don't have the possibility to upgrade
   from -stable to -current.
2. Incompatibilities wrt to the disappearence of sigcontext and the
   undocumented 4th argument to signal handlers.
3. Numerous style bugs and namespace pollution in the last commit.

I don't think I should try to solve all issues at once.

The way I see it is:

o  Fixing issue 1 (cross-compilation) needs a concession. I like
   to really solve the actual problem, because that would help to
   support multiple architectures, including new ones. Other
   solutions have been proposed, each with different pros and
   cons, but they all are bandaids to different extends (IMO).
o  Fixing issue 2 (incompatibilities) is more urgent. We are now
   in a position to fix what was broken. The problem will get
   harder to fix the longer we wait.
o  Fixing issue 3 (non-critical bugs) is not urgent, but there
   may be bugs that cause breakage. I suggest that urgent bugs
   get fixed ASAP. Others may be fixed at any time.

So, to start with issue 2:

To start with the beginning:

1. Should the ucontext_t changes be backed out, or is this the
   way we would like to go? (but only it better :-)

2. The 4th argument issue (pointed out by Alan) can be easily
   fixed. See the attached patch. If this is allright with
   everyone, I'll commit it (assuming Q1 is answered positive).

Corrections, additions and the likes are welcome (as usual :-)

-- 
Marcel Moolenaar                        mailto:marcel@scc.nl
SCC Internetworking & Databases           http://www.scc.nl/
The FreeBSD project                mailto:marcel@FreeBSD.org
--------------A0130F8A2F31E0358A6BA7D4
Content-Type: text/plain; charset=us-ascii;
 name="4th.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="4th.diff"

Index: i386/machdep.c
===================================================================
RCS file: /home/ncvs/src/sys/i386/i386/machdep.c,v
retrieving revision 1.364
diff -u -r1.364 machdep.c
--- machdep.c	1999/10/01 07:49:37	1.364
+++ machdep.c	1999/10/01 09:13:32
@@ -687,6 +687,7 @@
 	else {
 		/* Old FreeBSD-style arguments. */
 		sf.sf_siginfo = code;
+		sf.sf_addr = (char *)regs->tf_err;
 		sf.sf_ahu.sf_handler = catcher;
 	}
 
Index: include/sigframe.h
===================================================================
RCS file: /home/ncvs/src/sys/i386/include/sigframe.h,v
retrieving revision 1.1
diff -u -r1.1 sigframe.h
--- sigframe.h	1999/09/29 15:06:23	1.1
+++ sigframe.h	1999/10/01 09:11:38
@@ -68,12 +68,12 @@
 
 struct sigframe {
 	/*
-	 * The first three members may be used by applications.
+	 * The first four members may be used by applications.
 	 */
 	register_t	sf_signum;
 	register_t	sf_siginfo;		/* code or pointer to sf_si */
 	register_t	sf_ucontext;		/* points to sf_uc */
-	register_t	__spare__;		/* Align sf_ahu */
+	char		*sf_addr;		/* undocumented 4th arg */
 	union {
 		__siginfohandler_t	*sf_action;
 		__sighandler_t		*sf_handler;

--------------A0130F8A2F31E0358A6BA7D4--



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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?37F47CD8.9F676F08>