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>