All of lore.kernel.org
 help / color / mirror / Atom feed
* [csky-linux:v5.12-rc4-riscv-atomic-arch-v2 4/5] include/linux/atomic-fallback.h:1434:1: error: static declaration of 'atomic64_add_return' follows non-static declaration
@ 2021-04-17  6:50 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-04-17  6:50 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 42070 bytes --]

tree:   https://github.com/c-sky/csky-linux v5.12-rc4-riscv-atomic-arch-v2
head:   ba97cb573d12789863827bd2af6f3ccd6fdcaf19
commit: 088b40fee0c85e4837c2208142a4d8d4825395a5 [4/5] locking/atomics: Fixup GENERIC_ATOMIC64 conflict with atomic-arch-fallback.h
config: sparc64-randconfig-r035-20210416 (attached as .config)
compiler: sparc64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/c-sky/csky-linux/commit/088b40fee0c85e4837c2208142a4d8d4825395a5
        git remote add csky-linux https://github.com/c-sky/csky-linux
        git fetch --no-tags csky-linux v5.12-rc4-riscv-atomic-arch-v2
        git checkout 088b40fee0c85e4837c2208142a4d8d4825395a5
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=sparc64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   In file included from include/linux/atomic.h:84,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:1434:1: error: static declaration of 'atomic64_add_return' follows non-static declaration
    1434 | atomic64_add_return(s64 i, atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~~
   In file included from arch/sparc/include/asm/atomic_32.h:19,
                    from arch/sparc/include/asm/atomic.h:7,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   include/asm-generic/atomic64.h:27:12: note: previous declaration of 'atomic64_add_return' was here
      27 | extern s64 atomic64_##op##_return(s64 a, atomic64_t *v);
         |            ^~~~~~~~~
   include/asm-generic/atomic64.h:32:42: note: in expansion of macro 'ATOMIC64_OP_RETURN'
      32 | #define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_OP_RETURN(op) ATOMIC64_FETCH_OP(op)
         |                                          ^~~~~~~~~~~~~~~~~~
   include/asm-generic/atomic64.h:34:1: note: in expansion of macro 'ATOMIC64_OPS'
      34 | ATOMIC64_OPS(add)
         | ^~~~~~~~~~~~
   In file included from include/linux/atomic.h:84,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:1481:1: error: static declaration of 'atomic64_fetch_add' follows non-static declaration
    1481 | atomic64_fetch_add(s64 i, atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~
   In file included from arch/sparc/include/asm/atomic_32.h:19,
                    from arch/sparc/include/asm/atomic.h:7,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   include/asm-generic/atomic64.h:30:12: note: previous declaration of 'atomic64_fetch_add' was here
      30 | extern s64 atomic64_fetch_##op(s64 a, atomic64_t *v);
         |            ^~~~~~~~~~~~~~~
   include/asm-generic/atomic64.h:32:65: note: in expansion of macro 'ATOMIC64_FETCH_OP'
      32 | #define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_OP_RETURN(op) ATOMIC64_FETCH_OP(op)
         |                                                                 ^~~~~~~~~~~~~~~~~
   include/asm-generic/atomic64.h:34:1: note: in expansion of macro 'ATOMIC64_OPS'
      34 | ATOMIC64_OPS(add)
         | ^~~~~~~~~~~~
   In file included from include/linux/atomic.h:84,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:1594:1: error: redefinition of 'atomic64_inc'
    1594 | atomic64_inc(atomic64_t *v)
         | ^~~~~~~~~~~~
   In file included from arch/sparc/include/asm/atomic_32.h:19,
                    from arch/sparc/include/asm/atomic.h:7,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   include/asm-generic/atomic64.h:75:1: note: previous definition of 'atomic64_inc' was here
      75 | atomic64_inc(atomic64_t *v)
         | ^~~~~~~~~~~~
   In file included from include/linux/atomic.h:84,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:1615:1: error: redefinition of 'atomic64_inc_return'
    1615 | atomic64_inc_return(atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~~
   In file included from arch/sparc/include/asm/atomic_32.h:19,
                    from arch/sparc/include/asm/atomic.h:7,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   include/asm-generic/atomic64.h:81:1: note: previous definition of 'atomic64_inc_return' was here
      81 | atomic64_inc_return(atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~~
   In file included from include/linux/atomic.h:84,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:1701:1: error: redefinition of 'atomic64_fetch_inc'
    1701 | atomic64_fetch_inc(atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~
   In file included from arch/sparc/include/asm/atomic_32.h:19,
                    from arch/sparc/include/asm/atomic.h:7,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   include/asm-generic/atomic64.h:87:1: note: previous definition of 'atomic64_fetch_inc' was here
      87 | atomic64_fetch_inc(atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~
   In file included from include/linux/atomic.h:84,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:1777:1: error: redefinition of 'atomic64_dec'
    1777 | atomic64_dec(atomic64_t *v)
         | ^~~~~~~~~~~~
   In file included from arch/sparc/include/asm/atomic_32.h:19,
                    from arch/sparc/include/asm/atomic.h:7,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   include/asm-generic/atomic64.h:93:1: note: previous definition of 'atomic64_dec' was here
      93 | atomic64_dec(atomic64_t *v)
         | ^~~~~~~~~~~~
   In file included from include/linux/atomic.h:84,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:1798:1: error: redefinition of 'atomic64_dec_return'
    1798 | atomic64_dec_return(atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~~
   In file included from arch/sparc/include/asm/atomic_32.h:19,
                    from arch/sparc/include/asm/atomic.h:7,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   include/asm-generic/atomic64.h:99:1: note: previous definition of 'atomic64_dec_return' was here
      99 | atomic64_dec_return(atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~~
   In file included from include/linux/atomic.h:84,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:1884:1: error: redefinition of 'atomic64_fetch_dec'
    1884 | atomic64_fetch_dec(atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~
   In file included from arch/sparc/include/asm/atomic_32.h:19,
                    from arch/sparc/include/asm/atomic.h:7,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   include/asm-generic/atomic64.h:105:1: note: previous definition of 'atomic64_fetch_dec' was here
     105 | atomic64_fetch_dec(atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~
   In file included from include/linux/atomic.h:84,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:2009:1: error: redefinition of 'atomic64_andnot'
    2009 | atomic64_andnot(s64 i, atomic64_t *v)
         | ^~~~~~~~~~~~~~~
   In file included from arch/sparc/include/asm/atomic_32.h:19,
                    from arch/sparc/include/asm/atomic.h:7,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   include/asm-generic/atomic64.h:111:1: note: previous definition of 'atomic64_andnot' was here
     111 | atomic64_andnot(s64 i, atomic64_t *v)
         | ^~~~~~~~~~~~~~~
   In file included from include/linux/atomic.h:84,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:2030:1: error: redefinition of 'atomic64_fetch_andnot'
    2030 | atomic64_fetch_andnot(s64 i, atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~~~~
   In file included from arch/sparc/include/asm/atomic_32.h:19,
                    from arch/sparc/include/asm/atomic.h:7,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   include/asm-generic/atomic64.h:117:1: note: previous definition of 'atomic64_fetch_andnot' was here
     117 | atomic64_fetch_andnot(s64 i, atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/atomic.h:84,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:2234:1: error: static declaration of 'atomic64_xchg' follows non-static declaration
    2234 | atomic64_xchg(atomic64_t *v, s64 i)
         | ^~~~~~~~~~~~~
   In file included from arch/sparc/include/asm/atomic_32.h:19,
                    from arch/sparc/include/asm/atomic.h:7,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   include/asm-generic/atomic64.h:67:12: note: previous declaration of 'atomic64_xchg' was here
      67 | extern s64 atomic64_xchg(atomic64_t *v, s64 new);
         |            ^~~~~~~~~~~~~
   In file included from include/linux/atomic.h:84,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:2281:1: error: static declaration of 'atomic64_cmpxchg' follows non-static declaration
    2281 | atomic64_cmpxchg(atomic64_t *v, s64 old, s64 new)
         | ^~~~~~~~~~~~~~~~
   In file included from arch/sparc/include/asm/atomic_32.h:19,
                    from arch/sparc/include/asm/atomic.h:7,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   include/asm-generic/atomic64.h:63:12: note: previous declaration of 'atomic64_cmpxchg' was here
      63 | extern s64 atomic64_cmpxchg(atomic64_t *v, s64 o, s64 n);
         |            ^~~~~~~~~~~~~~~~
   In file included from include/linux/atomic.h:84,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:2409:1: error: conflicting types for 'atomic64_sub_and_test'
    2409 | atomic64_sub_and_test(s64 i, atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~~~~
   In file included from arch/sparc/include/asm/atomic_32.h:19,
                    from arch/sparc/include/asm/atomic.h:7,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   include/asm-generic/atomic64.h:123:1: note: previous definition of 'atomic64_sub_and_test' was here
     123 | atomic64_sub_and_test(int i, atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/atomic.h:84,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:2428:1: error: redefinition of 'atomic64_dec_and_test'
    2428 | atomic64_dec_and_test(atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~~~~
   In file included from arch/sparc/include/asm/atomic_32.h:19,
                    from arch/sparc/include/asm/atomic.h:7,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   include/asm-generic/atomic64.h:129:1: note: previous definition of 'atomic64_dec_and_test' was here
     129 | atomic64_dec_and_test(atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/atomic.h:84,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:2447:1: error: redefinition of 'atomic64_inc_and_test'
    2447 | atomic64_inc_and_test(atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~~~~
   In file included from arch/sparc/include/asm/atomic_32.h:19,
                    from arch/sparc/include/asm/atomic.h:7,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   include/asm-generic/atomic64.h:135:1: note: previous definition of 'atomic64_inc_and_test' was here
     135 | atomic64_inc_and_test(atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/atomic.h:84,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:2467:1: error: redefinition of 'atomic64_add_negative'
    2467 | atomic64_add_negative(s64 i, atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~~~~
   In file included from arch/sparc/include/asm/atomic_32.h:19,
                    from arch/sparc/include/asm/atomic.h:7,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/sparc/include/asm/bitops_32.h:102,
                    from arch/sparc/include/asm/bitops.h:7,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:11,
                    from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   include/asm-generic/atomic64.h:141:1: note: previous definition of 'atomic64_add_negative' was here
     141 | atomic64_add_negative(s64 i, atomic64_t *v)
         | ^~~~~~~~~~~~~~~~~~~~~
   In file included from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
   arch/sparc/vdso/vdso32/../vclock_gettime.c:254:1: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes]
     254 | __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts)
         | ^~~~~~~~~~~~~~~~~~~~
   arch/sparc/vdso/vdso32/../vclock_gettime.c:282:1: warning: no previous prototype for '__vdso_clock_gettime_stick' [-Wmissing-prototypes]
     282 | __vdso_clock_gettime_stick(clockid_t clock, struct __kernel_old_timespec *ts)
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/sparc/vdso/vdso32/../vclock_gettime.c:307:1: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes]
     307 | __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz)
         | ^~~~~~~~~~~~~~~~~~~
   arch/sparc/vdso/vdso32/../vclock_gettime.c:343:1: warning: no previous prototype for '__vdso_gettimeofday_stick' [-Wmissing-prototypes]
     343 | __vdso_gettimeofday_stick(struct __kernel_old_timeval *tv, struct timezone *tz)
         | ^~~~~~~~~~~~~~~~~~~~~~~~~

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for FRAME_POINTER
   Depends on DEBUG_KERNEL && (M68K || UML || SUPERH) || ARCH_WANT_FRAME_POINTERS || MCOUNT
   Selected by
   - LOCKDEP && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && !MIPS && !PPC && !ARM && !S390 && !MICROBLAZE && !ARC && !X86


vim +/atomic64_add_return +1434 include/linux/atomic-fallback.h

9fa45070a2e59a Mark Rutland   2018-09-04  1431  
9fa45070a2e59a Mark Rutland   2018-09-04  1432  #ifndef atomic64_add_return
765dcd209947e7 Marco Elver    2019-11-26  1433  static __always_inline s64
9fa45070a2e59a Mark Rutland   2018-09-04 @1434  atomic64_add_return(s64 i, atomic64_t *v)
9fa45070a2e59a Mark Rutland   2018-09-04  1435  {
9fa45070a2e59a Mark Rutland   2018-09-04  1436  	s64 ret;
9fa45070a2e59a Mark Rutland   2018-09-04  1437  	__atomic_pre_full_fence();
9fa45070a2e59a Mark Rutland   2018-09-04  1438  	ret = atomic64_add_return_relaxed(i, v);
9fa45070a2e59a Mark Rutland   2018-09-04  1439  	__atomic_post_full_fence();
9fa45070a2e59a Mark Rutland   2018-09-04  1440  	return ret;
9fa45070a2e59a Mark Rutland   2018-09-04  1441  }
9fa45070a2e59a Mark Rutland   2018-09-04  1442  #define atomic64_add_return atomic64_add_return
9fa45070a2e59a Mark Rutland   2018-09-04  1443  #endif
9fa45070a2e59a Mark Rutland   2018-09-04  1444  
9fa45070a2e59a Mark Rutland   2018-09-04  1445  #endif /* atomic64_add_return_relaxed */
9fa45070a2e59a Mark Rutland   2018-09-04  1446  
5faafd5685764e Peter Zijlstra 2020-06-25  1447  #define arch_atomic64_fetch_add atomic64_fetch_add
5faafd5685764e Peter Zijlstra 2020-06-25  1448  #define arch_atomic64_fetch_add_acquire atomic64_fetch_add_acquire
5faafd5685764e Peter Zijlstra 2020-06-25  1449  #define arch_atomic64_fetch_add_release atomic64_fetch_add_release
5faafd5685764e Peter Zijlstra 2020-06-25  1450  #define arch_atomic64_fetch_add_relaxed atomic64_fetch_add_relaxed
5faafd5685764e Peter Zijlstra 2020-06-25  1451  
9fa45070a2e59a Mark Rutland   2018-09-04  1452  #ifndef atomic64_fetch_add_relaxed
9fa45070a2e59a Mark Rutland   2018-09-04  1453  #define atomic64_fetch_add_acquire atomic64_fetch_add
9fa45070a2e59a Mark Rutland   2018-09-04  1454  #define atomic64_fetch_add_release atomic64_fetch_add
9fa45070a2e59a Mark Rutland   2018-09-04  1455  #define atomic64_fetch_add_relaxed atomic64_fetch_add
9fa45070a2e59a Mark Rutland   2018-09-04  1456  #else /* atomic64_fetch_add_relaxed */
9fa45070a2e59a Mark Rutland   2018-09-04  1457  
9fa45070a2e59a Mark Rutland   2018-09-04  1458  #ifndef atomic64_fetch_add_acquire
765dcd209947e7 Marco Elver    2019-11-26  1459  static __always_inline s64
9fa45070a2e59a Mark Rutland   2018-09-04  1460  atomic64_fetch_add_acquire(s64 i, atomic64_t *v)
9fa45070a2e59a Mark Rutland   2018-09-04  1461  {
9fa45070a2e59a Mark Rutland   2018-09-04  1462  	s64 ret = atomic64_fetch_add_relaxed(i, v);
9fa45070a2e59a Mark Rutland   2018-09-04  1463  	__atomic_acquire_fence();
9fa45070a2e59a Mark Rutland   2018-09-04  1464  	return ret;
9fa45070a2e59a Mark Rutland   2018-09-04  1465  }
9fa45070a2e59a Mark Rutland   2018-09-04  1466  #define atomic64_fetch_add_acquire atomic64_fetch_add_acquire
9fa45070a2e59a Mark Rutland   2018-09-04  1467  #endif
9fa45070a2e59a Mark Rutland   2018-09-04  1468  
9fa45070a2e59a Mark Rutland   2018-09-04  1469  #ifndef atomic64_fetch_add_release
765dcd209947e7 Marco Elver    2019-11-26  1470  static __always_inline s64
9fa45070a2e59a Mark Rutland   2018-09-04  1471  atomic64_fetch_add_release(s64 i, atomic64_t *v)
9fa45070a2e59a Mark Rutland   2018-09-04  1472  {
9fa45070a2e59a Mark Rutland   2018-09-04  1473  	__atomic_release_fence();
9fa45070a2e59a Mark Rutland   2018-09-04  1474  	return atomic64_fetch_add_relaxed(i, v);
9fa45070a2e59a Mark Rutland   2018-09-04  1475  }
9fa45070a2e59a Mark Rutland   2018-09-04  1476  #define atomic64_fetch_add_release atomic64_fetch_add_release
9fa45070a2e59a Mark Rutland   2018-09-04  1477  #endif
9fa45070a2e59a Mark Rutland   2018-09-04  1478  
9fa45070a2e59a Mark Rutland   2018-09-04  1479  #ifndef atomic64_fetch_add
765dcd209947e7 Marco Elver    2019-11-26  1480  static __always_inline s64
9fa45070a2e59a Mark Rutland   2018-09-04 @1481  atomic64_fetch_add(s64 i, atomic64_t *v)
9fa45070a2e59a Mark Rutland   2018-09-04  1482  {
9fa45070a2e59a Mark Rutland   2018-09-04  1483  	s64 ret;
9fa45070a2e59a Mark Rutland   2018-09-04  1484  	__atomic_pre_full_fence();
9fa45070a2e59a Mark Rutland   2018-09-04  1485  	ret = atomic64_fetch_add_relaxed(i, v);
9fa45070a2e59a Mark Rutland   2018-09-04  1486  	__atomic_post_full_fence();
9fa45070a2e59a Mark Rutland   2018-09-04  1487  	return ret;
9fa45070a2e59a Mark Rutland   2018-09-04  1488  }
9fa45070a2e59a Mark Rutland   2018-09-04  1489  #define atomic64_fetch_add atomic64_fetch_add
9fa45070a2e59a Mark Rutland   2018-09-04  1490  #endif
9fa45070a2e59a Mark Rutland   2018-09-04  1491  
9fa45070a2e59a Mark Rutland   2018-09-04  1492  #endif /* atomic64_fetch_add_relaxed */
9fa45070a2e59a Mark Rutland   2018-09-04  1493  
5faafd5685764e Peter Zijlstra 2020-06-25  1494  #define arch_atomic64_sub atomic64_sub
5faafd5685764e Peter Zijlstra 2020-06-25  1495  
5faafd5685764e Peter Zijlstra 2020-06-25  1496  #define arch_atomic64_sub_return atomic64_sub_return
5faafd5685764e Peter Zijlstra 2020-06-25  1497  #define arch_atomic64_sub_return_acquire atomic64_sub_return_acquire
5faafd5685764e Peter Zijlstra 2020-06-25  1498  #define arch_atomic64_sub_return_release atomic64_sub_return_release
5faafd5685764e Peter Zijlstra 2020-06-25  1499  #define arch_atomic64_sub_return_relaxed atomic64_sub_return_relaxed
5faafd5685764e Peter Zijlstra 2020-06-25  1500  
9fa45070a2e59a Mark Rutland   2018-09-04  1501  #ifndef atomic64_sub_return_relaxed
9fa45070a2e59a Mark Rutland   2018-09-04  1502  #define atomic64_sub_return_acquire atomic64_sub_return
9fa45070a2e59a Mark Rutland   2018-09-04  1503  #define atomic64_sub_return_release atomic64_sub_return
9fa45070a2e59a Mark Rutland   2018-09-04  1504  #define atomic64_sub_return_relaxed atomic64_sub_return
9fa45070a2e59a Mark Rutland   2018-09-04  1505  #else /* atomic64_sub_return_relaxed */
9fa45070a2e59a Mark Rutland   2018-09-04  1506  
9fa45070a2e59a Mark Rutland   2018-09-04  1507  #ifndef atomic64_sub_return_acquire
765dcd209947e7 Marco Elver    2019-11-26  1508  static __always_inline s64
9fa45070a2e59a Mark Rutland   2018-09-04  1509  atomic64_sub_return_acquire(s64 i, atomic64_t *v)
9fa45070a2e59a Mark Rutland   2018-09-04  1510  {
9fa45070a2e59a Mark Rutland   2018-09-04  1511  	s64 ret = atomic64_sub_return_relaxed(i, v);
9fa45070a2e59a Mark Rutland   2018-09-04  1512  	__atomic_acquire_fence();
9fa45070a2e59a Mark Rutland   2018-09-04  1513  	return ret;
9fa45070a2e59a Mark Rutland   2018-09-04  1514  }
9fa45070a2e59a Mark Rutland   2018-09-04  1515  #define atomic64_sub_return_acquire atomic64_sub_return_acquire
9fa45070a2e59a Mark Rutland   2018-09-04  1516  #endif
9fa45070a2e59a Mark Rutland   2018-09-04  1517  
9fa45070a2e59a Mark Rutland   2018-09-04  1518  #ifndef atomic64_sub_return_release
765dcd209947e7 Marco Elver    2019-11-26  1519  static __always_inline s64
9fa45070a2e59a Mark Rutland   2018-09-04  1520  atomic64_sub_return_release(s64 i, atomic64_t *v)
9fa45070a2e59a Mark Rutland   2018-09-04  1521  {
9fa45070a2e59a Mark Rutland   2018-09-04  1522  	__atomic_release_fence();
9fa45070a2e59a Mark Rutland   2018-09-04  1523  	return atomic64_sub_return_relaxed(i, v);
9fa45070a2e59a Mark Rutland   2018-09-04  1524  }
9fa45070a2e59a Mark Rutland   2018-09-04  1525  #define atomic64_sub_return_release atomic64_sub_return_release
9fa45070a2e59a Mark Rutland   2018-09-04  1526  #endif
9fa45070a2e59a Mark Rutland   2018-09-04  1527  
9fa45070a2e59a Mark Rutland   2018-09-04  1528  #ifndef atomic64_sub_return
765dcd209947e7 Marco Elver    2019-11-26  1529  static __always_inline s64
9fa45070a2e59a Mark Rutland   2018-09-04  1530  atomic64_sub_return(s64 i, atomic64_t *v)
9fa45070a2e59a Mark Rutland   2018-09-04  1531  {
9fa45070a2e59a Mark Rutland   2018-09-04  1532  	s64 ret;
9fa45070a2e59a Mark Rutland   2018-09-04  1533  	__atomic_pre_full_fence();
9fa45070a2e59a Mark Rutland   2018-09-04  1534  	ret = atomic64_sub_return_relaxed(i, v);
9fa45070a2e59a Mark Rutland   2018-09-04  1535  	__atomic_post_full_fence();
9fa45070a2e59a Mark Rutland   2018-09-04  1536  	return ret;
9fa45070a2e59a Mark Rutland   2018-09-04  1537  }
9fa45070a2e59a Mark Rutland   2018-09-04  1538  #define atomic64_sub_return atomic64_sub_return
9fa45070a2e59a Mark Rutland   2018-09-04  1539  #endif
9fa45070a2e59a Mark Rutland   2018-09-04  1540  
9fa45070a2e59a Mark Rutland   2018-09-04  1541  #endif /* atomic64_sub_return_relaxed */
9fa45070a2e59a Mark Rutland   2018-09-04  1542  
5faafd5685764e Peter Zijlstra 2020-06-25  1543  #define arch_atomic64_fetch_sub atomic64_fetch_sub
5faafd5685764e Peter Zijlstra 2020-06-25  1544  #define arch_atomic64_fetch_sub_acquire atomic64_fetch_sub_acquire
5faafd5685764e Peter Zijlstra 2020-06-25  1545  #define arch_atomic64_fetch_sub_release atomic64_fetch_sub_release
5faafd5685764e Peter Zijlstra 2020-06-25  1546  #define arch_atomic64_fetch_sub_relaxed atomic64_fetch_sub_relaxed
5faafd5685764e Peter Zijlstra 2020-06-25  1547  
9fa45070a2e59a Mark Rutland   2018-09-04  1548  #ifndef atomic64_fetch_sub_relaxed
9fa45070a2e59a Mark Rutland   2018-09-04  1549  #define atomic64_fetch_sub_acquire atomic64_fetch_sub
9fa45070a2e59a Mark Rutland   2018-09-04  1550  #define atomic64_fetch_sub_release atomic64_fetch_sub
9fa45070a2e59a Mark Rutland   2018-09-04  1551  #define atomic64_fetch_sub_relaxed atomic64_fetch_sub
9fa45070a2e59a Mark Rutland   2018-09-04  1552  #else /* atomic64_fetch_sub_relaxed */
9fa45070a2e59a Mark Rutland   2018-09-04  1553  
9fa45070a2e59a Mark Rutland   2018-09-04  1554  #ifndef atomic64_fetch_sub_acquire
765dcd209947e7 Marco Elver    2019-11-26  1555  static __always_inline s64
9fa45070a2e59a Mark Rutland   2018-09-04  1556  atomic64_fetch_sub_acquire(s64 i, atomic64_t *v)
9fa45070a2e59a Mark Rutland   2018-09-04  1557  {
9fa45070a2e59a Mark Rutland   2018-09-04  1558  	s64 ret = atomic64_fetch_sub_relaxed(i, v);
9fa45070a2e59a Mark Rutland   2018-09-04  1559  	__atomic_acquire_fence();
9fa45070a2e59a Mark Rutland   2018-09-04  1560  	return ret;
9fa45070a2e59a Mark Rutland   2018-09-04  1561  }
9fa45070a2e59a Mark Rutland   2018-09-04  1562  #define atomic64_fetch_sub_acquire atomic64_fetch_sub_acquire
9fa45070a2e59a Mark Rutland   2018-09-04  1563  #endif
9fa45070a2e59a Mark Rutland   2018-09-04  1564  
9fa45070a2e59a Mark Rutland   2018-09-04  1565  #ifndef atomic64_fetch_sub_release
765dcd209947e7 Marco Elver    2019-11-26  1566  static __always_inline s64
9fa45070a2e59a Mark Rutland   2018-09-04  1567  atomic64_fetch_sub_release(s64 i, atomic64_t *v)
9fa45070a2e59a Mark Rutland   2018-09-04  1568  {
9fa45070a2e59a Mark Rutland   2018-09-04  1569  	__atomic_release_fence();
9fa45070a2e59a Mark Rutland   2018-09-04  1570  	return atomic64_fetch_sub_relaxed(i, v);
9fa45070a2e59a Mark Rutland   2018-09-04  1571  }
9fa45070a2e59a Mark Rutland   2018-09-04  1572  #define atomic64_fetch_sub_release atomic64_fetch_sub_release
9fa45070a2e59a Mark Rutland   2018-09-04  1573  #endif
9fa45070a2e59a Mark Rutland   2018-09-04  1574  
9fa45070a2e59a Mark Rutland   2018-09-04  1575  #ifndef atomic64_fetch_sub
765dcd209947e7 Marco Elver    2019-11-26  1576  static __always_inline s64
9fa45070a2e59a Mark Rutland   2018-09-04  1577  atomic64_fetch_sub(s64 i, atomic64_t *v)
9fa45070a2e59a Mark Rutland   2018-09-04  1578  {
9fa45070a2e59a Mark Rutland   2018-09-04  1579  	s64 ret;
9fa45070a2e59a Mark Rutland   2018-09-04  1580  	__atomic_pre_full_fence();
9fa45070a2e59a Mark Rutland   2018-09-04  1581  	ret = atomic64_fetch_sub_relaxed(i, v);
9fa45070a2e59a Mark Rutland   2018-09-04  1582  	__atomic_post_full_fence();
9fa45070a2e59a Mark Rutland   2018-09-04  1583  	return ret;
9fa45070a2e59a Mark Rutland   2018-09-04  1584  }
9fa45070a2e59a Mark Rutland   2018-09-04  1585  #define atomic64_fetch_sub atomic64_fetch_sub
9fa45070a2e59a Mark Rutland   2018-09-04  1586  #endif
9fa45070a2e59a Mark Rutland   2018-09-04  1587  
9fa45070a2e59a Mark Rutland   2018-09-04  1588  #endif /* atomic64_fetch_sub_relaxed */
9fa45070a2e59a Mark Rutland   2018-09-04  1589  
5faafd5685764e Peter Zijlstra 2020-06-25  1590  #define arch_atomic64_inc atomic64_inc
5faafd5685764e Peter Zijlstra 2020-06-25  1591  
9fa45070a2e59a Mark Rutland   2018-09-04  1592  #ifndef atomic64_inc
765dcd209947e7 Marco Elver    2019-11-26  1593  static __always_inline void
9fa45070a2e59a Mark Rutland   2018-09-04 @1594  atomic64_inc(atomic64_t *v)
9fa45070a2e59a Mark Rutland   2018-09-04  1595  {
9fa45070a2e59a Mark Rutland   2018-09-04  1596  	atomic64_add(1, v);
9fa45070a2e59a Mark Rutland   2018-09-04  1597  }
9fa45070a2e59a Mark Rutland   2018-09-04  1598  #define atomic64_inc atomic64_inc
9fa45070a2e59a Mark Rutland   2018-09-04  1599  #endif
9fa45070a2e59a Mark Rutland   2018-09-04  1600  
5faafd5685764e Peter Zijlstra 2020-06-25  1601  #define arch_atomic64_inc_return atomic64_inc_return
5faafd5685764e Peter Zijlstra 2020-06-25  1602  #define arch_atomic64_inc_return_acquire atomic64_inc_return_acquire
5faafd5685764e Peter Zijlstra 2020-06-25  1603  #define arch_atomic64_inc_return_release atomic64_inc_return_release
5faafd5685764e Peter Zijlstra 2020-06-25  1604  #define arch_atomic64_inc_return_relaxed atomic64_inc_return_relaxed
5faafd5685764e Peter Zijlstra 2020-06-25  1605  
9fa45070a2e59a Mark Rutland   2018-09-04  1606  #ifndef atomic64_inc_return_relaxed
9fa45070a2e59a Mark Rutland   2018-09-04  1607  #ifdef atomic64_inc_return
9fa45070a2e59a Mark Rutland   2018-09-04  1608  #define atomic64_inc_return_acquire atomic64_inc_return
9fa45070a2e59a Mark Rutland   2018-09-04  1609  #define atomic64_inc_return_release atomic64_inc_return
9fa45070a2e59a Mark Rutland   2018-09-04  1610  #define atomic64_inc_return_relaxed atomic64_inc_return
9fa45070a2e59a Mark Rutland   2018-09-04  1611  #endif /* atomic64_inc_return */
9fa45070a2e59a Mark Rutland   2018-09-04  1612  
9fa45070a2e59a Mark Rutland   2018-09-04  1613  #ifndef atomic64_inc_return
765dcd209947e7 Marco Elver    2019-11-26  1614  static __always_inline s64
9fa45070a2e59a Mark Rutland   2018-09-04 @1615  atomic64_inc_return(atomic64_t *v)
9fa45070a2e59a Mark Rutland   2018-09-04  1616  {
9fa45070a2e59a Mark Rutland   2018-09-04  1617  	return atomic64_add_return(1, v);
9fa45070a2e59a Mark Rutland   2018-09-04  1618  }
9fa45070a2e59a Mark Rutland   2018-09-04  1619  #define atomic64_inc_return atomic64_inc_return
9fa45070a2e59a Mark Rutland   2018-09-04  1620  #endif
9fa45070a2e59a Mark Rutland   2018-09-04  1621  

:::::: The code at line 1434 was first introduced by commit
:::::: 9fa45070a2e59a871e1cd3370173369f3a4f61e2 locking/atomics: Switch to generated fallbacks

:::::: TO: Mark Rutland <mark.rutland@arm.com>
:::::: CC: Ingo Molnar <mingo@kernel.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 27919 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-04-17  6:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-17  6:50 [csky-linux:v5.12-rc4-riscv-atomic-arch-v2 4/5] include/linux/atomic-fallback.h:1434:1: error: static declaration of 'atomic64_add_return' follows non-static declaration kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.