On 1/1/18 5:00 am, Colin Percival wrote:
Author: cperciva
Date: Sun Dec 31 21:00:21 2017
New Revision: 327447
URL: https://svnweb.freebsd.org/changeset/base/327447
Log:
Wrap includes in sys/tslog.h with #ifdef TSLOG.
This is necessary because some non-kernel code #defines _KERNEL and then
includes kernel headers; as a result, it was getting conflicting versions
of curthread and curproc. Non-kernel code should probably refrain from
defining _KERNEL, but for now hiding these indirect inclusions fixes the
build.
this is a recurring issue. Program that want to look into the
internals of files such as mount.h
and define _KERNEL to allow themselves to do so. It eventualy leads
to all sorts of confusion and pollution.
Maybe we should make a policy on how to do this. At $JOB I had to hack
it to define a
#ifdef _NOTREALLYKERNEL to split out parts we really wanted, but it
would be better to have specific ones for
various specific 'rule breakers'..
e.g.
#if defined( _KERNEL ) || defined (WANT_TO_LOOK_AT_something)
kdump seems ot do the right thing with:
kdump/kdump.c:#define _WANT_KERNEL_ERRNO
errno.h:#if defined(_KERNEL) || defined(_WANT_KERNEL_ERRNO)
Reported by: Michael Butler, Herbert J. Skuhra
Modified:
head/sys/sys/tslog.h
Modified: head/sys/sys/tslog.h
==============================================================================
--- head/sys/sys/tslog.h Sun Dec 31 20:30:51 2017 (r327446)
+++ head/sys/sys/tslog.h Sun Dec 31 21:00:21 2017 (r327447)
@@ -29,8 +29,10 @@
#ifndef _TSLOG_H_
#define _TSLOG_H_
+#ifdef TSLOG
#include <sys/_types.h>
#include <sys/pcpu.h>
+#endif
#define TS_ENTER 0
#define TS_EXIT 1
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"