System headers with clang?

Garrett Cooper yanegomi at gmail.com
Tue Oct 11 19:19:44 UTC 2011


On Tue, Oct 11, 2011 at 10:55 AM, Larry Rosenman <ler at lerctr.org> wrote:
> On Wed, 12 Oct 2011, Matt Thyer wrote:
>
>> On Oct 12, 2011 3:25 AM, "Larry Rosenman" <ler at 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 at 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?

Thanks!
-Garrett


More information about the freebsd-current mailing list