• Yury Norov's avatar
    lib/bitmap: workaround const_eval test build failure · 2356d198
    Yury Norov authored
    When building with Clang, and when KASAN and GCOV_PROFILE_ALL are both
    enabled, the test fails to build [1]:
    
    >> lib/test_bitmap.c:920:2: error: call to '__compiletime_assert_239' declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(res)
               BUILD_BUG_ON(!__builtin_constant_p(res));
               ^
       include/linux/build_bug.h:50:2: note: expanded from macro 'BUILD_BUG_ON'
               BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
               ^
       include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
       #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                           ^
       include/linux/compiler_types.h:352:2: note: expanded from macro 'compiletime_assert'
               _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
               ^
       include/linux/compiler_types.h:340:2: note: expanded from macro '_compiletime_assert'
               __compiletime_assert(condition, msg, prefix, suffix)
               ^
       include/linux/compiler_types.h:333:4: note: expanded from macro '__compiletime_assert'
                               prefix ## suffix();                             \
                               ^
       <scratch space>:185:1: note: expanded from here
       __compiletime_assert_239
    
    Originally it was attributed to s390, which now looks seemingly wrong. The
    issue is not related to bitmap code itself, but it breaks build for a given
    configuration.
    
    Disabling the const_eval test under that config may potentially hide other
    bugs. Instead, workaround it by disabling GCOV for the test_bitmap unless
    the compiler will get fixed.
    
    [1] https://github.com/ClangBuiltLinux/linux/issues/1874Reported-by: default avatarkernel test robot <lkp@intel.com>
    Closes: https://lore.kernel.org/oe-kbuild-all/202307171254.yFcH97ej-lkp@intel.com/
    Fixes: dc34d503 ("lib: test_bitmap: add compile-time optimization/evaluations assertions")
    Co-developed-by: default avatarNathan Chancellor <nathan@kernel.org>
    Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
    Signed-off-by: default avatarYury Norov <yury.norov@gmail.com>
    Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
    Reviewed-by: default avatarAlexander Lobakin <aleksander.lobakin@intel.com>
    2356d198
Makefile 15 KB