lkml.org 
[lkml]   [2023]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v2] Makefile.extrawarn: enable -Wmissing-variable-declarations for W=1
    On Tue, Aug 8, 2023 at 1:03 AM kernel test robot <lkp@intel.com> wrote:
    >
    > Hi Nick,
    >
    > kernel test robot noticed the following build errors:
    >
    > [auto build test ERROR on 52a93d39b17dc7eb98b6aa3edb93943248e03b2f]
    >
    > url: https://github.com/intel-lab-lkp/linux/commits/Nick-Desaulniers/Makefile-extrawarn-enable-Wmissing-variable-declarations-for-W-1/20230808-005859
    > base: 52a93d39b17dc7eb98b6aa3edb93943248e03b2f
    > patch link: https://lore.kernel.org/r/20230807-missing_proto-v2-1-3ae2e188bb0c%40google.com
    > patch subject: [PATCH v2] Makefile.extrawarn: enable -Wmissing-variable-declarations for W=1
    > config: arm64-randconfig-r013-20230807 (https://download.01.org/0day-ci/archive/20230808/202308081508.EI3CRzQo-lkp@intel.com/config)
    > compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
    > reproduce: (https://download.01.org/0day-ci/archive/20230808/202308081508.EI3CRzQo-lkp@intel.com/reproduce)
    >
    > If you fix the issue in a separate patch/commit (i.e. not just a new version of
    > the same patch/commit), kindly add following tags
    > | Reported-by: kernel test robot <lkp@intel.com>
    > | Closes: https://lore.kernel.org/oe-kbuild-all/202308081508.EI3CRzQo-lkp@intel.com/
    >
    > All errors (new ones prefixed by >>):
    >
    > In file included from lib/test_bitops.c:9:
    > In file included from include/linux/module.h:13:
    > In file included from include/linux/stat.h:19:
    > In file included from include/linux/time.h:60:
    > In file included from include/linux/time32.h:13:
    > In file included from include/linux/timex.h:67:
    > In file included from arch/arm64/include/asm/timex.h:8:
    > In file included from arch/arm64/include/asm/arch_timer.h:18:
    > In file included from include/linux/smp.h:110:
    > In file included from include/linux/preempt.h:79:
    > In file included from arch/arm64/include/asm/preempt.h:6:
    > In file included from include/linux/thread_info.h:60:
    > In file included from arch/arm64/include/asm/thread_info.h:18:
    > >> arch/arm64/include/asm/stack_pointer.h:8:24: error: no previous extern declaration for non-static variable 'current_stack_pointer' [-Werror,-Wmissing-variable-declarations]
    > 8 | register unsigned long current_stack_pointer asm ("sp");
    > | ^
    > arch/arm64/include/asm/stack_pointer.h:8:10: note: declare 'static' if the variable is not intended to be used outside of this translation unit
    > 8 | register unsigned long current_stack_pointer asm ("sp");
    > | ^

    I actually don't think that either compiler should warn for variables
    with register storage. I spoke briefly with some GCC folks on IRC and
    the initial assesment was agreed. I've filed
    - https://github.com/llvm/llvm-project/issues/64509
    - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110947

    Also, I've received 3 emails from zero day; this is expected as the
    tree is not W=1 clean (actually, I think Arnd has been a lot of
    cleanup around these groups of warnings, so I take that back). What's
    more curious to me is that none are GCC builds. I wonder if 0day bot
    team is only testing W=1 with clang and not GCC? That would seem like
    perhaps the bar is higher for LLVM?

    Masahiro, Nathan,
    What are your thoughts on how to proceed here? Do we need the tree to
    be free of warnings before it can be added to W=1? Hopefully not; I
    would think that's the criteria for promoting a warning from being
    hidden behind W=1 to being on by default in the top level Makefile.
    What are your thoughts?

    > 1 error generated.
    >
    >
    > vim +/current_stack_pointer +8 arch/arm64/include/asm/stack_pointer.h
    >
    > a9ea0017ebe888 Mark Rutland 2016-11-03 4
    > a9ea0017ebe888 Mark Rutland 2016-11-03 5 /*
    > a9ea0017ebe888 Mark Rutland 2016-11-03 6 * how to get the current stack pointer from C
    > a9ea0017ebe888 Mark Rutland 2016-11-03 7 */
    > a9ea0017ebe888 Mark Rutland 2016-11-03 @8 register unsigned long current_stack_pointer asm ("sp");
    > a9ea0017ebe888 Mark Rutland 2016-11-03 9
    >
    > --
    > 0-DAY CI Kernel Test Service
    > https://github.com/intel/lkp-tests/wiki



    --
    Thanks,
    ~Nick Desaulniers

    \
     
     \ /
      Last update: 2023-08-08 19:07    [W:7.977 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site