From owner-freebsd-current@FreeBSD.ORG Tue Oct 11 16:07:40 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4F619106564A; Tue, 11 Oct 2011 16:07:40 +0000 (UTC) (envelope-from ler@lerctr.org) Received: from thebighonker.lerctr.org (lrosenman-1-pt.tunnel.tserv8.dal1.ipv6.he.net [IPv6:2001:470:1f0e:3ad::2]) by mx1.freebsd.org (Postfix) with ESMTP id 1117B8FC08; Tue, 11 Oct 2011 16:07:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lerctr.org; s=lerami; h=Content-Type:MIME-Version:References:Message-ID:In-Reply-To:Subject:cc:To:Sender:From:Date; bh=pcql4jSTv3J38rnNggKMsnZft7JmMlo1ZFiw37SDesQ=; b=G4X7PG8g7WynSxibgRU/V6DXTSmVHzTi/SHFQjHcuyWnBHllK4n6pTj+d1K4C6zbnhtWanqkE5rVTiRjvt59ITNFGpNeMuHd3lAbKpe1NaMjMj5DUbeRTlFlVVkZ3zzMEggBAJuk7DqiVIDh4SRgD81LDlAUuS2sOrFMuxPGBUg=; Received: from cpe-72-182-3-73.austin.res.rr.com ([72.182.3.73]:18876 helo=[192.168.200.4]) by thebighonker.lerctr.org with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76 (FreeBSD)) (envelope-from ) id 1RDere-000GFi-Vf; Tue, 11 Oct 2011 11:07:39 -0500 Date: Tue, 11 Oct 2011 11:07:29 -0500 (CDT) From: Larry Rosenman Sender: ler@lrosenman.dyndns.org To: Kevin Oberman In-Reply-To: Message-ID: References: <4E942FF1.9000805@FreeBSD.org> <4E9449F2.2000801@FreeBSD.org> <4E944BA5.4080506@lerctr.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Spam-Score: -2.9 (--) X-LERCTR-Spam-Score: -2.9 (--) X-Spam-Report: SpamScore (-2.9/5.0) ALL_TRUSTED=-1,BAYES_00=-1.9 X-LERCTR-Spam-Report: SpamScore (-2.9/5.0) ALL_TRUSTED=-1,BAYES_00=-1.9 Cc: =?ISO-8859-15?Q?Ren=E9_Ladan?= , freebsd-current@freebsd.org, Dimitry Andric Subject: Re: System headers with clang? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Oct 2011 16:07:40 -0000 On Tue, 11 Oct 2011, Kevin Oberman wrote: > On Tue, Oct 11, 2011 at 6:59 AM, Larry Rosenman wrote: >> On 10/11/2011 8:51 AM, Dimitry Andric wrote: >>> >>> On 2011-10-11 15:31, Larry Rosenman wrote: >>>> >>>> On Tue, 11 Oct 2011, Dimitry Andric wrote: >>> >>> ... >>>>> >>>>> I've attached a fix for the lsof port, which also makes it build on >>>>> 10.0-CURRENT (this was easy to fix here, as lsof uses its own >>>>> hand-rolled configuration script). Let me know if it works for you. >>>>> >>>> Unless the headers are fixed, Vic Abell (lsof Author) will NOT support >>>> it. >>>> >>>> We need to get clang/system headers to allow warning free compilation >>>> just like GCC does. >>> >>> The system headers compile without warning, if you use them as intended >>> (e.g. from the kernel), which lsof obviously doesn't do. There is no >>> easy workaround here, except by modifying lsof. >>> >>> For example, the warning about KASSERT is because lsof's headers don't >>> include the required headers for this macro. And gcc is apparently not >>> smart enough to generate warnings for this. :) >>> >>> In any case, isn't lsof's dlsof.h header full of special cases already? >>> What does it matter to add another one? >>> >>> Besides, even if you fix it in the system headers now, at compile time >>> you cannot be sure if the user has the correct version of them installed >>> anyway, so you would still have to work around the problem. >> >> We will NOT support clang as the compiler for lsof unless the system headers >> work the same way as gcc's do. >> >> Period. > > Are asking that clang become bug compatible with gcc or that gcc be > fixed to present the same errors as clang does? As a casual observer I > really don't expect either to happen soon. (I suspect gcc being fixed > SLIGHTLY more likely.) No, just asking that the same headers not generate ERRORS where gcc doesn't Extra Warnings are fine. the big one here is the _builtin_ffs() one about signed vs unsigned. > > By it's very nature lsof does a lot of the sort of kernel interaction > that is normally considered to be unacceptable and requires lots of > kludges and hacks to do them. I am simply baffled as to why this issue > is so different other then that it is dependent on the compiler used > and not the differences between kernels and kernel interfaces. It's not. It's just that this seems(!) to be a trivial issue to fix for the folks adding/wanting clang to process all ports. > > On the other hand, I have not done real kernel programming in > years...not since I was writing kernel code in assembly for VMS about > 20 years ago, so maybe I am missing some subtleties about this. > -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 512-248-2683 E-Mail: ler@lerctr.org US Mail: 430 Valona Loop, Round Rock, TX 78681-3893