From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 233C8C433DB for ; Fri, 19 Mar 2021 06:21:05 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E1CD364F42 for ; Fri, 19 Mar 2021 06:21:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233979AbhCSGU3 (ORCPT ); Fri, 19 Mar 2021 02:20:29 -0400 Received: from mga07.intel.com ([134.134.136.100]:33326 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232992AbhCSGUO (ORCPT ); Fri, 19 Mar 2021 02:20:14 -0400 IronPort-SDR: 49IoAFBsbfZ6j1TP9VWu9ThRPvA7gFZhftcCigK1Rz6R9cTZIFO8bKPIr4gphNdF8t5OH1+Ba9 lyBk26QyRS7A== X-IronPort-AV: E=McAfee;i="6000,8403,9927"; a="253842128" X-IronPort-AV: E=Sophos;i="5.81,261,1610438400"; d="gz'50?scan'50,208,50";a="253842128" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Mar 2021 23:20:13 -0700 IronPort-SDR: xSmbvJNyFXUbQOO8knKfH19q2OxDEd9m/ZWK5mc7oPltg2aSYAo526FLULXXAntL1B06XADnFM POfOPn6reVCw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,261,1610438400"; d="gz'50?scan'50,208,50";a="523534784" Received: from lkp-server02.sh.intel.com (HELO 1c294c63cb86) ([10.239.97.151]) by orsmga004.jf.intel.com with ESMTP; 18 Mar 2021 23:20:11 -0700 Received: from kbuild by 1c294c63cb86 with local (Exim 4.92) (envelope-from ) id 1lN8UU-0001cp-Sa; Fri, 19 Mar 2021 06:20:10 +0000 Date: Fri, 19 Mar 2021 14:19:34 +0800 From: kernel test robot To: Jordan Niethe Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org, Michael Ellerman , Alistair Popple Subject: arch/powerpc/lib/sstep.c:1172:21: error: variable 'suffix' set but not used Message-ID: <202103191428.KO2fWUT9-lkp@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="NzB8fVQJ5HfG6fxh" Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --NzB8fVQJ5HfG6fxh Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Jordan, FYI, the error/warning still remains. tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 8b12a62a4e3ed4ae99c715034f557eb391d6b196 commit: 650b55b707fdfa764e9f2b81314d3eb4216fb962 powerpc: Add prefixed instructions to instruction data type date: 10 months ago config: powerpc-mpc866_ads_defconfig (attached as .config) compiler: powerpc-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/torvalds/linux.git/commit/?id=650b55b707fdfa764e9f2b81314d3eb4216fb962 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 650b55b707fdfa764e9f2b81314d3eb4216fb962 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): arch/powerpc/lib/sstep.c: In function 'analyse_instr': >> arch/powerpc/lib/sstep.c:1172:21: error: variable 'suffix' set but not used [-Werror=unused-but-set-variable] 1172 | unsigned int word, suffix; | ^~~~~~ arch/powerpc/lib/sstep.c:1168:31: error: variable 'rc' set but not used [-Werror=unused-but-set-variable] 1168 | unsigned int opcode, ra, rb, rc, rd, spr, u; | ^~ cc1: all warnings being treated as errors vim +/suffix +1172 arch/powerpc/lib/sstep.c 1153 1154 /* 1155 * Decode an instruction, and return information about it in *op 1156 * without changing *regs. 1157 * Integer arithmetic and logical instructions, branches, and barrier 1158 * instructions can be emulated just using the information in *op. 1159 * 1160 * Return value is 1 if the instruction can be emulated just by 1161 * updating *regs with the information in *op, -1 if we need the 1162 * GPRs but *regs doesn't contain the full register set, or 0 1163 * otherwise. 1164 */ 1165 int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, 1166 struct ppc_inst instr) 1167 { 1168 unsigned int opcode, ra, rb, rc, rd, spr, u; 1169 unsigned long int imm; 1170 unsigned long int val, val2; 1171 unsigned int mb, me, sh; > 1172 unsigned int word, suffix; 1173 long ival; 1174 1175 word = ppc_inst_val(instr); 1176 suffix = ppc_inst_suffix(instr); 1177 1178 op->type = COMPUTE; 1179 1180 opcode = ppc_inst_primary_opcode(instr); 1181 switch (opcode) { 1182 case 16: /* bc */ 1183 op->type = BRANCH; 1184 imm = (signed short)(word & 0xfffc); 1185 if ((word & 2) == 0) 1186 imm += regs->nip; 1187 op->val = truncate_if_32bit(regs->msr, imm); 1188 if (word & 1) 1189 op->type |= SETLK; 1190 if (branch_taken(word, regs, op)) 1191 op->type |= BRTAKEN; 1192 return 1; 1193 #ifdef CONFIG_PPC64 1194 case 17: /* sc */ 1195 if ((word & 0xfe2) == 2) 1196 op->type = SYSCALL; 1197 else 1198 op->type = UNKNOWN; 1199 return 0; 1200 #endif 1201 case 18: /* b */ 1202 op->type = BRANCH | BRTAKEN; 1203 imm = word & 0x03fffffc; 1204 if (imm & 0x02000000) 1205 imm -= 0x04000000; 1206 if ((word & 2) == 0) 1207 imm += regs->nip; 1208 op->val = truncate_if_32bit(regs->msr, imm); 1209 if (word & 1) 1210 op->type |= SETLK; 1211 return 1; 1212 case 19: 1213 switch ((word >> 1) & 0x3ff) { 1214 case 0: /* mcrf */ 1215 op->type = COMPUTE + SETCC; 1216 rd = 7 - ((word >> 23) & 0x7); 1217 ra = 7 - ((word >> 18) & 0x7); 1218 rd *= 4; 1219 ra *= 4; 1220 val = (regs->ccr >> ra) & 0xf; 1221 op->ccval = (regs->ccr & ~(0xfUL << rd)) | (val << rd); 1222 return 1; 1223 1224 case 16: /* bclr */ 1225 case 528: /* bcctr */ 1226 op->type = BRANCH; 1227 imm = (word & 0x400)? regs->ctr: regs->link; 1228 op->val = truncate_if_32bit(regs->msr, imm); 1229 if (word & 1) 1230 op->type |= SETLK; 1231 if (branch_taken(word, regs, op)) 1232 op->type |= BRTAKEN; 1233 return 1; 1234 1235 case 18: /* rfid, scary */ 1236 if (regs->msr & MSR_PR) 1237 goto priv; 1238 op->type = RFI; 1239 return 0; 1240 1241 case 150: /* isync */ 1242 op->type = BARRIER | BARRIER_ISYNC; 1243 return 1; 1244 1245 case 33: /* crnor */ 1246 case 129: /* crandc */ 1247 case 193: /* crxor */ 1248 case 225: /* crnand */ 1249 case 257: /* crand */ 1250 case 289: /* creqv */ 1251 case 417: /* crorc */ 1252 case 449: /* cror */ 1253 op->type = COMPUTE + SETCC; 1254 ra = (word >> 16) & 0x1f; 1255 rb = (word >> 11) & 0x1f; 1256 rd = (word >> 21) & 0x1f; 1257 ra = (regs->ccr >> (31 - ra)) & 1; 1258 rb = (regs->ccr >> (31 - rb)) & 1; 1259 val = (word >> (6 + ra * 2 + rb)) & 1; 1260 op->ccval = (regs->ccr & ~(1UL << (31 - rd))) | 1261 (val << (31 - rd)); 1262 return 1; 1263 } 1264 break; 1265 case 31: 1266 switch ((word >> 1) & 0x3ff) { 1267 case 598: /* sync */ 1268 op->type = BARRIER + BARRIER_SYNC; 1269 #ifdef __powerpc64__ 1270 switch ((word >> 21) & 3) { 1271 case 1: /* lwsync */ 1272 op->type = BARRIER + BARRIER_LWSYNC; 1273 break; 1274 case 2: /* ptesync */ 1275 op->type = BARRIER + BARRIER_PTESYNC; 1276 break; 1277 } 1278 #endif 1279 return 1; 1280 1281 case 854: /* eieio */ 1282 op->type = BARRIER + BARRIER_EIEIO; 1283 return 1; 1284 } 1285 break; 1286 } 1287 1288 /* Following cases refer to regs->gpr[], so we need all regs */ 1289 if (!FULL_REGS(regs)) 1290 return -1; 1291 1292 rd = (word >> 21) & 0x1f; 1293 ra = (word >> 16) & 0x1f; 1294 rb = (word >> 11) & 0x1f; 1295 rc = (word >> 6) & 0x1f; 1296 1297 switch (opcode) { 1298 #ifdef __powerpc64__ 1299 case 2: /* tdi */ 1300 if (rd & trap_compare(regs->gpr[ra], (short) word)) 1301 goto trap; 1302 return 1; 1303 #endif 1304 case 3: /* twi */ 1305 if (rd & trap_compare((int)regs->gpr[ra], (short) word)) 1306 goto trap; 1307 return 1; 1308 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --NzB8fVQJ5HfG6fxh Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 --NzB8fVQJ5HfG6fxh--