Re: head -r352274 buildkernel targetting armv7 failure: am335x/am335x_dmtpps.c:304:3: error: implicit declaration of function 'spinlock_enter' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

From: Ian Lepore <ian_at_freebsd.org>
Date: Sat, 14 Sep 2019 12:21:20 -0600
On Sat, 2019-09-14 at 11:05 -0700, Mark Millard via freebsd-arm wrote:
> After updating my amd64 context to head -r352274,
> attempting an amd64->armv7 cross buildworld buildkernel
> ended up failing with:
> 
> 
> --- am335x_dmtpps.o ---
> /usr/src/sys/arm/ti/am335x/am335x_dmtpps.c:304:3: error: implicit
> declaration of function 'spinlock_enter' is invalid in C99 [-Werror,-
> Wimplicit-function-declaration]
>                 mtx_lock_spin(&sc->pps_mtx);
>                 ^
> /usr/src/sys/sys/mutex.h:383:26: note: expanded from macro
> 'mtx_lock_spin'
> #define mtx_lock_spin(m)        mtx_lock_spin_flags((m), 0)
>                                 ^
> /usr/src/sys/sys/mutex.h:452:2: note: expanded from macro
> 'mtx_lock_spin_flags'
>         mtx_lock_spin_flags_((m), (opts), LOCK_FILE, LOCK_LINE)
>         ^
> /usr/src/sys/sys/mutex.h:429:2: note: expanded from macro
> 'mtx_lock_spin_flags_'
>         __mtx_lock_spin((m), curthread, (opts), (file), (line))
>         ^
> /usr/src/sys/sys/mutex.h:258:2: note: expanded from macro
> '__mtx_lock_spin'
>         spinlock_enter();                                            
>    \
>         ^
> /usr/src/sys/arm/ti/am335x/am335x_dmtpps.c:304:3: error: this
> function declaration is not a prototype [-Werror,-Wstrict-prototypes]
> /usr/src/sys/sys/mutex.h:383:26: note: expanded from macro
> 'mtx_lock_spin'
> #define mtx_lock_spin(m)        mtx_lock_spin_flags((m), 0)
>                                 ^
> /usr/src/sys/sys/mutex.h:452:2: note: expanded from macro
> 'mtx_lock_spin_flags'
>         mtx_lock_spin_flags_((m), (opts), LOCK_FILE, LOCK_LINE)
>         ^
> /usr/src/sys/sys/mutex.h:429:2: note: expanded from macro
> 'mtx_lock_spin_flags_'
>         __mtx_lock_spin((m), curthread, (opts), (file), (line))
>         ^
> /usr/src/sys/sys/mutex.h:258:2: note: expanded from macro
> '__mtx_lock_spin'
>         spinlock_enter();                                            
>    \
>         ^
> . . .
> 
> (spinlock_enter was not the only example.)
> 
> 

My bad, I forgot to include <lock.h> when I switched the code to
spinlocks.  Should be fixed by r352333.

-- Ian
Received on Sat Sep 14 2019 - 16:21:24 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:21 UTC