Re: [PATCH v3 1/9] kcsan: Add Kernel Concurrency Sanitizer infrastructure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Marco,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.4-rc6]
[cannot apply to next-20191106]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Marco-Elver/Add-Kernel-Concurrency-Sanitizer-KCSAN/20191105-002542
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a99d8080aaf358d5d23581244e5da23b35e340b9
config: x86_64-randconfig-a001-201944 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.2-10+deb8u1) 4.9.2
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   In file included from include/linux/compiler_types.h:59:0,
                    from <command-line>:0:
>> include/linux/compiler_attributes.h:35:29: error: "__GCC4_has_attribute___no_sanitize_thread__" is not defined [-Werror=undef]
    # define __has_attribute(x) __GCC4_has_attribute_##x
                                ^
   include/linux/compiler-gcc.h:148:5: note: in expansion of macro '__has_attribute'
    #if __has_attribute(__no_sanitize_thread__) && defined(__SANITIZE_THREAD__)
        ^
   cc1: all warnings being treated as errors

vim +/__GCC4_has_attribute___no_sanitize_thread__ +35 include/linux/compiler_attributes.h

a3f8a30f3f0079 Miguel Ojeda 2018-08-30   4  
a3f8a30f3f0079 Miguel Ojeda 2018-08-30   5  /*
a3f8a30f3f0079 Miguel Ojeda 2018-08-30   6   * The attributes in this file are unconditionally defined and they directly
24efee412c7584 Miguel Ojeda 2018-11-06   7   * map to compiler attribute(s), unless one of the compilers does not support
24efee412c7584 Miguel Ojeda 2018-11-06   8   * the attribute. In that case, __has_attribute is used to check for support
24efee412c7584 Miguel Ojeda 2018-11-06   9   * and the reason is stated in its comment ("Optional: ...").
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  10   *
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  11   * Any other "attributes" (i.e. those that depend on a configuration option,
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  12   * on a compiler, on an architecture, on plugins, on other attributes...)
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  13   * should be defined elsewhere (e.g. compiler_types.h or compiler-*.h).
24efee412c7584 Miguel Ojeda 2018-11-06  14   * The intention is to keep this file as simple as possible, as well as
24efee412c7584 Miguel Ojeda 2018-11-06  15   * compiler- and version-agnostic (e.g. avoiding GCC_VERSION checks).
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  16   *
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  17   * This file is meant to be sorted (by actual attribute name,
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  18   * not by #define identifier). Use the __attribute__((__name__)) syntax
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  19   * (i.e. with underscores) to avoid future collisions with other macros.
24efee412c7584 Miguel Ojeda 2018-11-06  20   * Provide links to the documentation of each supported compiler, if it exists.
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  21   */
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  22  
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  23  /*
24efee412c7584 Miguel Ojeda 2018-11-06  24   * __has_attribute is supported on gcc >= 5, clang >= 2.9 and icc >= 17.
24efee412c7584 Miguel Ojeda 2018-11-06  25   * In the meantime, to support 4.6 <= gcc < 5, we implement __has_attribute
24efee412c7584 Miguel Ojeda 2018-11-06  26   * by hand.
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  27   *
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  28   * sparse does not support __has_attribute (yet) and defines __GNUC_MINOR__
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  29   * depending on the compiler used to build it; however, these attributes have
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  30   * no semantic effects for sparse, so it does not matter. Also note that,
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  31   * in order to avoid sparse's warnings, even the unsupported ones must be
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  32   * defined to 0.
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  33   */
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  34  #ifndef __has_attribute
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 @35  # define __has_attribute(x) __GCC4_has_attribute_##x
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  36  # define __GCC4_has_attribute___assume_aligned__      (__GNUC_MINOR__ >= 9)
c0d9782f5b6d71 Miguel Ojeda 2019-02-08  37  # define __GCC4_has_attribute___copy__                0
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  38  # define __GCC4_has_attribute___designated_init__     0
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  39  # define __GCC4_has_attribute___externally_visible__  1
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  40  # define __GCC4_has_attribute___noclone__             1
92676236917d8e Miguel Ojeda 2018-09-19  41  # define __GCC4_has_attribute___nonstring__           0
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  42  # define __GCC4_has_attribute___no_sanitize_address__ (__GNUC_MINOR__ >= 8)
294f69e662d157 Joe Perches  2019-10-05  43  # define __GCC4_has_attribute___fallthrough__         0
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  44  #endif
a3f8a30f3f0079 Miguel Ojeda 2018-08-30  45  

:::::: The code at line 35 was first introduced by commit
:::::: a3f8a30f3f0079c7edfc72e329eee8594fb3e3cb Compiler Attributes: use feature checks instead of version checks

:::::: TO: Miguel Ojeda <miguel.ojeda.sandonis@xxxxxxxxx>
:::::: CC: Miguel Ojeda <miguel.ojeda.sandonis@xxxxxxxxx>

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux