i386/139403: absense of AUE_NULL

Bruce Evans brde at optusnet.com.au
Wed Oct 7 23:10:05 UTC 2009

The following reply was made to PR i386/139403; it has been noted by GNATS.

From: Bruce Evans <brde at optusnet.com.au>
To: Sergey Kuritsin <kuritsin_s_v at mail.ru>
Cc: freebsd-gnats-submit at FreeBSD.org, freebsd-i386 at FreeBSD.org
Subject: Re: i386/139403: absense of AUE_NULL
Date: Thu, 8 Oct 2009 10:02:50 +1100 (EST)

 On Wed, 7 Oct 2009, Sergey Kuritsin wrote:
 >> Description:
 > There is no definition of AUE_NULL constant in sys/sysent.h (or in bsm/audit.h). When you include in source file sys/sysent.h header compiler says that thereis no definition of AUE_NULL.
 >> How-To-Repeat:
 > Use in your code macro SYSCALL_MODULE form sys/sysent.h
 >> Fix:
 > It can be fixed by adding #define AUE_NULL 0 in bsm/audit.h for example.
 Here is my old mail about this bug and related messes in headers.
 I'm trying to build an old module under FreeBSD-7.  It failed to compile
 because SYSCALL_MODULE() uses AUE_NULL which is never defined despite
 massive namespace pollution (#include <bsm/audit.h>) in <sys/sysent.h>.
 AUE_NULL is defined in <bsm/audit_kevents.h> but the pollution doesn't
 extend that far.  <sys/sysent.h> seems to use only au_event_t directly
 from bsm, and only AUE_NULL indirectly from bsm.
 The <bsm/audit_kevents.h> pollution is machine-generated into
 <sys/sysproto.h> together with lots of other pollution.  Most of
 the original pollution in <sys/sysproto.h> is unnecessary now that
 there is a non-polluting header for sigset_t, but there is now
 about 10 times as much as when I started cleaning it up.  I still
 remove it all in my version using the following hack:
 <hack deleted>
 The FreeBSD-7 sysproto.h seems to use only AUE_NULL from
 <bsm/audit_kevents.h>.  That is a lot of pollution for a fancy spelling of 0.

More information about the freebsd-i386 mailing list