From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com [IPv6:2a00:1450:4864:20::22d]) by sourceware.org (Postfix) with ESMTPS id 976E53858D37 for ; Thu, 14 Jul 2022 21:27:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 976E53858D37 Received: by mail-lj1-x22d.google.com with SMTP id by8so33054ljb.13 for ; Thu, 14 Jul 2022 14:27:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=sAdO1jYgO6I5PBALWryphbNsvu1xM4dNBKc6lRu4cqw=; b=OBZiNH3JS9ih/Hp7vZCrJTnD36nDiPNOGoZ/dl07QT0yKfbVRrsWxFR7YyyA1M2JgU 3C6qSWg4YQTpL6k5fGaRAHD6NrdkM3LCZUHShJc3I8Z+uFKSp60Ae2MaWqJ8cBjw1oqh CLkST266xAiLOLsbce/GYXVwh0TypzlUeoNaIqr+ZD8n8DwOcxO8AuwZAo/Q8H/QIOBe cStP/HBfS+F7T+B/46o32AWGkk2rFxDs8StaHfmHlWXw9Ecnyx6a2O40Ghs1GxOS5PXy jot4yi17KbzuJP+vjHSezMwqRNRC3kKEDGIq+LNjCDE9BsWym6u0ucQga4EV7RcTYr4k yuDA== X-Gm-Message-State: AJIora8sigRvR9sGMTm/REUaKInx7bAePaHgRhAHKVXa87fBsQcnIpbu 0SDgWpFWGRjLAXgD97uvtWovZ1kJWMs= X-Google-Smtp-Source: AGRyM1s9d9NAp3+f4jUCvmz7iSBOb5xPckOVAJcsxutV274OWlEQ4pZODg4jumjJKEoH9mbvu3lqYg== X-Received: by 2002:a2e:8891:0:b0:25d:6ddf:e71d with SMTP id k17-20020a2e8891000000b0025d6ddfe71dmr5425478lji.170.1657834042657; Thu, 14 Jul 2022 14:27:22 -0700 (PDT) Received: from localhost.localdomain ([91.205.168.69]) by smtp.gmail.com with ESMTPSA id d25-20020a19e619000000b00489c7fb668dsm536593lfh.182.2022.07.14.14.27.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Jul 2022 14:27:22 -0700 (PDT) Sender: Dmitry Selyutin From: Dmitry Selyutin To: binutils@sourceware.org Cc: Alan Modra , Luke Kenneth Casson Leighton , Dmitry Selyutin Subject: [PATCH] gas/symbols: do not panic upon resolving O_md Date: Fri, 15 Jul 2022 00:26:52 +0300 Message-Id: <20220714212651.297902-1-ghostmansd@gmail.com> X-Mailer: git-send-email 2.37.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-9.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2022 21:27:26 -0000 Assuming GMSD is a special operand, marked as O_md1, the code: .set VREG, GMSD .set REG, VREG extsw REG, 2 ...fails upon attempts to resolve the value of the symbol. This happens since machine-dependent values are not handled in the giant op switch. Machine-dependent expressions don't really need to be resolved, since the resolving process is really machine-dependent. We could have marked such symbols as resolving in port. However, we don't want to access the field which seems to be internal, and we especially don't want to perform this for each and every port. --- gas/symbols.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gas/symbols.c b/gas/symbols.c index 6904a3102c..fd2117f7da 100644 --- a/gas/symbols.c +++ b/gas/symbols.c @@ -1408,6 +1408,16 @@ resolve_symbol_value (symbolS *symp) BAD_CASE (op); break; + case O_md1...O_md32: + /* Machine-dependent expressions don't really need + * to be resolved, since the resolving process is + * really machine-dependent. We could have marked + * such symbols as resolving in port. However, we + * don't want to access the field which seems to be + * internal, and we especially don't want to perform + * this for each and every port. */ + break; + case O_absent: final_val = 0; /* Fall through. */ -- 2.37.0