On Mon, Nov 23, 2015 at 11:22:55AM -0800, Bryan Drewery wrote:
> On 11/23/2015 9:58 AM, Ed Maste wrote:
> > On 23 November 2015 at 08:33, Konstantin Belousov <kostik...@gmail.com> 
> > wrote:
> >>
> >> The revision 291171 changed layout of the dereferenced structure
> >> sysentvec. Was your kernel build clean, or did you used -DNO_CLEAN or
> >> similar option ? If yes, remove the kernel build directory and start
> >> from scratch.
> > 
> > Every time removing the build directory and starting from scratch
> > fixes an issue like this it's demonstrated a bug in our build's
> > dependency tracking. Starting over is a fine workaround to make
> > progress, but I'd also like to try to extract sufficient detail when
> > this happens so that we can fix these cases.
> My guess is that some files are missing proper dependencies on sysent.h.
Probably yes.

> For example these 2 would not rebuild. I think any consumers of these
> headers which dereferenced the struct pointers would need to include
> sys/sysent.h, but that this still may lead to a broken situation somewhere.
> sys/sys/imgact.h:struct sysentvec;
> sys/sys/ktrace.h:struct sysentvec;
Why would headers need a rebuild, what does it mean for header anyway ?

Indeed, any code which dereferences the structure or otherwise depends
on its layout, have to include sys/sysent.h to get the full definition,
otherwise compiler cannot generate code.  In other words, the problem
cannot be in the source, it is somewhere in the build system.
freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to