From owner-freebsd-current Sun Nov 5 13:45:24 2000 Delivered-To: freebsd-current@freebsd.org Received: from palrel3.hp.com (palrel3.hp.com [156.153.255.226]) by hub.freebsd.org (Postfix) with ESMTP id 4BD5937B4C5 for ; Sun, 5 Nov 2000 13:45:22 -0800 (PST) Received: from adlmail.cup.hp.com (adlmail.cup.hp.com [15.0.100.30]) by palrel3.hp.com (Postfix) with ESMTP id B148E48F; Sun, 5 Nov 2000 13:45:21 -0800 (PST) Received: from cup.hp.com (p1000180.nsr.hp.com [15.109.0.180]) by adlmail.cup.hp.com (8.9.3 (PHNE_18546)/8.9.3 SMKit7.02) with ESMTP id NAA25791; Sun, 5 Nov 2000 13:45:20 -0800 (PST) Message-ID: <3A05D4F0.5E6A5FCD@cup.hp.com> Date: Sun, 05 Nov 2000 13:45:20 -0800 From: Marcel Moolenaar Organization: Hewlett-Packard X-Mailer: Mozilla 4.73 [en] (X11; U; Linux 2.2.12 i386) X-Accept-Language: en MIME-Version: 1.0 To: Bruce Evans Cc: Julian Elischer , current@FreeBSD.ORG Subject: Re: COMPAT_43 [was: Re: silly dependencies] References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Bruce Evans wrote: > > > c -c -O -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes > > -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual > > -fformat-extensions -ansi -nostdinc -I- -I. -I../.. -I../../../include > > -I../../contrib/dev/acpica/Subsystem/Include -D_KERNEL -include > > opt_global.h -elf -mpreferred-stack-boundary=2 > > ../../i386/i386/machdep.c > > ../../i386/i386/machdep.c:761: warning: function declaration isn't a > > prototype > > ../../i386/i386/machdep.c: In function `osigreturn': > > ../../i386/i386/machdep.c:771: dereferencing pointer to incomplete type > > ../../i386/i386/machdep.c:767: warning: `scp' might be used > > uninitialized in this function > > *** Error code 1 > > > > > > because osigreturn_args is defined only in COMPAT_43. > > (making it not really an option) This is in the function > > int > > osigreturn(p, uap) > > (Old_sigreturn)... surely this should also be made conditional on > > COMPAT_43? > > The trouble with that is tha the new sigreturn calls the osigreturn in > > some cases > > > > if (((struct osigcontext *)ucp)->sc_trapno == 0x01d516) > > to be exact.. > > this needs cleaning up. Who understands this stuff? > > I sent (not quite right) patches for it to Marcel a year ago. Just add > (not quite right) COMPAT_43 || COMPAT_SUNOS ifdefs in about 50 places, > and avoid calling osigreturn when it doesn't exist. The "not quite right" > part is that this has nothing to do with 4.3BSD or SunOS compatibility. > It is for 4.4BSD/FreeBSD[2-3] compatibility. Precise ifdefs for it could > get very messy. Correct. This is still on my plate. I intend to try to create the "precise" ifdefs. I anticipate a number of fundamental changes before it can be done cleanly, starting with syscalls.master. Making the Linuxulator independent of COMPAT_43 is part of it as well (more like a case study). If the precise ifdefs are too costly, the "not quite right" approach will probably be preferable. I didn't want to implement the "not quite right" fix as an interim solution, because interim somehow gets a more permanent nature in these cases... -- Marcel Moolenaar mail: marcel@cup.hp.com / marcel@FreeBSD.org tel: (408) 447-4222 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message