Date: Sun, 05 Nov 2000 13:45:20 -0800 From: Marcel Moolenaar <marcel@cup.hp.com> To: Bruce Evans <bde@zeta.org.au> Cc: Julian Elischer <julian@elischer.org>, current@FreeBSD.ORG Subject: Re: COMPAT_43 [was: Re: silly dependencies] Message-ID: <3A05D4F0.5E6A5FCD@cup.hp.com> References: <Pine.BSF.4.21.0011060155060.370-100000@besplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A05D4F0.5E6A5FCD>