From owner-freebsd-current@FreeBSD.ORG Tue Oct 11 19:36:22 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 50D80106564A; Tue, 11 Oct 2011 19:36:22 +0000 (UTC) (envelope-from lacombar@gmail.com) Received: from mail-ww0-f50.google.com (mail-ww0-f50.google.com [74.125.82.50]) by mx1.freebsd.org (Postfix) with ESMTP id ACB2B8FC12; Tue, 11 Oct 2011 19:36:21 +0000 (UTC) Received: by wwe3 with SMTP id 3so10628311wwe.31 for ; Tue, 11 Oct 2011 12:36:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=UvmmsbLxMQMjhlFTa1FCeVr8y6spV5pUEG3rz+D7UkY=; b=Nxtj28FKlvLBGYFcHvkHzMWzbNg4mE9XpWC+PZAssZdJCYGuBy/BLdHtM1U+HKGVSz NRnPF/cUk0DElbbmmTGjO2bXcGgoed1olkzCwpJ+Cdq7xmH6bvNDG9YEjW92F3yCuZ1w rZgoq3VZhG3rN0ZWoacaSGGprLLNO5lKSHMQA= MIME-Version: 1.0 Received: by 10.227.29.161 with SMTP id q33mr6371559wbc.49.1318361780609; Tue, 11 Oct 2011 12:36:20 -0700 (PDT) Received: by 10.180.103.33 with HTTP; Tue, 11 Oct 2011 12:36:20 -0700 (PDT) In-Reply-To: References: <4E942FF1.9000805@FreeBSD.org> <4E9449F2.2000801@FreeBSD.org> <4E944BA5.4080506@lerctr.org> <83FC19FA-BD52-4383-9ABE-708161597B85@mac.com> <589d032a-7b71-4ff1-8adf-f5e49e87696c@email.android.com> Date: Tue, 11 Oct 2011 15:36:20 -0400 Message-ID: From: Arnaud Lacombe To: =?ISO-8859-1?Q?Ren=E9_Ladan?= Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: Garrett Cooper , Larry Rosenman , Matt Thyer , FreeBSD current 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 19:36:22 -0000 Hi, On Tue, Oct 11, 2011 at 3:21 PM, Ren=E9 Ladan wrote: > 2011/10/11 Garrett Cooper : >> On Tue, Oct 11, 2011 at 10:55 AM, Larry Rosenman wrote: >>> On Wed, 12 Oct 2011, Matt Thyer wrote: >>> >>>> On Oct 12, 2011 3:25 AM, "Larry Rosenman" wrote: >>>>> >>>>> I didn't say bug for bug, just not generate stupid errors like the ff= s >>>> >>>> one. >>>>> >>>>> -- >>>>> Sent from my Android phone with K-9 Mail. Please excuse my brevity. >>>>> >>>>> Chuck Swiger wrote: >>>>> >>>>> On Oct 11, 2011, at 6:59 AM, Larry Rosenman wrote: >>>>>> >>>>>> We will NOT support clang as the compiler for lsof unless the system >>>> >>>> headers work the same way as gcc's do. >>>>> >>>>> That apparently means you won't support clang then, because it's not >>>> >>>> intended to be (or ever going to be) fully bug-for-bug "compatible" wi= th >>>> GCC. In this case, at least, clang is reporting legitimate issues whic= h >>>> should be fixed, even if folks continue to build lsof with GCC from no= w >>>> until the end of days. >>>> >>>> The elegant solution would be to avoid this problem altogether by >>>> re-implementation of lsof using interfaces into the kernel that provid= e >>>> the >>>> required information. >>>> >>>> bsdof anyone? >>>> >>> lsof is PORTABLE and available on LOTS of platforms. >>> >>> We have fstat, but lsof can be used between differing OS's. >>> >>> We've also asked for Kernel interfaces before, but no one volunteered >>> to make the KPI for them. >>> >>> I'm sure if someone(tm) (not me, insufficient knowledge) was >>> to make interfaces for ALL that lsof needs, Vic would implement it >>> as it would make his life easier. >> >> It would be nice in general if there were sysctls for accessing this >> data as even utilities in base have libkvm magic sprinkled around with >> pointer magic by default instead of using the sysctl analogs (I'm >> referring to ifconfig, netstat, etc), and as noted by some.. using >> libkvm on live memory could be potentially; the only valid usage I can >> really think of is when dealing with . >> >> What data does Vic need to grab from the kernel in order to get the >> file descriptor data? >> > Just a quick note that FreeBSD 9 and later also have libprocstat which > could be a nice interface. =A0I haven't looked at the details yet though. > libprocstat is _itself_ a problem: % git grep 'define _KERNEL' . [...] lib/libprocstat/cd9660.c:#define _KERNEL lib/libprocstat/nwfs.c:#define _KERNEL lib/libprocstat/smbfs.c:#define _KERNEL lib/libprocstat/udf.c:#define _KERNEL lib/libprocstat/zfs.c:#define _KERNEL [...] ok, I admit this is all FS related stuff :) - Arnaud