From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 6uV7G6ia+Gg+tQIAWB0awg (envelope-from ) for ; Wed, 22 Oct 2025 04:49:44 -0400 Received: by simark.ca (Postfix, from userid 112) id 61B5B1E04C; Wed, 22 Oct 2025 04:49:44 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, MAILING_LIST_MULTI,NICE_REPLY_A,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham 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 E9C631E04C for ; Wed, 22 Oct 2025 04:49:42 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8D51F3858C2D for ; Wed, 22 Oct 2025 08:49:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8D51F3858C2D Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by sourceware.org (Postfix) with ESMTP id 752AE3858C2D for ; Wed, 22 Oct 2025 08:49:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 752AE3858C2D 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 752AE3858C2D 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=1761122952; cv=none; b=EnxbJPVLx3O2RfagpyzqUlWtq9jxVQwvVPsWufJbrO9OXehC86OnU6mWC7lEA/TXeAR8You4g7kovhSVhFv0DTWqwQzFGxrYmTsxSHqHkUXEOFlnmiP71oTi+StmlygQwxjQ++cMvIwFR7NrA91UKhp1uktiaKtpXVi04eOZSiI= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1761122952; c=relaxed/simple; bh=e343OKve6lHsc+6eMsONa3x4isCf5SMjuzYcmn8HNg8=; h=Subject:To:From:Message-ID:Date:MIME-Version; b=gkE/PdnHVHKm/S0ibp4dnUHCHSBEZ7nrIPf7P0j6azvND9IQaPc5ECA1Cu3hV6t3UVms0Jay+cVb7Or0eMUSyWISLO+aUDFoxUiZpQWNw/EKo7hMj37D/5JkemKTl0YKednQw0RDDvq3QiTrikxjV1k75hMnvwEj2CV5M09tCt0= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 752AE3858C2D Received: from loongson.cn (unknown [113.200.148.30]) by gateway (Coremail) with SMTP id _____8BxT_B+mvho+joZAA--.54073S3; Wed, 22 Oct 2025 16:49:02 +0800 (CST) Received: from [10.130.10.66] (unknown [113.200.148.30]) by front1 (Coremail) with SMTP id qMiowJAxusB8mvhoaGf_AA--.13819S3; Wed, 22 Oct 2025 16:49:00 +0800 (CST) Subject: Re: [PATCH] fix: support LoongArch64 in my-syscalls.S to resolve step-over-thread-exit-while-stop-all-threads.exp build failure To: Coder_Y , gdb-patches@sourceware.org References: From: Tiezhu Yang Message-ID: Date: Wed, 22 Oct 2025 16:48:59 +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: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-CM-TRANSID: qMiowJAxusB8mvhoaGf_AA--.13819S3 X-CM-SenderInfo: p1dqw3xlh2x3gn0dqz5rrqw2lrqou0/ X-Coremail-Antispam: 1Uk129KBj93XoW7tF1rGr4furW3KFW3GrWkXwc_yoW8AFW7pF 1DZw45tr1rXFyIk3s7K34jqa4rtFs3ta43WrySyw4akrs8JrsYqry0qayFv343X3ySgrWS vw40y343uFyUXFXCm3ZEXasCq-sJn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUvjb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r106r15M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_ GcCE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqjxCEc2xF0cIa020Ex4CE44I27wAqx4 xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v2 6r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvEwIxGrwCYjI0SjxkI62AI1cAE67 vIY487MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAF wI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUXVWUAwCIc4 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/10/22 上午3:30, Coder_Y wrote: > This patch adds syscall wrappers for LoongArch64 to gdb/testsuite/lib/my-syscalls.S. It is better to change the patch title to: gdb/testsuite: Add LoongArch case in my-syscalls.S > - Implements the missing `__loongarch64` section > - Uses `lu12i.w` + `ori` to load the syscall number into `$a7` Why not using the instruction "li.w" directly? > - Triggers system calls via `syscall 0` > - Returns to caller using `jr $ra` You can use the instruction "ret" to make it more readable. please see opcodes/loongarch-opc.c file to get more info. > This change fixes build failures in LoongArch64 when running: > gdb.threads/step-over-thread-exit-while-stop-all-threads.exp > > Tested on: loongarch64-unknown-linux-gnu > Result: expected testcases passed Did you meet any real problems when debugging? If yes, please describe it in the commit message. > Signed-off-by: Nick Young Please use your real name here and make it consistent with 'From' instead of abbreviation. > --- > gdb/testsuite/lib/my-syscalls.S | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/gdb/testsuite/lib/my-syscalls.S b/gdb/testsuite/lib/my-syscalls.S > index c514b32d..a8862b5c 100644 > --- a/gdb/testsuite/lib/my-syscalls.S > +++ b/gdb/testsuite/lib/my-syscalls.S > @@ -63,6 +63,19 @@ NAME: ;\ > NAME ## _syscall: ;\ > svc #0 > > +#elif defined(__loongarch64) > + > +/* LoongArch 64-bit syscall wrapper */ > +#define SYSCALL(NAME, NR) \ > +.global NAME ;\ > +NAME: ;\ > + lu12i.w $a7, NR >> 12 ;\ > + ori $a7, $a7, NR & 0xfff ;\ > + /* syscall number */ \ > +NAME ## _syscall: ;\ > + syscall 0 ;\ > + jr $ra > + > #else > # error "Unsupported architecture" > #endif Thanks, Tiezhu