[Next] futex.h:89:9: error: implicit declaration of function 'arch_futex_atomic_op_inuser_local'

From: Naresh Kamboju
Date: Thu Dec 02 2021 - 08:29:29 EST


While building Linux next 20211202 tag for sh with gcc-10
following warnings / errors noticed.

make --silent --keep-going --jobs=8
O=/home/tuxbuild/.cache/tuxmake/builds/current ARCH=mips
CROSS_COMPILE=mips-linux-gnu- 'CC=sccache mips-linux-gnu-gcc'
'HOSTCC=sccache gcc'
In file included from /builds/linux/kernel/futex/futex.h:12,
from /builds/linux/kernel/futex/core.c:41:
/builds/linux/arch/mips/include/asm/futex.h: In function
'arch_futex_atomic_op_inuser':
/builds/linux/arch/mips/include/asm/futex.h:89:9: error: implicit
declaration of function 'arch_futex_atomic_op_inuser_local'; did you
mean 'futex_atomic_op_inuser_local'?
[-Werror=implicit-function-declaration]
89 | ret = arch_futex_atomic_op_inuser_local(op, oparg, oval,\
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builds/linux/arch/mips/include/asm/futex.h:89:9: note: in definition
of macro '__futex_atomic_op'
89 | ret = arch_futex_atomic_op_inuser_local(op, oparg, oval,\
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builds/linux/kernel/futex/futex.h:12,
from /builds/linux/kernel/futex/core.c:41:
/builds/linux/arch/mips/include/asm/futex.h:23:39: error: invalid
storage class for function 'futex_atomic_cmpxchg_inatomic'
23 | #define futex_atomic_cmpxchg_inatomic futex_atomic_cmpxchg_inatomic
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builds/linux/arch/mips/include/asm/futex.h:133:1: note: in expansion
of macro 'futex_atomic_cmpxchg_inatomic'
133 | futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builds/linux/kernel/futex/futex.h:12,
from /builds/linux/kernel/futex/core.c:41:
/builds/linux/arch/mips/include/asm/futex.h:132:1: warning: ISO C90
forbids mixed declarations and code [-Wdeclaration-after-statement]
132 | static inline int
| ^~~~~~
In file included from /builds/linux/kernel/futex/core.c:41:
/builds/linux/kernel/futex/futex.h:33:20: error: invalid storage class
for function 'should_fail_futex'
33 | static inline bool should_fail_futex(bool fshared)
| ^~~~~~~~~~~~~~~~~
/builds/linux/kernel/futex/futex.h:134:19: error: invalid storage
class for function 'futex_match'
134 | static inline int futex_match(union futex_key *key1, union
futex_key *key2)
| ^~~~~~~~~~~
/builds/linux/kernel/futex/futex.h:169:20: error: invalid storage
class for function 'futex_queue'
169 | static inline void futex_queue(struct futex_q *q, struct
futex_hash_bucket *hb)
| ^~~~~~~~~~~
/builds/linux/kernel/futex/futex.h:183:20: error: invalid storage
class for function 'futex_hb_waiters_inc'
183 | static inline void futex_hb_waiters_inc(struct futex_hash_bucket *hb)
| ^~~~~~~~~~~~~~~~~~~~
/builds/linux/kernel/futex/futex.h:198:20: error: invalid storage
class for function 'futex_hb_waiters_dec'
198 | static inline void futex_hb_waiters_dec(struct futex_hash_bucket *hb)
| ^~~~~~~~~~~~~~~~~~~~
/builds/linux/kernel/futex/futex.h:205:19: error: invalid storage
class for function 'futex_hb_waiters_pending'
205 | static inline int futex_hb_waiters_pending(struct futex_hash_bucket *hb)
| ^~~~~~~~~~~~~~~~~~~~~~~~
/builds/linux/kernel/futex/futex.h:238:1: error: invalid storage class
for function 'double_lock_hb'
238 | double_lock_hb(struct futex_hash_bucket *hb1, struct
futex_hash_bucket *hb2)
| ^~~~~~~~~~~~~~
/builds/linux/kernel/futex/futex.h:249:1: error: invalid storage class
for function 'double_unlock_hb'
249 | double_unlock_hb(struct futex_hash_bucket *hb1, struct
futex_hash_bucket *hb2)
| ^~~~~~~~~~~~~~~~


Build config:
https://builds.tuxbuild.com/21igw2PcUSaVeHzl1QOiAUEwpkt/config


Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>

meta data:
-----------
git describe: next-20211202
git_repo: https://gitlab.com/Linaro/lkft/mirrors/next/linux-next
git_sha: 9606f9efb1cec7f8f5912326f182fbfbcad34382
git_short_log: 9606f9efb1ce (\"Add linux-next specific files for 20211202\")
target_arch: mips
toolchain: gcc-10


steps to reproduce:
tuxmake --runtime podman --target-arch mips --toolchain gcc-10
--kconfig ar7_defconfig

https://builds.tuxbuild.com/21igw2PcUSaVeHzl1QOiAUEwpkt/tuxmake_reproducer.sh

--
Linaro LKFT
https://lkft.linaro.org