From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) by sourceware.org (Postfix) with ESMTPS id BE690385C426 for ; Fri, 30 Sep 2022 10:26:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BE690385C426 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=vrull.eu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=vrull.eu Received: by mail-ed1-x534.google.com with SMTP id y8so5370923edc.10 for ; Fri, 30 Sep 2022 03:26:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vrull.eu; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=dK1VNA94paHhrQ6FpJX0DyzvP/sVuuMdu95YAB+fA7Q=; b=mLOxF7GnPNGE3xu68mhuxj6oe3xTclf1r5vp0z0iS+cJyS5k8/FZeHnFY3iyH5GIbr nefZ3xLzDcTr/Xwud6UHbqDdcHqn+UcJp+hL0BIVlgWnKMdHaegFF48UAIMBECzke7Vy FR/abRHjagCj/F+vd2+ZnMAXCrI/remhGOrenGKQdtUgprTLXR4j7YTyxJYrybGeBF8z 4+1zXzpNPzMSd8/p+pn6u3Njt24/ieZ84HDyM6YvDRyOWwv2ZUBS+899tth5ZoJrmz5L rCIMy4wLDAx8g0KTzRmIGR/8aMTVueW3Y4MQGfUYFHmHWx44Pau85YM/yItTjf6jq57L c3mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=dK1VNA94paHhrQ6FpJX0DyzvP/sVuuMdu95YAB+fA7Q=; b=JvyMQ2kZdzvBJbKSyK5zOMSU/tOhKC4ZI1+jCLQp6spBVNINN4m2jB0gQ4rbkjUJxA guDdBOfJ2ulypUezVMw4NjsGNUYDqPF7/0bunwN+TBZrS3G5imSjdpKaIkC7+3vNqCdH tbNY8MZO5DUwO1En9xjfcCTfqNlBf3ONuw6b5n1nTYhAz1bV0vWDh93F4yr7SwJoxVsy 1Zye5eOW8YynYp1IFYgpjm3pBR6qt5ev7diotFn7o3EKt0LcxU/6LGQ5f8U9A6BNkM44 sF6jFE+WFUouyFy5lz48W6gr9AiNDJ3+z09OvVRGhAbkM/Ms12SA22s9Yi8Jb1/qohuq 8uVQ== X-Gm-Message-State: ACrzQf2Ys9NYT61IdIE8822pr5DFwPYd4YXWFbRtLTO4VzoCugdeklFq yUcnOl7EGZIl8KfwKMUzctfB1CWuqud39FXT+LMFGQ== X-Google-Smtp-Source: AMsMyM5EldHqx5Xr7dOQ4fbiug8WiGPHxMUeVC5PNz+6cqpw5ui/2526mtcWTaaV822AJmWQvq6ggx9X8+z2p2Z2BcM= X-Received: by 2002:a05:6402:350b:b0:452:2b68:90db with SMTP id b11-20020a056402350b00b004522b6890dbmr7336602edd.255.1664533603205; Fri, 30 Sep 2022 03:26:43 -0700 (PDT) MIME-Version: 1.0 References: <7cb92a0b-d1ef-e3db-4773-0b6cd5183272@suse.com> <5874dd79-0cf5-d65c-7ea2-13adfc799c0f@suse.com> In-Reply-To: <5874dd79-0cf5-d65c-7ea2-13adfc799c0f@suse.com> From: =?UTF-8?Q?Christoph_M=C3=BCllner?= Date: Fri, 30 Sep 2022 12:26:29 +0200 Message-ID: Subject: Re: [PATCH] RISC-V: fix build after "Add support for arbitrary immediate encoding formats" To: Jan Beulich Cc: Binutils , Palmer Dabbelt , Andrew Waterman , Jim Wilson , Nelson Chu Content-Type: multipart/alternative; boundary="00000000000022db2a05e9e26e7b" X-Spam-Status: No, score=-4.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,HTML_MESSAGE,JMQ_SPF_NEUTRAL,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --00000000000022db2a05e9e26e7b Content-Type: text/plain; charset="UTF-8" Hi Jan, Thanks for pointing that out! BR Christoph On Fri, Sep 30, 2022 at 11:41 AM Jan Beulich wrote: > Pre- and post-increment/decrement are side effects, the behavior of > which is undefined when combined with passing an address of the accessed > variable in the same function invocation. There's no need for the > increments here - simply adding 1 achieves the intended effect without > triggering compiler diagnostics (which are fatal with -Werror). > --- > Committing as obvious. > > --- a/gas/config/tc-riscv.c > +++ b/gas/config/tc-riscv.c > @@ -1287,10 +1287,10 @@ validate_riscv_insn (const struct riscv_ > case 'u': /* 'XuN@S' ... N-bit unsigned immediate at bit > S. */ > goto use_imm; > use_imm: > - n = strtol (++oparg, (char **)&oparg, 10); > + n = strtol (oparg + 1, (char **)&oparg, 10); > if (*oparg != '@') > goto unknown_validate_operand; > - s = strtol (++oparg, (char **)&oparg, 10); > + s = strtol (oparg + 1, (char **)&oparg, 10); > oparg--; > > USE_IMM (n, s); > @@ -3327,10 +3327,10 @@ riscv_ip (char *str, struct riscv_cl_ins > sign = false; > goto parse_imm; > parse_imm: > - n = strtol (++oparg, (char **)&oparg, 10); > + n = strtol (oparg + 1, (char **)&oparg, 10); > if (*oparg != '@') > goto unknown_riscv_ip_operand; > - s = strtol (++oparg, (char **)&oparg, 10); > + s = strtol (oparg + 1, (char **)&oparg, 10); > oparg--; > > my_getExpression (imm_expr, asarg); > --- a/opcodes/riscv-dis.c > +++ b/opcodes/riscv-dis.c > @@ -586,10 +586,10 @@ print_insn_args (const char *oparg, insn > sign = false; > goto print_imm; > print_imm: > - n = strtol (++oparg, (char **)&oparg, 10); > + n = strtol (oparg + 1, (char **)&oparg, 10); > if (*oparg != '@') > goto undefined_modifier; > - s = strtol (++oparg, (char **)&oparg, 10); > + s = strtol (oparg + 1, (char **)&oparg, 10); > oparg--; > > if (!sign) > --00000000000022db2a05e9e26e7b--