Subject: Re: port-i386/2184: i386 boot blocks don't compile
To: None <banshee@gabriella.resort.com>
From: Gordon W. Ross <gwr@mc.com>
List: netbsd-bugs
Date: 03/07/1996 11:25:59
> Date: Thu, 7 Mar 1996 00:15:02 -0800
> From: John M Vinopal <banshee@gabriella.resort.com>
> >Number: 2184
> >Category: port-i386
> >Synopsis: i386 boot blocks don't compile
> >Description:
> include dependancies cause boot block compilation to abort due
> to multiple definition of the DIRSIZ macro. The two definitions
> are in sys/dirent.h and ufs/ufs/dir.h -- the latter notes that its
> definition of DIRSIZ overrides the other via #undef. However, to
> do this, <sys/dirent.h> must appear first, which is not the case
> in the boot block sys.c code.
> >Fix:
> Undef of _KERNEL removes the duplicate DIRSIZ macro. This macro is
> the only thing presently enclosed in #ifdef _KERNEL -- but will this
> always be the case? Perhaps a more burly set of #ifdefs are needed,
> relying on a specific order of #includes is ugly hackery.
>
Hmmm... I thought we had rules about what order kernel includes
should be in, but I can't find them right now.
Anyway, why not just put <sys/dirent.h> (and all other <sys/*.h>)
before the files you reach over into ufs to get?
Gordon