From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 8R6qAOY5pGhP4wYAWB0awg (envelope-from ) for ; Tue, 19 Aug 2025 04:46:30 -0400 Received: by simark.ca (Postfix, from userid 112) id E5BE51E048; Tue, 19 Aug 2025 04:46:29 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, MAILING_LIST_MULTI,NICE_REPLY_A,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=no autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 4A0641E048 for ; Tue, 19 Aug 2025 04:46:28 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D3713385625D for ; Tue, 19 Aug 2025 08:46:27 +0000 (GMT) Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by sourceware.org (Postfix) with ESMTP id 8F872385B529 for ; Tue, 19 Aug 2025 08:46:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8F872385B529 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=loongson.cn ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8F872385B529 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=114.242.206.163 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1755593171; cv=none; b=g/BAOyI4mNl42IINK1KVHzANxyBP2MyTVicKjlkSW1Ph9ckXruQe+P75vy0xoZR12WzRuIz2wEw5fOwGptgfUlTuX76bY7S/iib6GoHCCqgYlLq/pqv4n73CuseLj9Gz4qLFxZCvcMe0hJhMrZ1AVI5g+7u5ci1DoQbwZcOGkLc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1755593171; c=relaxed/simple; bh=COBzKNd1XF0VAQ4DXg3xFUxwbe0X8nTKcld+SvKeRK4=; h=Subject:To:From:Message-ID:Date:MIME-Version; b=qKpUtuj13Xiuy0OV+A8CC3M8EfESMmbZ+Hvmk2YyvY7ndYBxBCbJi4l/0j+G9DTDYNIewGZcMtRYCTbyQEVm9wQNfzngcfA4HYfp+9e3D8d+m8WMlqwTnmVWFbcrul6c0FT50Eo8cAi5Ry0JiTLVRdkIsjE+qepBx5tiX3fAaEo= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8F872385B529 Received: from loongson.cn (unknown [113.200.148.30]) by gateway (Coremail) with SMTP id _____8BxXNLLOaRoskwAAA--.577S3; Tue, 19 Aug 2025 16:46:03 +0800 (CST) Received: from [10.130.10.66] (unknown [113.200.148.30]) by front1 (Coremail) with SMTP id qMiowJAxT+bFOaRoZOBXAA--.5438S3; Tue, 19 Aug 2025 16:45:58 +0800 (CST) Subject: Re: [PATCH] gdb: LoongArch: Recognize LoongArch v1.10 store conditional instructions To: Xi Ruoyao , gdb-patches@sourceware.org Cc: Hui Li , Lulu Cheng , Mingcong Bai , Xuerui Wang References: <20250819073626.46815-1-xry111@xry111.site> From: Tiezhu Yang Message-ID: <9d8a7bab-e3fe-3083-e6ce-12b9ce48192b@loongson.cn> Date: Tue, 19 Aug 2025 16:45:56 +0800 User-Agent: Mozilla/5.0 (X11; Linux loongarch64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20250819073626.46815-1-xry111@xry111.site> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-CM-TRANSID: qMiowJAxT+bFOaRoZOBXAA--.5438S3 X-CM-SenderInfo: p1dqw3xlh2x3gn0dqz5rrqw2lrqou0/ X-Coremail-Antispam: 1Uk129KBj93XoW7ZrWUZw43WF15XF43ZFW3twc_yoW8Zr4fpr 13A3W3GF48Xrs7ZrsrG34FqF1YqrWxKFyxX3ZFyryfuryIgF90gw1xt3yYqr13W34DZa12 qF4Ika40vF15uabCm3ZEXasCq-sJn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUvjb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r106r15M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_ GcCE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqjxCEc2xF0cIa020Ex4CE44I27wAqx4 xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v2 6r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvEwIxGrwCYjI0SjxkI62AI1cAE67 vIY487MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAF wI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc4 0Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AK xVWUJVW8JwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr 1lIxAIcVC2z280aVCY1x0267AKxVWUJVW8JbIYCTnIWIevJa73UjIFyTuYvjxU25EfUUUU U X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org On 2025/8/19 下午3:33, Xi Ruoyao wrote: > We can't put a breakpoint in the middle of a ll/sc atomic sequence, > recognize the sc.q, screl.w, and screl.d instructions added in LoongArch sc.q, ll.acq.{w/d}, sc.rel.{w/d} > v1.10 so a ll/sc atomic sequence using them won't loop forever being > debugged. It is better to add the references: https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html#_sc_q https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html#_ll_acq_wd_sc_rel_wd > Signed-off-by: Xi Ruoyao > --- > gdb/loongarch-tdep.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/gdb/loongarch-tdep.c b/gdb/loongarch-tdep.c > index cc75cd4a3d3..7556b81a9fa 100644 > --- a/gdb/loongarch-tdep.c > +++ b/gdb/loongarch-tdep.c > @@ -98,7 +98,9 @@ static bool > loongarch_insn_is_ll (insn_t insn) > { > if ((insn & 0xff000000) == 0x20000000 /* ll.w */ > - || (insn & 0xff000000) == 0x22000000) /* ll.d */ > + || (insn & 0xff000000) == 0x22000000 /* ll.d */ > + || (insn & 0xfffffc00) == 0x38578000 /* llacq.w */ > + || (insn & 0xfffffc00) == 0x38578800) /* llacq.d */ > return true; > return false; > } > @@ -109,7 +111,10 @@ static bool > loongarch_insn_is_sc (insn_t insn) > { > if ((insn & 0xff000000) == 0x21000000 /* sc.w */ > - || (insn & 0xff000000) == 0x23000000) /* sc.d */ > + || (insn & 0xff000000) == 0x23000000 /* sc.d */ > + || (insn & 0xffff8000) == 0x38570000 /* sc.q */ > + || (insn & 0xfffffc00) == 0x38578400 /* screl.w */ > + || (insn & 0xfffffc00) == 0x38578c00) /* screl.d */ > return true; > return false; > } The encodings for the instructions that you're handling look correct to me. I prefer using ll.acq.w, ll.acq.d, sc.rel.w, sc.rel.d in the code comments to make consistent with the manual. If no more comments, I will amend these when applying in the next week, no need to send v2. Thanks, Tiezhu