Date: Tue, 11 Oct 2011 12:24:27 -0700 From: Garrett Cooper <yanegomi@gmail.com> To: Arnaud Lacombe <lacombar@gmail.com> Cc: =?ISO-8859-1?Q?Ren=E9_Ladan?= <rene@freebsd.org>, freebsd-current@freebsd.org, Dimitry Andric <dim@freebsd.org>, Larry Rosenman <ler@lerctr.org> Subject: Re: System headers with clang? Message-ID: <CAGH67wTLLfYNonJUmSBH=BfFnag7J69Wy%2B9TMu8Y=DAZ0kL59Q@mail.gmail.com> In-Reply-To: <CACqU3MV9vP%2BVUR%2B2Qpzc4mCS1w3R17yvMGNPT%2BxnsGUiYr8VFQ@mail.gmail.com> References: <alpine.BSF.2.00.1110091229550.43656@lrosenman.dyndns.org> <4E942FF1.9000805@FreeBSD.org> <CACqU3MV9vP%2BVUR%2B2Qpzc4mCS1w3R17yvMGNPT%2BxnsGUiYr8VFQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 11, 2011 at 11:36 AM, Arnaud Lacombe <lacombar@gmail.com> wrote= : > Hi, > > On Tue, Oct 11, 2011 at 8:00 AM, Dimitry Andric <dim@freebsd.org> wrote: >> On 2011-10-09 19:32, Larry Rosenman wrote: >>> >>> I had gotten a PR about sysutils/lsof not compiling with clang. =A0I ha= d >>> Vic Abell check it out, and the problem is NOT with lsof per se, but >>> with the system headers. >>> >>> Is there a project afoot to update the system headers to make them clan= g >>> compilable? >> >> The problem isn't that clang can't compile the system headers, but >> normally these don't get included from userspace. =A0And they certainly >> won't work as expected when you define _KERNEL in userspace, as the lsof >> port foolishly does. =A0It probably can't be avoided in such a tool, tho= ugh. >> > #ifdef _KERNEL/#endif protected part of system headers shall NEVER be > accessed by userland. It is a fault to have them present in > /usr/include. Linux got it right there, all those part are removed > upon headers' installation. Yes, but instead Linux encourages mucking around with /proc and /sys, which have varying levels of formatting and provided output. The data needs to be exported properly via sysctl. If it's not done that way to userland, then the API/KPI is flawed and needs to be revised. Thanks, -Garrett
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGH67wTLLfYNonJUmSBH=BfFnag7J69Wy%2B9TMu8Y=DAZ0kL59Q>