PERFORCE change 135010 for review
John Baldwin
jhb at freebsd.org
Fri Feb 15 06:57:53 PST 2008
On Thursday 14 February 2008 07:46:41 pm Kris Kennaway wrote:
> John Baldwin wrote:
> > On Thursday 07 February 2008 11:20:57 pm Kip Macy wrote:
> >> http://perforce.freebsd.org/chv.cgi?CH=135010
> >>
> >> Change 135010 by kmacy at kmacy:storage:toehead on 2008/02/08 04:20:17
> >>
> >> add opt_global.h to dependencies
> >>
> >> Affected files ...
> >>
> >> .. //depot/projects/toehead/sys/modules/cxgb/tom/Makefile#3 edit
> >>
> >> Differences ...
> >>
> >> ==== //depot/projects/toehead/sys/modules/cxgb/tom/Makefile#3 (text+ko)
====
> >>
> >> @@ -5,7 +5,8 @@
> >> KMOD= tom
> >> SRCS= cxgb_tom.c cxgb_cpl_io.c cxgb_listen.c cxgb_tom_sysctl.c
cxgb_cpl_socket.c
> >> SRCS+= cxgb_ddp.c cxgb_vm.c
> >> -SRCS+= opt_compat.h opt_inet.h opt_inet6.h opt_ipsec.h opt_mac.h
opt_tcpdebug.h opt_ddb.h
> >> +SRCS+= opt_compat.h opt_inet.h opt_inet6.h opt_ipsec.h opt_mac.h
> >> +SRCS+= opt_tcpdebug.h opt_ddb.h opt_global.h
> >> SRCS+= device_if.h bus_if.h pci_if.h
> >>
> >> #CFLAGS+= -DDEBUG_PRINT -DDEBUG
> >>
> >
> > That's kind of odd. Do you have an explicit #include "opt_global.h"
somewhere?
> >
>
> It also doesn't work :)
>
> The problem is that if you build a kernel+module with
> INVARIANTS+INVARIANT_SUPPORT set, then remove both options, rerun
> config, make depend, make all, the module is not rebuilt and fails to load.
Ah, that is a bug in the 'make depend' stuff. We explicitly enforce a
dependency for kernels in kern.post.mk. Try this instead perhaps:
Index: kmod.mk
===================================================================
RCS file: /usr/cvs/src/sys/conf/kmod.mk,v
retrieving revision 1.221
diff -u -r1.221 kmod.mk
--- kmod.mk 19 Nov 2007 16:24:10 -0000 1.221
+++ kmod.mk 15 Feb 2008 14:50:03 -0000
@@ -428,6 +428,9 @@
assym.s: @/kern/genassym.sh
.endif
sh @/kern/genassym.sh genassym.o > ${.TARGET}
+.if defined(KERNBUILDDIR)
+genassym.o: opt_global.h
+.endif
.if exists(@)
genassym.o: @/${MACHINE_ARCH}/${MACHINE_ARCH}/genassym.c
.endif
@@ -439,6 +442,10 @@
lint: ${SRCS}
${LINT} ${LINTKERNFLAGS} ${CFLAGS:M-[DILU]*} ${.ALLSRC:M*.c}
+.if defined(KERNBUILDDIR)
+${OBJS}: opt_global.h
+.endif
+
.include <bsd.dep.mk>
cleandepend: cleanilinks
BTW, reading kmod.mk the submit above only works if .depend doesn't exist. It
won't work if you have run 'make depend' because of this:
.if !exists(${.OBJDIR}/${DEPENDFILE})
${OBJS}: ${SRCS:M*.h}
.endif
--
John Baldwin
More information about the p4-projects
mailing list