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 All errors (new ones prefixed by >>): In file included from include/linux/compiler_types.h:59:0, from :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 :::::: CC: Miguel Ojeda --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation