From owner-cvs-all Mon Apr 8 20:40: 3 2002 Delivered-To: cvs-all@freebsd.org Received: from mail.speakeasy.net (mail13.speakeasy.net [216.254.0.213]) by hub.freebsd.org (Postfix) with ESMTP id E6C3B37B41A for ; Mon, 8 Apr 2002 20:39:55 -0700 (PDT) Received: (qmail 6963 invoked from network); 9 Apr 2002 03:39:55 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) by mail13.speakeasy.net (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP for ; 9 Apr 2002 03:39:55 -0000 Received: from laptop.baldwin.cx (john@laptop.baldwin.cx [192.168.0.4]) by server.baldwin.cx (8.11.6/8.11.6) with ESMTP id g393efv47316; Mon, 8 Apr 2002 23:40:41 -0400 (EDT) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.2 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <200204090222.g392ME945124@freefall.freebsd.org> Date: Mon, 08 Apr 2002 23:39:52 -0400 (EDT) From: John Baldwin To: "David E. O'Brien" Subject: RE: cvs commit: src/sys/sys ioccom.h Cc: cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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 *)); In sys/sys/ioccom.h we have: int (ioctl)(int, unsigned long, ...); Note that the second arg is a long rather than an int, plus the 3rd argument isn't defined. Obviously then, the protoypes aren't going to match up on platforms where sizeof(long) != sizeof(int). Actually, I just tried taking out the parens around ioctl and now screen still doesn't build on my i386 laptop running today's current: > make ===> Building for screen-3.9.11_1 cc -c -I. -I. -O -pipe screen.c In file included from screen.h:38, from screen.c:85: osdef.h:87: conflicting types for `ioctl' /usr/include/sys/ioccom.h:75: previous declaration of `ioctl' I have to wonder why screen(1) has decided that it has a better prototype for ioctl() than the base system headers. That seems to be the real bug to me. :( -- John Baldwin <>< 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