Hi David, I love your patch! Perhaps something to improve: [auto build test WARNING on kees/for-next/pstore] [also build test WARNING on linus/master v6.1-rc1 next-20221021] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/David-Gow/kunit-Provide-a-static-key-to-check-if-KUnit-is-actively-running-tests/20221021-153225 base: https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/pstore patch link: https://lore.kernel.org/r/20221021072854.333010-2-davidgow%40google.com patch subject: [PATCH 2/2] kunit: Use the static key in kunit_fail_current_test() config: x86_64-rhel-8.3-kunit compiler: gcc-11 (Debian 11.3.0-8) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/6a21df30828089657bb7d56ce48a6188a4468878 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review David-Gow/kunit-Provide-a-static-key-to-check-if-KUnit-is-actively-running-tests/20221021-153225 git checkout 6a21df30828089657bb7d56ce48a6188a4468878 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All warnings (new ones prefixed by >>): lib/ubsan.c: In function 'ubsan_prologue': lib/ubsan.c:149:1: error: expected 'while' before 'static' 149 | static void ubsan_epilogue(void) | ^~~~~~ lib/ubsan.c: In function '__ubsan_handle_divrem_overflow': lib/ubsan.c:179:9: error: implicit declaration of function 'ubsan_epilogue'; did you mean 'ubsan_prologue'? [-Werror=implicit-function-declaration] 179 | ubsan_epilogue(); | ^~~~~~~~~~~~~~ | ubsan_prologue lib/ubsan.c: In function 'ubsan_prologue': lib/ubsan.c:161:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 161 | void __ubsan_handle_divrem_overflow(void *_data, void *lhs, void *rhs) | ^~~~ In file included from include/linux/linkage.h:7, from include/linux/printk.h:8, from include/asm-generic/bug.h:22, from arch/x86/include/asm/bug.h:87, from include/linux/bug.h:5, from lib/ubsan.c:10: lib/ubsan.c:181:15: error: non-static declaration of '__ubsan_handle_divrem_overflow' follows static declaration 181 | EXPORT_SYMBOL(__ubsan_handle_divrem_overflow); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/export.h:87:28: note: in definition of macro '___EXPORT_SYMBOL' 87 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:181:1: note: in expansion of macro 'EXPORT_SYMBOL' 181 | EXPORT_SYMBOL(__ubsan_handle_divrem_overflow); | ^~~~~~~~~~~~~ lib/ubsan.c:161:6: note: previous definition of '__ubsan_handle_divrem_overflow' with type 'void(void *, void *, void *)' 161 | void __ubsan_handle_divrem_overflow(void *_data, void *lhs, void *rhs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/build_bug.h:5, from include/linux/bits.h:22, from include/linux/bitops.h:6, from lib/ubsan.c:9: >> include/linux/compiler.h:215:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 215 | static void * __used __attrs \ | ^~~~~~ include/linux/compiler.h:218:9: note: in expansion of macro '___ADDRESSABLE' 218 | ___ADDRESSABLE(sym, __section(".discard.addressable")) | ^~~~~~~~~~~~~~ include/linux/export.h:41:9: note: in expansion of macro '__ADDRESSABLE' 41 | __ADDRESSABLE(sym) \ | ^~~~~~~~~~~~~ include/linux/export.h:96:9: note: in expansion of macro '__KSYMTAB_ENTRY' 96 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:181:1: note: in expansion of macro 'EXPORT_SYMBOL' 181 | EXPORT_SYMBOL(__ubsan_handle_divrem_overflow); | ^~~~~~~~~~~~~ lib/ubsan.c:183:13: error: invalid storage class for function 'handle_null_ptr_deref' 183 | static void handle_null_ptr_deref(struct type_mismatch_data_common *data) | ^~~~~~~~~~~~~~~~~~~~~ lib/ubsan.c:183:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 183 | static void handle_null_ptr_deref(struct type_mismatch_data_common *data) | ^~~~~~ lib/ubsan.c:197:13: error: invalid storage class for function 'handle_misaligned_access' 197 | static void handle_misaligned_access(struct type_mismatch_data_common *data, | ^~~~~~~~~~~~~~~~~~~~~~~~ lib/ubsan.c:213:13: error: invalid storage class for function 'handle_object_size_mismatch' 213 | static void handle_object_size_mismatch(struct type_mismatch_data_common *data, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/ubsan.c:227:13: error: invalid storage class for function 'ubsan_type_mismatch_common' 227 | static void ubsan_type_mismatch_common(struct type_mismatch_data_common *data, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/linkage.h:7, from include/linux/printk.h:8, from include/asm-generic/bug.h:22, from arch/x86/include/asm/bug.h:87, from include/linux/bug.h:5, from lib/ubsan.c:10: lib/ubsan.c:254:15: error: non-static declaration of '__ubsan_handle_type_mismatch' follows static declaration 254 | EXPORT_SYMBOL(__ubsan_handle_type_mismatch); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/export.h:87:28: note: in definition of macro '___EXPORT_SYMBOL' 87 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:254:1: note: in expansion of macro 'EXPORT_SYMBOL' 254 | EXPORT_SYMBOL(__ubsan_handle_type_mismatch); | ^~~~~~~~~~~~~ lib/ubsan.c:242:6: note: previous definition of '__ubsan_handle_type_mismatch' with type 'void(struct type_mismatch_data *, void *)' 242 | void __ubsan_handle_type_mismatch(struct type_mismatch_data *data, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/build_bug.h:5, from include/linux/bits.h:22, from include/linux/bitops.h:6, from lib/ubsan.c:9: >> include/linux/compiler.h:215:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 215 | static void * __used __attrs \ | ^~~~~~ include/linux/compiler.h:218:9: note: in expansion of macro '___ADDRESSABLE' 218 | ___ADDRESSABLE(sym, __section(".discard.addressable")) | ^~~~~~~~~~~~~~ include/linux/export.h:41:9: note: in expansion of macro '__ADDRESSABLE' 41 | __ADDRESSABLE(sym) \ | ^~~~~~~~~~~~~ include/linux/export.h:96:9: note: in expansion of macro '__KSYMTAB_ENTRY' 96 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:254:1: note: in expansion of macro 'EXPORT_SYMBOL' 254 | EXPORT_SYMBOL(__ubsan_handle_type_mismatch); | ^~~~~~~~~~~~~ lib/ubsan.c:256:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 256 | void __ubsan_handle_type_mismatch_v1(void *_data, void *ptr) | ^~~~ In file included from include/linux/linkage.h:7, from include/linux/printk.h:8, from include/asm-generic/bug.h:22, from arch/x86/include/asm/bug.h:87, from include/linux/bug.h:5, from lib/ubsan.c:10: lib/ubsan.c:268:15: error: non-static declaration of '__ubsan_handle_type_mismatch_v1' follows static declaration 268 | EXPORT_SYMBOL(__ubsan_handle_type_mismatch_v1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/export.h:87:28: note: in definition of macro '___EXPORT_SYMBOL' 87 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:268:1: note: in expansion of macro 'EXPORT_SYMBOL' 268 | EXPORT_SYMBOL(__ubsan_handle_type_mismatch_v1); | ^~~~~~~~~~~~~ lib/ubsan.c:256:6: note: previous definition of '__ubsan_handle_type_mismatch_v1' with type 'void(void *, void *)' 256 | void __ubsan_handle_type_mismatch_v1(void *_data, void *ptr) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/build_bug.h:5, from include/linux/bits.h:22, from include/linux/bitops.h:6, from lib/ubsan.c:9: >> include/linux/compiler.h:215:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 215 | static void * __used __attrs \ | ^~~~~~ include/linux/compiler.h:218:9: note: in expansion of macro '___ADDRESSABLE' 218 | ___ADDRESSABLE(sym, __section(".discard.addressable")) | ^~~~~~~~~~~~~~ include/linux/export.h:41:9: note: in expansion of macro '__ADDRESSABLE' 41 | __ADDRESSABLE(sym) \ | ^~~~~~~~~~~~~ include/linux/export.h:96:9: note: in expansion of macro '__KSYMTAB_ENTRY' 96 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:268:1: note: in expansion of macro 'EXPORT_SYMBOL' 268 | EXPORT_SYMBOL(__ubsan_handle_type_mismatch_v1); | ^~~~~~~~~~~~~ lib/ubsan.c:270:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 270 | void __ubsan_handle_out_of_bounds(void *_data, void *index) | ^~~~ In file included from include/linux/linkage.h:7, from include/linux/printk.h:8, from include/asm-generic/bug.h:22, from arch/x86/include/asm/bug.h:87, from include/linux/bug.h:5, from lib/ubsan.c:10: lib/ubsan.c:285:15: error: non-static declaration of '__ubsan_handle_out_of_bounds' follows static declaration 285 | EXPORT_SYMBOL(__ubsan_handle_out_of_bounds); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/export.h:87:28: note: in definition of macro '___EXPORT_SYMBOL' 87 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:285:1: note: in expansion of macro 'EXPORT_SYMBOL' 285 | EXPORT_SYMBOL(__ubsan_handle_out_of_bounds); | ^~~~~~~~~~~~~ lib/ubsan.c:270:6: note: previous definition of '__ubsan_handle_out_of_bounds' with type 'void(void *, void *)' 270 | void __ubsan_handle_out_of_bounds(void *_data, void *index) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/build_bug.h:5, from include/linux/bits.h:22, from include/linux/bitops.h:6, from lib/ubsan.c:9: >> include/linux/compiler.h:215:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 215 | static void * __used __attrs \ | ^~~~~~ include/linux/compiler.h:218:9: note: in expansion of macro '___ADDRESSABLE' 218 | ___ADDRESSABLE(sym, __section(".discard.addressable")) | ^~~~~~~~~~~~~~ include/linux/export.h:41:9: note: in expansion of macro '__ADDRESSABLE' 41 | __ADDRESSABLE(sym) \ | ^~~~~~~~~~~~~ include/linux/export.h:96:9: note: in expansion of macro '__KSYMTAB_ENTRY' 96 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:285:1: note: in expansion of macro 'EXPORT_SYMBOL' 285 | EXPORT_SYMBOL(__ubsan_handle_out_of_bounds); | ^~~~~~~~~~~~~ lib/ubsan.c:287:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 287 | void __ubsan_handle_shift_out_of_bounds(void *_data, void *lhs, void *rhs) | ^~~~ In file included from include/linux/linkage.h:7, from include/linux/printk.h:8, from include/asm-generic/bug.h:22, from arch/x86/include/asm/bug.h:87, from include/linux/bug.h:5, from lib/ubsan.c:10: lib/ubsan.c:326:15: error: non-static declaration of '__ubsan_handle_shift_out_of_bounds' follows static declaration 326 | EXPORT_SYMBOL(__ubsan_handle_shift_out_of_bounds); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/export.h:87:28: note: in definition of macro '___EXPORT_SYMBOL' 87 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:326:1: note: in expansion of macro 'EXPORT_SYMBOL' 326 | EXPORT_SYMBOL(__ubsan_handle_shift_out_of_bounds); | ^~~~~~~~~~~~~ lib/ubsan.c:287:6: note: previous definition of '__ubsan_handle_shift_out_of_bounds' with type 'void(void *, void *, void *)' 287 | void __ubsan_handle_shift_out_of_bounds(void *_data, void *lhs, void *rhs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/build_bug.h:5, from include/linux/bits.h:22, from include/linux/bitops.h:6, from lib/ubsan.c:9: >> include/linux/compiler.h:215:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 215 | static void * __used __attrs \ | ^~~~~~ include/linux/compiler.h:218:9: note: in expansion of macro '___ADDRESSABLE' 218 | ___ADDRESSABLE(sym, __section(".discard.addressable")) | ^~~~~~~~~~~~~~ include/linux/export.h:41:9: note: in expansion of macro '__ADDRESSABLE' 41 | __ADDRESSABLE(sym) \ | ^~~~~~~~~~~~~ include/linux/export.h:96:9: note: in expansion of macro '__KSYMTAB_ENTRY' 96 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:326:1: note: in expansion of macro 'EXPORT_SYMBOL' 326 | EXPORT_SYMBOL(__ubsan_handle_shift_out_of_bounds); | ^~~~~~~~~~~~~ lib/ubsan.c:329:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 329 | void __ubsan_handle_builtin_unreachable(void *_data) | ^~~~ In file included from include/linux/linkage.h:7, from include/linux/printk.h:8, from include/asm-generic/bug.h:22, from arch/x86/include/asm/bug.h:87, from include/linux/bug.h:5, from lib/ubsan.c:10: lib/ubsan.c:337:15: error: non-static declaration of '__ubsan_handle_builtin_unreachable' follows static declaration 337 | EXPORT_SYMBOL(__ubsan_handle_builtin_unreachable); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/export.h:87:28: note: in definition of macro '___EXPORT_SYMBOL' 87 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:337:1: note: in expansion of macro 'EXPORT_SYMBOL' 337 | EXPORT_SYMBOL(__ubsan_handle_builtin_unreachable); | ^~~~~~~~~~~~~ lib/ubsan.c:329:6: note: previous definition of '__ubsan_handle_builtin_unreachable' with type 'void(void *)' 329 | void __ubsan_handle_builtin_unreachable(void *_data) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/build_bug.h:5, from include/linux/bits.h:22, from include/linux/bitops.h:6, from lib/ubsan.c:9: >> include/linux/compiler.h:215:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 215 | static void * __used __attrs \ | ^~~~~~ include/linux/compiler.h:218:9: note: in expansion of macro '___ADDRESSABLE' 218 | ___ADDRESSABLE(sym, __section(".discard.addressable")) | ^~~~~~~~~~~~~~ include/linux/export.h:41:9: note: in expansion of macro '__ADDRESSABLE' 41 | __ADDRESSABLE(sym) \ | ^~~~~~~~~~~~~ include/linux/export.h:96:9: note: in expansion of macro '__KSYMTAB_ENTRY' 96 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:337:1: note: in expansion of macro 'EXPORT_SYMBOL' 337 | EXPORT_SYMBOL(__ubsan_handle_builtin_unreachable); | ^~~~~~~~~~~~~ lib/ubsan.c:339:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 339 | void __ubsan_handle_load_invalid_value(void *_data, void *val) | ^~~~ In file included from include/linux/linkage.h:7, from include/linux/printk.h:8, from include/asm-generic/bug.h:22, from arch/x86/include/asm/bug.h:87, from include/linux/bug.h:5, from lib/ubsan.c:10: lib/ubsan.c:356:15: error: non-static declaration of '__ubsan_handle_load_invalid_value' follows static declaration 356 | EXPORT_SYMBOL(__ubsan_handle_load_invalid_value); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/export.h:87:28: note: in definition of macro '___EXPORT_SYMBOL' 87 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:356:1: note: in expansion of macro 'EXPORT_SYMBOL' 356 | EXPORT_SYMBOL(__ubsan_handle_load_invalid_value); | ^~~~~~~~~~~~~ lib/ubsan.c:339:6: note: previous definition of '__ubsan_handle_load_invalid_value' with type 'void(void *, void *)' 339 | void __ubsan_handle_load_invalid_value(void *_data, void *val) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/build_bug.h:5, from include/linux/bits.h:22, from include/linux/bitops.h:6, from lib/ubsan.c:9: >> include/linux/compiler.h:215:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 215 | static void * __used __attrs \ | ^~~~~~ include/linux/compiler.h:218:9: note: in expansion of macro '___ADDRESSABLE' 218 | ___ADDRESSABLE(sym, __section(".discard.addressable")) | ^~~~~~~~~~~~~~ include/linux/export.h:41:9: note: in expansion of macro '__ADDRESSABLE' 41 | __ADDRESSABLE(sym) \ | ^~~~~~~~~~~~~ include/linux/export.h:96:9: note: in expansion of macro '__KSYMTAB_ENTRY' 96 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:356:1: note: in expansion of macro 'EXPORT_SYMBOL' 356 | EXPORT_SYMBOL(__ubsan_handle_load_invalid_value); | ^~~~~~~~~~~~~ lib/ubsan.c:358:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 358 | void __ubsan_handle_alignment_assumption(void *_data, unsigned long ptr, | ^~~~ lib/ubsan.c:361:6: error: static declaration of '__ubsan_handle_alignment_assumption' follows non-static declaration 361 | void __ubsan_handle_alignment_assumption(void *_data, unsigned long ptr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/ubsan.c:358:6: note: previous declaration of '__ubsan_handle_alignment_assumption' with type 'void(void *, long unsigned int, long unsigned int, long unsigned int)' 358 | void __ubsan_handle_alignment_assumption(void *_data, unsigned long ptr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/linkage.h:7, from include/linux/printk.h:8, from include/asm-generic/bug.h:22, from arch/x86/include/asm/bug.h:87, from include/linux/bug.h:5, from lib/ubsan.c:10: lib/ubsan.c:387:15: error: non-static declaration of '__ubsan_handle_alignment_assumption' follows static declaration 387 | EXPORT_SYMBOL(__ubsan_handle_alignment_assumption); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/export.h:87:28: note: in definition of macro '___EXPORT_SYMBOL' 87 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:387:1: note: in expansion of macro 'EXPORT_SYMBOL' 387 | EXPORT_SYMBOL(__ubsan_handle_alignment_assumption); | ^~~~~~~~~~~~~ lib/ubsan.c:361:6: note: previous definition of '__ubsan_handle_alignment_assumption' with type 'void(void *, long unsigned int, long unsigned int, long unsigned int)' 361 | void __ubsan_handle_alignment_assumption(void *_data, unsigned long ptr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/build_bug.h:5, from include/linux/bits.h:22, from include/linux/bitops.h:6, from lib/ubsan.c:9: >> include/linux/compiler.h:215:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 215 | static void * __used __attrs \ | ^~~~~~ include/linux/compiler.h:218:9: note: in expansion of macro '___ADDRESSABLE' 218 | ___ADDRESSABLE(sym, __section(".discard.addressable")) | ^~~~~~~~~~~~~~ include/linux/export.h:41:9: note: in expansion of macro '__ADDRESSABLE' 41 | __ADDRESSABLE(sym) \ | ^~~~~~~~~~~~~ include/linux/export.h:96:9: note: in expansion of macro '__KSYMTAB_ENTRY' 96 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:387:1: note: in expansion of macro 'EXPORT_SYMBOL' 387 | EXPORT_SYMBOL(__ubsan_handle_alignment_assumption); | ^~~~~~~~~~~~~ lib/ubsan.c:387:1: error: expected declaration or statement at end of input In file included from include/linux/linkage.h:7, from include/linux/printk.h:8, from include/asm-generic/bug.h:22, from arch/x86/include/asm/bug.h:87, from include/linux/bug.h:5, from lib/ubsan.c:10: >> include/linux/export.h:89:27: warning: unused variable '__kstrtabns___ubsan_handle_alignment_assumption' [-Wunused-variable] 89 | extern const char __kstrtabns_##sym[]; \ | ^~~~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:387:1: note: in expansion of macro 'EXPORT_SYMBOL' 387 | EXPORT_SYMBOL(__ubsan_handle_alignment_assumption); | ^~~~~~~~~~~~~ >> include/linux/export.h:88:27: warning: unused variable '__kstrtab___ubsan_handle_alignment_assumption' [-Wunused-variable] 88 | extern const char __kstrtab_##sym[]; \ | ^~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:387:1: note: in expansion of macro 'EXPORT_SYMBOL' 387 | EXPORT_SYMBOL(__ubsan_handle_alignment_assumption); | ^~~~~~~~~~~~~ >> include/linux/export.h:89:27: warning: unused variable '__kstrtabns___ubsan_handle_load_invalid_value' [-Wunused-variable] 89 | extern const char __kstrtabns_##sym[]; \ | ^~~~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:356:1: note: in expansion of macro 'EXPORT_SYMBOL' 356 | EXPORT_SYMBOL(__ubsan_handle_load_invalid_value); | ^~~~~~~~~~~~~ >> include/linux/export.h:88:27: warning: unused variable '__kstrtab___ubsan_handle_load_invalid_value' [-Wunused-variable] 88 | extern const char __kstrtab_##sym[]; \ | ^~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:356:1: note: in expansion of macro 'EXPORT_SYMBOL' 356 | EXPORT_SYMBOL(__ubsan_handle_load_invalid_value); | ^~~~~~~~~~~~~ >> include/linux/export.h:89:27: warning: unused variable '__kstrtabns___ubsan_handle_builtin_unreachable' [-Wunused-variable] 89 | extern const char __kstrtabns_##sym[]; \ | ^~~~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:337:1: note: in expansion of macro 'EXPORT_SYMBOL' 337 | EXPORT_SYMBOL(__ubsan_handle_builtin_unreachable); | ^~~~~~~~~~~~~ >> include/linux/export.h:88:27: warning: unused variable '__kstrtab___ubsan_handle_builtin_unreachable' [-Wunused-variable] 88 | extern const char __kstrtab_##sym[]; \ | ^~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:337:1: note: in expansion of macro 'EXPORT_SYMBOL' 337 | EXPORT_SYMBOL(__ubsan_handle_builtin_unreachable); | ^~~~~~~~~~~~~ >> include/linux/export.h:89:27: warning: unused variable '__kstrtabns___ubsan_handle_shift_out_of_bounds' [-Wunused-variable] 89 | extern const char __kstrtabns_##sym[]; \ | ^~~~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:326:1: note: in expansion of macro 'EXPORT_SYMBOL' 326 | EXPORT_SYMBOL(__ubsan_handle_shift_out_of_bounds); | ^~~~~~~~~~~~~ >> include/linux/export.h:88:27: warning: unused variable '__kstrtab___ubsan_handle_shift_out_of_bounds' [-Wunused-variable] 88 | extern const char __kstrtab_##sym[]; \ | ^~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:326:1: note: in expansion of macro 'EXPORT_SYMBOL' 326 | EXPORT_SYMBOL(__ubsan_handle_shift_out_of_bounds); | ^~~~~~~~~~~~~ >> include/linux/export.h:89:27: warning: unused variable '__kstrtabns___ubsan_handle_out_of_bounds' [-Wunused-variable] 89 | extern const char __kstrtabns_##sym[]; \ | ^~~~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:285:1: note: in expansion of macro 'EXPORT_SYMBOL' 285 | EXPORT_SYMBOL(__ubsan_handle_out_of_bounds); | ^~~~~~~~~~~~~ >> include/linux/export.h:88:27: warning: unused variable '__kstrtab___ubsan_handle_out_of_bounds' [-Wunused-variable] 88 | extern const char __kstrtab_##sym[]; \ | ^~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:285:1: note: in expansion of macro 'EXPORT_SYMBOL' 285 | EXPORT_SYMBOL(__ubsan_handle_out_of_bounds); | ^~~~~~~~~~~~~ >> include/linux/export.h:89:27: warning: unused variable '__kstrtabns___ubsan_handle_type_mismatch_v1' [-Wunused-variable] 89 | extern const char __kstrtabns_##sym[]; \ | ^~~~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:268:1: note: in expansion of macro 'EXPORT_SYMBOL' 268 | EXPORT_SYMBOL(__ubsan_handle_type_mismatch_v1); | ^~~~~~~~~~~~~ >> include/linux/export.h:88:27: warning: unused variable '__kstrtab___ubsan_handle_type_mismatch_v1' [-Wunused-variable] 88 | extern const char __kstrtab_##sym[]; \ | ^~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:268:1: note: in expansion of macro 'EXPORT_SYMBOL' 268 | EXPORT_SYMBOL(__ubsan_handle_type_mismatch_v1); | ^~~~~~~~~~~~~ include/linux/export.h:89:27: warning: unused variable '__kstrtabns___ubsan_handle_type_mismatch' [-Wunused-variable] 89 | extern const char __kstrtabns_##sym[]; \ | ^~~~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:254:1: note: in expansion of macro 'EXPORT_SYMBOL' 254 | EXPORT_SYMBOL(__ubsan_handle_type_mismatch); | ^~~~~~~~~~~~~ include/linux/export.h:88:27: warning: unused variable '__kstrtab___ubsan_handle_type_mismatch' [-Wunused-variable] 88 | extern const char __kstrtab_##sym[]; \ | ^~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:254:1: note: in expansion of macro 'EXPORT_SYMBOL' 254 | EXPORT_SYMBOL(__ubsan_handle_type_mismatch); | ^~~~~~~~~~~~~ include/linux/export.h:89:27: warning: unused variable '__kstrtabns___ubsan_handle_divrem_overflow' [-Wunused-variable] 89 | extern const char __kstrtabns_##sym[]; \ | ^~~~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:181:1: note: in expansion of macro 'EXPORT_SYMBOL' 181 | EXPORT_SYMBOL(__ubsan_handle_divrem_overflow); | ^~~~~~~~~~~~~ include/linux/export.h:88:27: warning: unused variable '__kstrtab___ubsan_handle_divrem_overflow' [-Wunused-variable] 88 | extern const char __kstrtab_##sym[]; \ | ^~~~~~~~~~ include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL' 140 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL' 147 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL' 150 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ lib/ubsan.c:181:1: note: in expansion of macro 'EXPORT_SYMBOL' 181 | EXPORT_SYMBOL(__ubsan_handle_divrem_overflow); | ^~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +215 include/linux/compiler.h ^1da177e4c3f41 Linus Torvalds 2005-04-16 207 7290d58095712a Ard Biesheuvel 2018-08-21 208 /* 7290d58095712a Ard Biesheuvel 2018-08-21 209 * Force the compiler to emit 'sym' as a symbol, so that we can reference 7290d58095712a Ard Biesheuvel 2018-08-21 210 * it from inline assembler. Necessary in case 'sym' could be inlined 7290d58095712a Ard Biesheuvel 2018-08-21 211 * otherwise, or eliminated entirely due to lack of references that are 7290d58095712a Ard Biesheuvel 2018-08-21 212 * visible to the compiler. 7290d58095712a Ard Biesheuvel 2018-08-21 213 */ 92efda8eb15295 Sami Tolvanen 2022-09-08 214 #define ___ADDRESSABLE(sym, __attrs) \ 92efda8eb15295 Sami Tolvanen 2022-09-08 @215 static void * __used __attrs \ 563a02b0c9704f Josh Poimboeuf 2020-08-18 216 __UNIQUE_ID(__PASTE(__addressable_,sym)) = (void *)&sym; 92efda8eb15295 Sami Tolvanen 2022-09-08 217 #define __ADDRESSABLE(sym) \ 92efda8eb15295 Sami Tolvanen 2022-09-08 218 ___ADDRESSABLE(sym, __section(".discard.addressable")) 7290d58095712a Ard Biesheuvel 2018-08-21 219 -- 0-DAY CI Kernel Test Service https://01.org/lkp