From patchwork Mon Aug 12 15:43:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 95698 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 EE69B3858D20 for ; Mon, 12 Aug 2024 15:46:02 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pg1-x529.google.com (mail-pg1-x529.google.com [IPv6:2607:f8b0:4864:20::529]) by sourceware.org (Postfix) with ESMTPS id A57913858D39 for ; Mon, 12 Aug 2024 15:43:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A57913858D39 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A57913858D39 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::529 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1723477408; cv=none; b=Sg8HnYmKDZ5D9dJqAddBOGdlIyXCSQfRRfEUjFaHCx/Wlj2TaUToNNkWCec4LirxtVkMPIUNJmSw2suReOboeppBAK5d5Zfz5kWDNRHIXQGqfacZHZK2cH1BTQJSkIyAkVh1pkow06NryEKy+XAJPdsz5cu95p5T8SReiC27jJw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1723477408; c=relaxed/simple; bh=d+ucOVCZy5VfTSDayDg62vx+buAk1kvP9kchB2CfDYg=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=EX07zLhH92MtkWx+WgMPmgImDKfMj+ocjgGDIRV60vxFz4i6LPwXNwj55i4kudjbRFjTYSM9VjozupVGPc1IhZAEhAxwUk47qWpoiBNVjbYDEhwTPQp39p3G7Q/l4BMxy/QlscrfcUZLrhbn9IX8sPhidsVceeLR9GPwhgSS0Pc= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pg1-x529.google.com with SMTP id 41be03b00d2f7-7a0b2924e52so2166244a12.2 for ; Mon, 12 Aug 2024 08:43:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723477404; x=1724082204; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9ekESP2zEWOpb6fD8ziJhhc4PEuRhBDnNjV8tZ/YgTM=; b=Cfw3ChEhoVRcK11jnCA9px43q5qGPymeRQfEh8WsMRD1sUZt0Gzmso655ys9kMdswv LOmbTz43FGSaFPt1383olU8LvYWp0Nq2NmKCn835R7WXxUC7lMcHVvE+fiJgOkNk/hVk be5v4hiYIg/xvBOgvvuVBjZaLArfQW6vOoDEq75mtLaTdn6But6dDHwOzXm49F7A+spN 5TomSIConWE1Pdfuhs+JWgT9XVNefessIMH8xC3/jAml73RsSoT28NxZTY6lJ6TxQl+p JqNJRVj1WK77P0z2H/0Fz5x0VezzUlLfI7ACOnjHKr0XRaQ9WR3R5s6+zqnE/62Pv2zk wfEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723477404; x=1724082204; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9ekESP2zEWOpb6fD8ziJhhc4PEuRhBDnNjV8tZ/YgTM=; b=KciDsU1btB8fb2M5QV069zlyQW7+Bumx7ZDe9A+CqBcDj7+LjdeNI2/GBIZtorTp8x FKvzF66+j8Y8TA+YXzLBj9OYarojD53bGwFZ8HBO8b5f9rLiEMPpEgIU28cdsuHtr5fl SPkbWOcfiyn09JNDjO/dtlZb80p8qjHZxJSmYH+hU5kNOICaeX802s9CPBjOfCmhpOyf +zmcNAuzkY86uZDM1sKl42eJxWKvOqb1n/SPf7oru53/mJOXdxgNABC9lhquhAAQ0o5/ F6QuozhuHBJENAPAMDoJodESjM/tUEN24tG37XBVZDANzHjvYvRcXVf+2DybZUhmZIIe TMiA== X-Gm-Message-State: AOJu0Yx5805Rbq3yS6LXsNFiqVOhdbEui9qoYZA2IGwoOflXDeRMOkWW bCllrTb/A8O5m/V2vfE4wJdBD9AC0iBKnCcWZN+lLpD3jFM9H6KhwBEOwY6s X-Google-Smtp-Source: AGHT+IFP4CUSHmjC9uJE/LfDbfsSVmDkCn9vzpGEjgno692AjogmUSPd4atqFXgTGeJQM4PdXGSQCA== X-Received: by 2002:a17:90a:fe94:b0:2c9:65f5:5f61 with SMTP id 98e67ed59e1d1-2d3924dc824mr672667a91.9.1723477404406; Mon, 12 Aug 2024 08:43:24 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.56.169.70]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2d1fced8f5esm5315954a91.20.2024.08.12.08.43.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Aug 2024 08:43:24 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id 9594F7406AA; Mon, 12 Aug 2024 08:43:22 -0700 (PDT) From: "H.J. Lu" To: binutils@sourceware.org Cc: nickc@redhat.com, jbeulich@suse.com Subject: [PATCH v4 1/3] Revert "gas: drop scrubber states 14 and 15" Date: Mon, 12 Aug 2024 08:43:20 -0700 Message-ID: <20240812154322.2315864-2-hjl.tools@gmail.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240812154322.2315864-1-hjl.tools@gmail.com> References: <20240812154322.2315864-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3016.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_STOCKGEN, RCVD_IN_ABUSEAT, RCVD_IN_DNSWL_NONE, RCVD_IN_SBL_CSS, 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.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 This reverts commit 7dd0dfbde7ee31167a3b2e192a575493d26b7b0a. This is a prerequisite for the PR gas/32073 fix. --- gas/app.c | 29 +++++++++++++++++++++++++++++ gas/config/tc-ia64.h | 3 +++ gas/config/tc-tic6x.h | 2 ++ 3 files changed, 34 insertions(+) diff --git a/gas/app.c b/gas/app.c index a47276e4816..b88b4c96137 100644 --- a/gas/app.c +++ b/gas/app.c @@ -485,6 +485,12 @@ do_scrub_chars (size_t (*get) (char *, size_t), char *tostart, size_t tolen, 13: After seeing a vertical bar, looking for a second vertical bar as a parallel expression separator. #endif +#ifdef TC_PREDICATE_START_CHAR + 14: After seeing a predicate start character at state 0, looking + for a predicate end character as predicate. + 15: After seeing a predicate start character at state 1, looking + for a predicate end character as predicate. +#endif #ifdef TC_Z80 16: After seeing an 'a' or an 'A' at the start of a symbol 17: After seeing an 'f' or an 'F' in state 16 @@ -771,6 +777,29 @@ do_scrub_chars (size_t (*get) (char *, size_t), char *tostart, size_t tolen, /* flushchar: */ ch = GET (); +#ifdef TC_PREDICATE_START_CHAR + if (ch == TC_PREDICATE_START_CHAR && (state == 0 || state == 1)) + { + state += 14; + PUT (ch); + continue; + } + else if (state == 14 || state == 15) + { + if (ch == TC_PREDICATE_END_CHAR) + { + state -= 14; + PUT (ch); + ch = GET (); + } + else + { + PUT (ch); + continue; + } + } +#endif + recycle: #if defined TC_ARM && defined OBJ_ELF diff --git a/gas/config/tc-ia64.h b/gas/config/tc-ia64.h index 665272adde3..8ab05373f6e 100644 --- a/gas/config/tc-ia64.h +++ b/gas/config/tc-ia64.h @@ -78,6 +78,9 @@ extern const char *ia64_target_format (void); #define LEX_QM (LEX_NAME|LEX_BEGIN_NAME) /* allow `?' inside name */ #define LEX_HASH LEX_END_NAME /* allow `#' ending a name */ +#define TC_PREDICATE_START_CHAR '(' +#define TC_PREDICATE_END_CHAR ')' + extern const char ia64_symbol_chars[]; #define tc_symbol_chars ia64_symbol_chars diff --git a/gas/config/tc-tic6x.h b/gas/config/tc-tic6x.h index f21673e2d36..0b4223961e9 100644 --- a/gas/config/tc-tic6x.h +++ b/gas/config/tc-tic6x.h @@ -24,6 +24,8 @@ #define DOUBLEBAR_PARALLEL #define DWARF2_LINE_MIN_INSN_LENGTH 2 #define MD_APPLY_SYM_VALUE(FIX) 0 +#define TC_PREDICATE_START_CHAR '[' +#define TC_PREDICATE_END_CHAR ']' /* For TI C6X, we keep spaces in what the preprocessor considers operands as they may separate functional unit specifiers from operands. */