Hi, On Tue, Oct 11, 2011 at 9:51 AM, Dimitry Andric <d...@freebsd.org> wrote: > On 2011-10-11 15:31, Larry Rosenman wrote: >> >> On Tue, 11 Oct 2011, Dimitry Andric wrote: > > ... >>> >>> I've attached a fix for the lsof port, which also makes it build on >>> 10.0-CURRENT (this was easy to fix here, as lsof uses its own >>> hand-rolled configuration script). Let me know if it works for you. >>> >> Unless the headers are fixed, Vic Abell (lsof Author) will NOT support it. >> >> We need to get clang/system headers to allow warning free compilation >> just like GCC does. > > The system headers compile without warning, if you use them as intended > (e.g. from the kernel), which lsof obviously doesn't do. There is no > easy workaround here, except by modifying lsof. > > For example, the warning about KASSERT is because lsof's headers don't > include the required headers for this macro. And gcc is apparently not > smart enough to generate warnings for this. :) > KASSERT() (from `sys/systm.h') is kernel only, any userland code seeing it is not using the header properly. I'd be a strong proponent of:
#ifdef _KERNEL #error "You are NOT meant to define _KERNEL in userland application" #endif So this has nothing to do about smartness, but correctness. - Arnaud _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"