On Sun, Dec 04, 2016 at 04:23:00PM +0300, Andrey Chernov wrote: > It seems counter.h is included before systm.h where critical_* are declared. It is more weird, since sys/counter.h was added in the stable/10 merge, but the header is not used in the HEAD sources. It is indeed needed for stable/10 driver. critical_enter() pre-requisite for counter.h only exists on i386, which probably explains why John' build test did not catched it.
I am preparing another MFC, so I committed the fix in r309529. > > On 04.12.2016 16:12, Andrey Chernov wrote: > > On recent i386 -stable I got: > > > > ... > > /usr/src/sys/modules/cxgbe/if_cxgbev/../../../dev/cxgbe/t4_vf.c -o t4_vf.o > > In file included from > > /usr/src/sys/modules/cxgbe/if_cxgbev/../../../dev/cxgbe/t4_vf.c:37: > > In file included from @/sys/counter.h:35: > > ./machine/counter.h:170:3: error: implicit declaration of function > > 'critical_enter' is invalid in C99 > > [-Werror,-Wimplicit-function-declaration] > > critical_enter(); > > ^ > > ./machine/counter.h:172:3: error: implicit declaration of function > > 'critical_exit' is invalid in C99 > > [-Werror,-Wimplicit-function-declaration] > > critical_exit(); > > ^ > > ./machine/counter.h:172:3: note: did you mean 'critical_enter'? > > ./machine/counter.h:170:3: note: 'critical_enter' declared here > > critical_enter(); > > ^ > > In file included from > > /usr/src/sys/modules/cxgbe/if_cxgbev/../../../dev/cxgbe/t4_vf.c:47: > > In file included from > > /usr/src/sys/modules/cxgbe/if_cxgbev/../../../dev/cxgbe/common/common.h:33: > > In file included from > > /usr/src/sys/modules/cxgbe/if_cxgbev/../../../dev/cxgbe/common/t4_hw.h:33: > > In file included from > > /usr/src/sys/modules/cxgbe/if_cxgbev/../../../dev/cxgbe/osdep.h:39: > > @/sys/systm.h:196:6: error: conflicting types for 'critical_enter' > > void critical_enter(void); > > ^ > > ./machine/counter.h:170:3: note: previous implicit declaration is here > > critical_enter(); > > ^ > > In file included from > > /usr/src/sys/modules/cxgbe/if_cxgbev/../../../dev/cxgbe/t4_vf.c:47: > > In file included from > > /usr/src/sys/modules/cxgbe/if_cxgbev/../../../dev/cxgbe/common/common.h:33: > > In file included from > > /usr/src/sys/modules/cxgbe/if_cxgbev/../../../dev/cxgbe/common/t4_hw.h:33: > > In file included from > > /usr/src/sys/modules/cxgbe/if_cxgbev/../../../dev/cxgbe/osdep.h:39: > > @/sys/systm.h:197:6: error: conflicting types for 'critical_exit' > > void critical_exit(void); > > ^ > > ./machine/counter.h:172:3: note: previous implicit declaration is here > > critical_exit(); > > ^ > > 4 errors generated. > > *** Error code 1 > > > > Stop. > > > > _______________________________________________ > freebsd-stable@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org" _______________________________________________ freebsd-stable@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"