Re: System headers with clang?

From: Arnaud Lacombe <lacombar_at_gmail.com>
Date: Tue, 11 Oct 2011 16:09:30 -0400
Hi,

On Tue, Oct 11, 2011 at 3:24 PM, Garrett Cooper <yanegomi_at_gmail.com> wrote:
> On Tue, Oct 11, 2011 at 11:36 AM, Arnaud Lacombe <lacombar_at_gmail.com> wrote:
>> Hi,
>>
>> On Tue, Oct 11, 2011 at 8:00 AM, Dimitry Andric <dim_at_freebsd.org> wrote:
>>> On 2011-10-09 19:32, Larry Rosenman wrote:
>>>>
>>>> I had gotten a PR about sysutils/lsof not compiling with clang.  I had
>>>> 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 clang
>>>> compilable?
>>>
>>> The problem isn't that clang can't compile the system headers, but
>>> normally these don't get included from userspace.  And they certainly
>>> won't work as expected when you define _KERNEL in userspace, as the lsof
>>> port foolishly does.  It probably can't be avoided in such a tool, though.
>>>
>> #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.
>
At least, interfaces exist (/proc and /sys) and the data are formatted
enough (ASCII text) to abstract the underlying binary format.

> 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.
>
just exporting raw data would not do the job; it can already be done
with KVM. What is needed is a defined ABI (ie. interface, data and
format) between the kernel and userland. I'm not even considering it
being stable for now, this would be the subject of another thread.

NetBSD has done the interesting move of using property list for
kernel/userland structure encoding. I haven't looked for a while so
I'm not sure how much interface are now using them.

 - Arnaud
Received on Tue Oct 11 2011 - 18:09:32 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:19 UTC