From patchwork Wed May 15 07:04:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fangrui Song X-Patchwork-Id: 90167 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 02BAD3875DC9 for ; Wed, 15 May 2024 07:04:37 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by sourceware.org (Postfix) with ESMTPS id 341053858D33 for ; Wed, 15 May 2024 07:04:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 341053858D33 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=flex--maskray.bounces.google.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 341053858D33 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::b49 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715756654; cv=none; b=w/LFTZ08Ot6NynRwlbgIvpp0awg9W6/HSbLCQ+yqdIt7ASk+2LmsxOLm6nNBBgE3q9bP92AJH6veF2kSHFD8THtQFqdZNh4daWtXz1gFelU5tsDC1ZfN7VhF9JJMAK6ftJ4lMQjtolVau9H116b5e6OcyRYkBclXfRf9Ceqx2Aw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715756654; c=relaxed/simple; bh=XiqrV38TMviskdMUoC7/GB7fADq4wfBm0jqiHpuFpuE=; h=DKIM-Signature:Date:Mime-Version:Message-ID:Subject:From:To; b=N+zJ8uAFC8YQZw5OuNUgC8Usvzk4qz6M/5V1ORgDumMQYStLgO2IShshPRXIzwZkXigIWTc0UIADNyvExgTg7WczroEJr6QeN37a0gYzOIv71LvGrT7SeMrZ/Y4x63ZcWaojUz4CmqtKfLJZsgwrGQkENdZkBSKpnm3jyjCkutE= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-dee8315174dso5924940276.0 for ; Wed, 15 May 2024 00:04:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1715756647; x=1716361447; darn=sourceware.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=kjklmd9kgbUL3FOBjjG+66UNNTsDOONMQGBlW+3A3J4=; b=2oBi8LX40Mq1Ueb7iOpsgcq/YQKZcIDrn+7tU8g5T0WxdxfMiIZ8homt9I2o5nUQuy sg3YadShBkE70V5iUhFMQ76bySkuxJm+YPtyWF/wcl5GrYwhgP1ofv/oVANOkiFf5l9e /MkK/UqHZjaNLv1hf46wFN9XKgQt4QZGxriwgeaEjAXParYACNRDHhtRDYGgRh4Ts0im MQRh7a8UbPydTb70sKKW50lZ80pQnbgkoZ75XbDzOcXIdWTLSslpdk4QN0xQ7DwMYCn6 CLU4+wmZ3VSKZOuOBtv7PeAZ8n97rr/M5T714t/zqUB6j76HT9EjFLOQqvjWNRf8N4Ni AQTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715756647; x=1716361447; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=kjklmd9kgbUL3FOBjjG+66UNNTsDOONMQGBlW+3A3J4=; b=Ki2hBvsYxHV7IXPRcSDBrLEoyWzelHOk28qhut1Cq2YTqd4TCa6dHa0oABtn6Rvv85 wlIMDqrM5XAe8Mm9KwDltamcGPAVf2trAOnZyr7K+mDnVquSoh3WHD/8egUhpVhXoWMC ZbhqyMwsWQzrlWf8MCGV/rIr2seGNjTCL3ok/mOqq2G0nMxU6Rb7HXe0KxCP/lpRq52B FAl7AHUH6FUL3LRSh1xlcMTkcms7IFdFJB3HUG/2iRTMSFVfrB1JEhZ/mYnSaMTAhEZL UYNRR10BM7+z6QNxHF9yVK1ysOwQ/mxvavtPQhHTHTgTJFBx2va/atbYz/UFIv/enVKl aIog== X-Forwarded-Encrypted: i=1; AJvYcCXl7EGh44S2IeViJEzd1RErNV4cCxMtvHBX9+IHkxZkXNa9F/WpOp125dMRPS/QwHpS5rcsqlm+BUFKbRYaNmNKSVIwpDBH4w== X-Gm-Message-State: AOJu0Yw4m9yPtqXzmufdAebn7PlUFLyfxhJAZo/SuvVHIdGh4iZqnn17 tLC+HaeW1FSKtH3xc0FGhW9zZc5I/xH9PADTiQ3lkkmwo4QmTSUTINeRHnt0x8o9F859IVbUT1M nCEgAfA== X-Google-Smtp-Source: AGHT+IEG1/02vYgpkOoa/ClK8HuAh1tBffeXNyRF5UVCATYBNANObINK0SOlXyYaIe+HoterOOkyjc+wtYkk X-Received: from maskray.svl.corp.google.com ([2620:15c:2d3:205:b7b4:65f8:e63a:78ca]) (user=maskray job=sendgmr) by 2002:a05:6902:1082:b0:de5:9ecc:46b6 with SMTP id 3f1490d57ef6-dee4e5c7594mr4217374276.6.1715756647548; Wed, 15 May 2024 00:04:07 -0700 (PDT) Date: Wed, 15 May 2024 00:04:02 -0700 Mime-Version: 1.0 Message-ID: <20240515070402.3015283-1-maskray@google.com> Subject: [PATCH] gas: Fix \+ expansion for .irp and .irpc From: Fangrui Song To: Nick Clifton , binutils@sourceware.org Cc: Fangrui Song X-Spam-Status: No, score=-19.8 required=5.0 tests=BAYES_00, DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, USER_IN_DEF_DKIM_WL 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.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: Fangrui Song .irp and .irpc receive a null macro_entry. \+ causes a crash after the recent \+ support. Restore the previous behavior. Signed-off-by: Fangrui Song --- gas/macro.c | 2 +- gas/testsuite/gas/macros/count.l | 2 ++ gas/testsuite/gas/macros/count.s | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gas/macro.c b/gas/macro.c index 72d869d317f..483b1b51449 100644 --- a/gas/macro.c +++ b/gas/macro.c @@ -854,7 +854,7 @@ macro_expand_body (sb *in, sb *out, formal_entry *formals, sprintf (buffer, "%u", macro_number); sb_add_string (out, buffer); } - else if (src < in->len && in->ptr[src] == '+') + else if (src < in->len && in->ptr[src] == '+' && macro) { /* Sub in the current macro invocation number. */ diff --git a/gas/testsuite/gas/macros/count.l b/gas/testsuite/gas/macros/count.l index 3418b0bab00..ca666ea0195 100644 --- a/gas/testsuite/gas/macros/count.l +++ b/gas/testsuite/gas/macros/count.l @@ -8,3 +8,5 @@ 1 4 2 +\+ +\+ diff --git a/gas/testsuite/gas/macros/count.s b/gas/testsuite/gas/macros/count.s index c752ca8367d..ff04e5f4f15 100644 --- a/gas/testsuite/gas/macros/count.s +++ b/gas/testsuite/gas/macros/count.s @@ -17,3 +17,7 @@ mac1 2 mac2 3 + + .irp i,1,2 + .print "\+" + .endr