From patchwork Tue Jun 23 12:47:58 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Zhuang X-Patchwork-Id: 137638 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2B4764BA2E2A for ; Tue, 23 Jun 2026 12:51:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2B4764BA2E2A Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=linux.spacemit.com header.i=@linux.spacemit.com header.a=rsa-sha256 header.s=mxsw2412 header.b=xR02SwKS X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from smtpbgeu2.qq.com (smtpbgeu2.qq.com [18.194.254.142]) by sourceware.org (Postfix) with ESMTPS id 72A6E4BA23EC for ; Tue, 23 Jun 2026 12:48:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 72A6E4BA23EC Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.spacemit.com Authentication-Results: sourceware.org; spf=none smtp.mailfrom=linux.spacemit.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 72A6E4BA23EC Authentication-Results: sourceware.org; arc=none smtp.remote-ip=18.194.254.142 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1782218924; cv=none; b=k1Sb7WP8w2rTXNbtQtSFHp8C1B9A9iQfNj5nTHOlFSUv53jZYJtooezTwm5t7wfDWuaIIhg/BoS6owYe7xD6TkK5Re4UsIoj4HGLFoYUHYTI5RBZZLq8f2rpHfQ2pezF74VTCJFAcLhJck5//GtBNV89YanCvaPH2t9mZGYCUEE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1782218924; c=relaxed/simple; bh=vXbeTRM99lPwDD0kyxHftK2exgwhTTf88CVJx54PDwY=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=rKlnB4OPZd7uUYNcgXRIrFpXF6+negzwzED7keouNQldTDX8LXlBYWx8RzrJNqHi3xkQkyvB/VnIHMKI6Dwqmj3Be7GkqZeRirIRGPH9yN4MnaX6bzVQl08El99Ykcg3r11Nre8qO5DiqdZ34QXHmOAc3JOhO4XB6GLiFhAn3nE= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=linux.spacemit.com header.i=@linux.spacemit.com header.a=rsa-sha256 header.s=mxsw2412 header.b=xR02SwKS DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 72A6E4BA23EC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.spacemit.com; s=mxsw2412; t=1782218902; bh=NxDS4WNlsddi4TVP7KPJ4YFnS9CF5yMio2u6Vkc5j9Y=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=xR02SwKSGJt9Gs3LxAvy+eWV9HTNJkpN+R5XVXpfHPmASTVfzz68G+7SFL/NIkvdi /DqOgnfKUgndcyO7M7MV1fDHQmIFg2dV9nY5z/Tr15TkrzKZdrpxfuHgcl3sMAhNqd ZzPP46UZteVx+bZ3TxTiCwKYkjpU+KkJ4clAT47o= X-QQ-mid: zesmtpsz4t1782218898tb89f5e62 X-QQ-Originating-IP: Uh9MQNwYtnchoyQXPzEUU4mvk/u63eqwW857BmXYGZs= Received: from SNode3.. ( [61.145.255.150]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 23 Jun 2026 20:47:32 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 6862149103354093176 From: Mark Zhuang To: jbeulich@suse.com Cc: binutils@sourceware.org, mark@klomp.org, jefflaw@qti.qualcomm.com, Mark Zhuang Subject: [PATCH v2 1/1] RISC-V: Fix build with GCC-8 Date: Tue, 23 Jun 2026 20:47:58 +0800 Message-Id: <20260623124758.2412307-2-zhuangqiubin@linux.spacemit.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260623124758.2412307-1-zhuangqiubin@linux.spacemit.com> References: <8858c007-5891-452a-93a3-07f239b237f5@suse.com> <20260623124758.2412307-1-zhuangqiubin@linux.spacemit.com> MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: zesmtpsz:linux.spacemit.com:qybglogicsvrgz:qybglogicsvrgz5b-2 X-QQ-XMAILINFO: NkLA2q2LD229r3PMrKkoh82bu2dZgjtjvzlr50GQgXS9zSxpD/4ljoB5 5vv8TG182Uys+QtcfkJXDd62YfhNtfZK2w1cZ5497UfxVeaItwJv7+v3v8TidXh76V+MkA2 Iy6YUDBYRSj0UDysaIwxWlYgOOxBb1GR4+M+yRuxZbgvBWwp6ZphhaVLRXzFNVKvsxbNwpY eRbT0y5ImWJYQy/uVItM7i/zl6/DfkLfElBYcYsw5/ye8p5eIiUcniVcBjhOh0Qzl+KywVt dsZ4jZlC3jAei+SyjOZdrcuzQlMhvOGw3EYVVb0SPF+11AxoEYWhb5YtMNOc4XX7d+PbBBC TXgCGE1LTjz6i2F75HTGzLdu/moSCLYWPZULPNnFSTucIhiQEHhsBpNUIkwjiLZo7z1LgCw xDZ4/Zz4SkOyqFUC0TGUl8Sa1KE+MGDOpdhnJ0y8/Pu91JovozIjfDxVJhpTEnZCJkV+VyS rGJusqdfO5YccRlsdBT/d3sBD4KCP0TjPUO91AGF8KchpIVQsfBSqG8KuYWTPc9+zoeZSpS CYOzkjsfdq74FsHxifCkAfIEW8olFkDfuYdgT6OWr9mBsioTVu7hhvmMln5mWJNMN7nQMb/ 88ucbV3rJ+1cc037F+AhWzu5kZxAxzAxMAcl8KRI8UpoFsJOYKjwgx9Q7qK0zLJ0s+Gg/vn chwTLd3uxv4rqRCv5LA95C7ENliW7dk4py5PX1rLYE+jlQBsGHke9DldaTtgq3t3qzWAy6A F0QbEwew9GX/rOpD06NqeVkD1NJgSSIkvrJfoYcMBgsJN7F884hTmiYViThT2RY4INy7vo8 pxA9u/CGTQwvka2BKy8RR+Na99v9seovANimQsWhCCOhOOWUirNVXvB4CQEeA1pD7h/C4kO vN78W1rtt4W5F6ECJXn8PXxCk6nTMHJT/dQCyoq4ZO0ygnnMmKy35GVZe5GvVvnohpb4+E9 8YWL+XyMv67MiKU8NmW82RGmQ8vSly5R/Ukl7NwZx2SAOGpKbUTiWFwrWDyelzZzdLRzS8X nidpREi+YxOC1+MwCFVf4Jhl+TNQIpAFsUDiGheFn1SIRrx0rP X-QQ-XMRINFO: NS+P29fieYNwqS3WCnRCOn9D1NpZuCnCRA== X-QQ-RECHKSPAM: 0 X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, RCVD_IN_PBL, SPF_NONE, TXREP, T_SPF_HELO_TEMPERROR shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org From: Mark Zhuang GCC 8.5.0 rejects a declaration right after a case label. Add braces to fix it. --- gas/config/tc-riscv.c | 54 +++++++++++++++++++++++-------------------- opcodes/riscv-dis.c | 16 ++++++++----- 2 files changed, 39 insertions(+), 31 deletions(-) diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c index 5ffa2ef1f1d..cb639b48fe0 100644 --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -1791,8 +1791,6 @@ validate_riscv_insn (const struct riscv_opcode *opc, int length) } break; case 'p': /* Vendor-specific (SpacemiT) operands. */ - size_t n; - size_t s; switch (*++oparg) { case 'V': @@ -1815,13 +1813,17 @@ validate_riscv_insn (const struct riscv_opcode *opc, int length) break; case 'u': /* Integer immediate, 'XpuN@S' ... N-bit unsigned immediate at bit S. */ - n = strtol (oparg + 1, (char **)&oparg, 10); - if (*oparg != '@') - goto unknown_validate_operand; - s = strtol (oparg + 1, (char **)&oparg, 10); - oparg--; - USE_IMM (n, s); - break; + { + size_t n; + size_t s; + n = strtol (oparg + 1, (char **)&oparg, 10); + if (*oparg != '@') + goto unknown_validate_operand; + s = strtol (oparg + 1, (char **)&oparg, 10); + oparg--; + USE_IMM (n, s); + break; + } case 'n': case 'b': used_bits |= ENCODE_SPACEMIT_IME_UIMM2_SP (-1U); @@ -4309,8 +4311,6 @@ riscv_ip (char *str, struct riscv_cl_insn *ip, expressionS *imm_expr, break; case 'p': /* Vendor-specific (SpacemiT) operands. */ - size_t n; - size_t s; switch (*++oparg) { case 'V': @@ -4358,20 +4358,24 @@ riscv_ip (char *str, struct riscv_cl_insn *ip, expressionS *imm_expr, break; case 'u': /* Integer immediate, 'XpuN@S' ... N-bit unsigned immediate at bit S. */ - n = strtol (oparg + 1, (char **)&oparg, 10); - if (*oparg != '@') - goto unknown_riscv_ip_operand; - s = strtol (oparg + 1, (char **)&oparg, 10); - oparg--; - my_getExpression (imm_expr, asarg, force_reloc); - check_absolute_expr (ip, imm_expr, false); - if (!VALIDATE_U_IMM (imm_expr->X_add_number, n)) - as_bad (_("improper immediate value (%"PRIu64")"), - imm_expr->X_add_number); - INSERT_IMM (n, s, *ip, imm_expr->X_add_number); - imm_expr->X_op = O_absent; - asarg = expr_parse_end; - continue; + { + size_t n; + size_t s; + n = strtol (oparg + 1, (char **)&oparg, 10); + if (*oparg != '@') + goto unknown_riscv_ip_operand; + s = strtol (oparg + 1, (char **)&oparg, 10); + oparg--; + my_getExpression (imm_expr, asarg, force_reloc); + check_absolute_expr (ip, imm_expr, false); + if (!VALIDATE_U_IMM (imm_expr->X_add_number, n)) + as_bad (_("improper immediate value (%"PRIu64")"), + imm_expr->X_add_number); + INSERT_IMM (n, s, *ip, imm_expr->X_add_number); + imm_expr->X_op = O_absent; + asarg = expr_parse_end; + continue; + } case 'n': /* Xpn: stride (0-1), paired with Xpx. */ my_getExpression (imm_expr, asarg, force_reloc); check_absolute_expr (ip, imm_expr, false); diff --git a/opcodes/riscv-dis.c b/opcodes/riscv-dis.c index ca0d9bfd121..edb9ce04778 100644 --- a/opcodes/riscv-dis.c +++ b/opcodes/riscv-dis.c @@ -924,14 +924,18 @@ print_insn_args (const char *oparg, insn_t l, bfd_vma pc, disassemble_info *info switch (*++oparg) { case 'd': - unsigned vd = EXTRACT_OPERAND (SPACEMIT_IME_VD, l) * 2; - print (info->stream, dis_style_register, "%s", - riscv_vecr_names_numeric[vd]); + { + unsigned vd = EXTRACT_OPERAND (SPACEMIT_IME_VD, l) * 2; + print (info->stream, dis_style_register, "%s", + riscv_vecr_names_numeric[vd]); + } break; case 's': - unsigned vs = EXTRACT_OPERAND (SPACEMIT_IME_VS1, l) * 2; - print (info->stream, dis_style_register, "%s", - riscv_vecr_names_numeric[vs]); + { + unsigned vs = EXTRACT_OPERAND (SPACEMIT_IME_VS1, l) * 2; + print (info->stream, dis_style_register, "%s", + riscv_vecr_names_numeric[vs]); + } break; case 'm': {