Date: Tue, 09 Apr 2002 00:13:10 -0400 (EDT) From: John Baldwin <jhb@FreeBSD.org> To: Kris Kennaway <kris@obsecurity.org> Cc: "David E. O'Brien" <obrien@FreeBSD.org>, cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Subject: Re: cvs commit: src/sys/sys ioccom.h Message-ID: <XFMail.20020409001310.jhb@FreeBSD.org> In-Reply-To: <20020408210151.B18407@xor.obsecurity.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 09-Apr-2002 Kris Kennaway wrote: > On Mon, Apr 08, 2002 at 11:51:50PM -0400, John Baldwin wrote: >> >> On 09-Apr-2002 Kris Kennaway wrote: >> > On Mon, Apr 08, 2002 at 11:39:52PM -0400, John Baldwin wrote: >> >> >> >> On 09-Apr-2002 David E. O'Brien wrote: >> >> > obrien 2002/04/08 19:22:14 PDT >> >> > >> >> > Modified files: >> >> > sys/sys ioccom.h >> >> > Log: >> >> > Back out revision 1.11 which wrapped the ioctl prototype w/()'s. >> >> > While it may have allowed the XFree86 4 port to build; it killed TONS >> >> > of other ports. The XFree86 4 can be patched to not use its macro a >> >> > lot >> >> > easier than figuring how to deal with 1000 other now-broken ports. >> >> >> >> Actually, that isn't correct. For example, when compiling screen on my >> >> ultra60, it whined because the auto* tools in their infinite wisdom (or >> >> lack >> >> thereof) define ioctl as so in osdef.h: >> >> >> >> extern int ioctl __P((int, int, char *)); >> > >> > That's a hardcoded prototype in the screen source code, not something >> > auto-generated by autoconf. Furthermore, screen seems to hard-code >> > prototypes for *every* standard function instead of using the system >> > headers. I fixed up these to use #includes, but screen also tries to >> > redefine structures defined in the system headers so it's still badly >> > broken. >> >> screen used to compile. :-P Was this broken in a recent upgrade that no one >> bothered to check or something? > > It was broken by r1.11 of ioccom.h as stated, AFAICT. gcc apparently > treats ioctl() and (ioctl)() as different prototypes. No, I already said that I reverted the ()'s locally and it still failed to compile. Yes, I was editing /usr/include/sys/ioccom.h and not /sys/sys/ioccom.h. I also tried putting __P() back in, but it didn't build then either. I'm wondering if the pollution in screen's osdef.h is new? > Kris -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20020409001310.jhb>