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:[EMAIL PROTECTED] SCC Internetworking & Databases http://www.scc.nl/ The FreeBSD project mailto:[EMAIL PROTECTED]
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;