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"

Reply via email to