Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Oct 2011 12:42:30 -0700
From:      Julian Elischer <julian@freebsd.org>
To:        Arnaud Lacombe <lacombar@gmail.com>
Cc:        Garrett Cooper <yanegomi@gmail.com>, =?ISO-8859-1?Q?Ren=E9_Ladan?= <rene@freebsd.org>, Matt Thyer <matt.thyer@gmail.com>, FreeBSD current <freebsd-current@freebsd.org>, Larry Rosenman <ler@lerctr.org>
Subject:   Re: System headers with clang?
Message-ID:  <4E949C26.4070105@freebsd.org>
In-Reply-To: <CACqU3MXeC1u1PsD4Dyx5RR3%2BAdSNE6hPuyZ599JiBx7ppcqOjg@mail.gmail.com>
References:  <alpine.BSF.2.00.1110091229550.43656@lrosenman.dyndns.org>	<4E942FF1.9000805@FreeBSD.org>	<alpine.BSF.2.00.1110110830200.21480@lrosenman.dyndns.org>	<4E9449F2.2000801@FreeBSD.org> <4E944BA5.4080506@lerctr.org>	<83FC19FA-BD52-4383-9ABE-708161597B85@mac.com>	<589d032a-7b71-4ff1-8adf-f5e49e87696c@email.android.com>	<CACM2%2B-5ne78pQ0xbbomsJvbw27KsiVN4D66ie-admpQhBg7LPA@mail.gmail.com>	<alpine.BSF.2.00.1110111253440.62331@lrosenman.dyndns.org>	<CAGH67wTpZ-HW7ogTWzhxV9XROkxLD_vCMGemc%2B9sOp%2B%2B1H3-gg@mail.gmail.com>	<CADL2u4i1jPMGR0deh8TVqudoBQ4scqFoYazepR5s4DKchyQU2A@mail.gmail.com> <CACqU3MXeC1u1PsD4Dyx5RR3%2BAdSNE6hPuyZ599JiBx7ppcqOjg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 10/11/11 12:36 PM, Arnaud Lacombe wrote:
> Hi,
>
> On Tue, Oct 11, 2011 at 3:21 PM, René Ladan<rene@freebsd.org>  wrote:
>> 2011/10/11 Garrett Cooper<yanegomi@gmail.com>:
>>> On Tue, Oct 11, 2011 at 10:55 AM, Larry Rosenman<ler@lerctr.org>  wrote:
>>>> On Wed, 12 Oct 2011, Matt Thyer wrote:
>>>>
>>>>> On Oct 12, 2011 3:25 AM, "Larry Rosenman"<ler@lerctr.org>  wrote:
>>>>>> I didn't say bug for bug, just not generate stupid errors like the ffs
>>>>> one.
>>>>>> --
>>>>>> Sent from my Android phone with K-9 Mail. Please excuse my brevity.
>>>>>>
>>>>>> Chuck Swiger<cswiger@mac.com>  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" with
>>>>> GCC. In this case, at least, clang is reporting legitimate issues which
>>>>> should be fixed, even if folks continue to build lsof with GCC from now
>>>>> 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 provide
>>>>> 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.  I 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 :)

but at least it comes with the system so it matches.

we've been looking for the 'right' way to do this since, hmmm, 1988 
that I remember and I bet before that too.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E949C26.4070105>