Skip site navigation (1)Skip section navigation (2)
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>