tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git willy-maple head: 7e346d2845b4bd77663394f39fa70456e0084c86 commit: 824aa5e4af0be646da193e90e3383651b93f1c8d [125/202] Maple Tree: Add new data structure config: m68k-randconfig-r006-20210202 (attached as .config) compiler: m68k-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git/commit/?id=824aa5e4af0be646da193e90e3383651b93f1c8d git remote add rcu https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git git fetch --no-tags rcu willy-maple git checkout 824aa5e4af0be646da193e90e3383651b93f1c8d # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> All errors (new ones prefixed by >>): In file included from lib/maple_tree.c:9: >> include/linux/maple_tree.h:79:22: error: 'MAPLE_RANGE64_SLOTS' undeclared >> here (not in a function) 79 | unsigned long pivot[MAPLE_RANGE64_SLOTS - 1]; | ^~~~~~~~~~~~~~~~~~~ >> include/linux/maple_tree.h:85:22: error: 'MAPLE_ARANGE64_SLOTS' undeclared >> here (not in a function) 85 | unsigned long pivot[MAPLE_ARANGE64_SLOTS - 1]; | ^~~~~~~~~~~~~~~~~~~~ >> include/linux/maple_tree.h:91:28: error: 'MAPLE_NODE_SLOTS' undeclared here >> (not in a function); did you mean 'MAPLE_ALLOC_SLOTS'? 91 | #define MAPLE_ALLOC_SLOTS (MAPLE_NODE_SLOTS - 1) | ^~~~~~~~~~~~~~~~ include/linux/maple_tree.h:96:27: note: in expansion of macro 'MAPLE_ALLOC_SLOTS' 96 | struct maple_alloc *slot[MAPLE_ALLOC_SLOTS]; | ^~~~~~~~~~~~~~~~~ lib/maple_tree.c:40:19: warning: initialization of 'unsigned char' from 'const long unsigned int *' makes integer from pointer without a cast [-Wint-conversion] 40 | [maple_dense] = MAPLE_NODE_SLOTS, | ^~~~~~~~~~~~~~~~ lib/maple_tree.c:40:19: note: (near initialization for 'mt_slots[0]') lib/maple_tree.c:40:19: error: initializer element is not constant lib/maple_tree.c:40:19: note: (near initialization for 'mt_slots[0]') lib/maple_tree.c:41:21: warning: initialization of 'unsigned char' from 'const long unsigned int *' makes integer from pointer without a cast [-Wint-conversion] 41 | [maple_leaf_64] = MAPLE_RANGE64_SLOTS, | ^~~~~~~~~~~~~~~~~~~ lib/maple_tree.c:41:21: note: (near initialization for 'mt_slots[1]') lib/maple_tree.c:41:21: error: initializer element is not constant lib/maple_tree.c:41:21: note: (near initialization for 'mt_slots[1]') lib/maple_tree.c:42:21: warning: initialization of 'unsigned char' from 'const long unsigned int *' makes integer from pointer without a cast [-Wint-conversion] 42 | [maple_range_64] = MAPLE_RANGE64_SLOTS, | ^~~~~~~~~~~~~~~~~~~ lib/maple_tree.c:42:21: note: (near initialization for 'mt_slots[2]') lib/maple_tree.c:42:21: error: initializer element is not constant lib/maple_tree.c:42:21: note: (near initialization for 'mt_slots[2]') lib/maple_tree.c:43:22: warning: initialization of 'unsigned char' from 'const long unsigned int *' makes integer from pointer without a cast [-Wint-conversion] 43 | [maple_arange_64] = MAPLE_ARANGE64_SLOTS, | ^~~~~~~~~~~~~~~~~~~~ lib/maple_tree.c:43:22: note: (near initialization for 'mt_slots[3]') lib/maple_tree.c:43:22: error: initializer element is not constant lib/maple_tree.c:43:22: note: (near initialization for 'mt_slots[3]') lib/maple_tree.c:49:21: warning: initialization of 'unsigned char' from 'const unsigned char *' makes integer from pointer without a cast [-Wint-conversion] 49 | [maple_leaf_64] = MAPLE_RANGE64_SLOTS - 1, | ^~~~~~~~~~~~~~~~~~~ lib/maple_tree.c:49:21: note: (near initialization for 'mt_pivots[1]') lib/maple_tree.c:49:21: error: initializer element is not constant lib/maple_tree.c:49:21: note: (near initialization for 'mt_pivots[1]') lib/maple_tree.c:50:21: warning: initialization of 'unsigned char' from 'const unsigned char *' makes integer from pointer without a cast [-Wint-conversion] 50 | [maple_range_64] = MAPLE_RANGE64_SLOTS - 1, | ^~~~~~~~~~~~~~~~~~~ lib/maple_tree.c:50:21: note: (near initialization for 'mt_pivots[2]') lib/maple_tree.c:50:21: error: initializer element is not constant lib/maple_tree.c:50:21: note: (near initialization for 'mt_pivots[2]') lib/maple_tree.c:51:22: warning: initialization of 'unsigned char' from 'const unsigned char *' makes integer from pointer without a cast [-Wint-conversion] 51 | [maple_arange_64] = MAPLE_ARANGE64_SLOTS - 1, | ^~~~~~~~~~~~~~~~~~~~ lib/maple_tree.c:51:22: note: (near initialization for 'mt_pivots[3]') lib/maple_tree.c:51:22: error: initializer element is not constant lib/maple_tree.c:51:22: note: (near initialization for 'mt_pivots[3]') lib/maple_tree.c:56:36: error: invalid operands to binary / (have 'const unsigned char *' and 'int') 56 | [maple_dense] = MAPLE_NODE_SLOTS / 2, | ~~~~~~~~~~~~~~~~ ^ | | | const unsigned char * lib/maple_tree.c:56:19: warning: initialization of 'unsigned char' from 'const unsigned char *' makes integer from pointer without a cast [-Wint-conversion] 56 | [maple_dense] = MAPLE_NODE_SLOTS / 2, | ^~~~~~~~~~~~~~~~ lib/maple_tree.c:56:19: note: (near initialization for 'mt_min_slots[0]') lib/maple_tree.c:56:19: error: initializer element is not constant lib/maple_tree.c:56:19: note: (near initialization for 'mt_min_slots[0]') lib/maple_tree.c:57:42: error: invalid operands to binary / (have 'const unsigned char *' and 'int') 57 | [maple_leaf_64] = (MAPLE_RANGE64_SLOTS / 2) - 2, | ~~~~~~~~~~~~~~~~~~~ ^ | | | const unsigned char * lib/maple_tree.c:57:21: warning: initialization of 'unsigned char' from 'const unsigned char *' makes integer from pointer without a cast [-Wint-conversion] 57 | [maple_leaf_64] = (MAPLE_RANGE64_SLOTS / 2) - 2, | ^ lib/maple_tree.c:57:21: note: (near initialization for 'mt_min_slots[1]') lib/maple_tree.c:57:21: error: initializer element is not constant lib/maple_tree.c:57:21: note: (near initialization for 'mt_min_slots[1]') lib/maple_tree.c:58:42: error: invalid operands to binary / (have 'const unsigned char *' and 'int') 58 | [maple_range_64] = (MAPLE_RANGE64_SLOTS / 2) - 2, | ~~~~~~~~~~~~~~~~~~~ ^ | | | const unsigned char * lib/maple_tree.c:58:21: warning: initialization of 'unsigned char' from 'const unsigned char *' makes integer from pointer without a cast [-Wint-conversion] 58 | [maple_range_64] = (MAPLE_RANGE64_SLOTS / 2) - 2, | ^ lib/maple_tree.c:58:21: note: (near initialization for 'mt_min_slots[2]') lib/maple_tree.c:58:21: error: initializer element is not constant lib/maple_tree.c:58:21: note: (near initialization for 'mt_min_slots[2]') lib/maple_tree.c:59:44: error: invalid operands to binary / (have 'const unsigned char *' and 'int') 59 | [maple_arange_64] = (MAPLE_ARANGE64_SLOTS / 2) - 1, | ~~~~~~~~~~~~~~~~~~~~ ^ | | | const unsigned char * lib/maple_tree.c:59:22: warning: initialization of 'unsigned char' from 'const unsigned char *' makes integer from pointer without a cast [-Wint-conversion] 59 | [maple_arange_64] = (MAPLE_ARANGE64_SLOTS / 2) - 1, | ^ lib/maple_tree.c:59:22: note: (near initialization for 'mt_min_slots[3]') lib/maple_tree.c:59:22: error: initializer element is not constant lib/maple_tree.c:59:22: note: (near initialization for 'mt_min_slots[3]') lib/maple_tree.c:63:51: error: invalid operands to binary * (have 'const unsigned char *' and 'int') 63 | #define MAPLE_BIG_NODE_SLOTS (MAPLE_RANGE64_SLOTS * 2 + 2) | ~~~~~~~~~~~~~~~~~~~ ^ | | | const unsigned char * lib/maple_tree.c:67:27: note: in expansion of macro 'MAPLE_BIG_NODE_SLOTS' 67 | struct maple_enode *slot[MAPLE_BIG_NODE_SLOTS]; | ^~~~~~~~~~~~~~~~~~~~ lib/maple_tree.c:67:22: error: size of array 'slot' has non-integer type vim +/MAPLE_RANGE64_SLOTS +79 include/linux/maple_tree.h 40 41 42 /** 43 * maple_tree node explained 44 * 45 * Each node type has a number of slots for entries and a number of slots for 46 * pivots. In the case of dense nodes, the pivots are implied by the position 47 * and are simply the slot index + the minimum of the node. 48 * 49 * In regular B-Tree terms, pivots are called keys. The term pivot is used to 50 * indicate that the tree is specifying ranges, Pivots may appear in the 51 * subtree with an entry attached to the value where as keys are unique to a 52 * specific position of a B-tree. Pivot values are inclusive of the slot with 53 * the same index. 54 * 55 * 56 * The following illustrates the layout of a range64 nodes slots and pivots. 57 * 58 * _________________________________ 59 * Slots -> | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 60 * ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ 61 * │ │ │ │ │ │ │ │ └─ Implied maximum 62 * │ │ │ │ │ │ │ └─ Pivot 6 63 * │ │ │ │ │ │ └─ Pivot 5 64 * │ │ │ │ │ └─ Pivot 4 65 * │ │ │ │ └─ Pivot 3 66 * │ │ │ └─ Pivot 2 67 * │ │ └─ Pivot 1 68 * │ └─ Pivot 0 69 * └─ Implied minimum 70 * 71 * Slot contents: 72 * Internal (non-leaf) nodes contain pointers to other nodes. 73 * Leaf nodes contain entries. 74 * 75 * 76 */ 77 struct maple_range_64 { 78 struct maple_pnode *parent; > 79 unsigned long pivot[MAPLE_RANGE64_SLOTS - 1]; 80 void __rcu *slot[MAPLE_RANGE64_SLOTS]; 81 }; 82 83 struct maple_arange_64 { 84 struct maple_pnode *parent; > 85 unsigned long pivot[MAPLE_ARANGE64_SLOTS - 1]; 86 void __rcu *slot[MAPLE_ARANGE64_SLOTS]; 87 unsigned long gap[MAPLE_ARANGE64_SLOTS]; 88 unsigned char meta; 89 }; 90 > 91 #define MAPLE_ALLOC_SLOTS (MAPLE_NODE_SLOTS - 1) 92 struct maple_alloc { 93 unsigned long total; 94 unsigned char node_count; 95 unsigned int request_count; 96 struct maple_alloc *slot[MAPLE_ALLOC_SLOTS]; 97 }; 98 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip