From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 2448A3858C54 for ; Thu, 11 May 2023 21:04:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2448A3858C54 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1683839052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=szNu88hjeSIuhJ374xzZ5tsX5rlyq/ipOk9SFCgXrqk=; b=gckH+lm/5RnIbUts1hhBrjHbB0eFFC0fAKYCPNf6o5W9vmL6Fl96iki0MfBdsm0D9N3KvT 7uWXrV5FyIYQxLLI/ZijVd06xYRa8gVmwaY1F9lIvoarriu45QpfTyu5rZMdgjIbL7cYAK ln2sdAuDLhzobPllp+6IU2/yUxR2yKY= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-80-qDjKRqumNMGL_VSzgcykVg-1; Thu, 11 May 2023 17:04:09 -0400 X-MC-Unique: qDjKRqumNMGL_VSzgcykVg-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5BE5E85A5A3; Thu, 11 May 2023 21:04:09 +0000 (UTC) Received: from f37-zws-nv (unknown [10.22.10.82]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E73B063F8F; Thu, 11 May 2023 21:04:08 +0000 (UTC) Date: Thu, 11 May 2023 14:04:07 -0700 From: Kevin Buettner To: Cc: gdb-patches@sourceware.org, Subject: Re: [PATCH] [patch] gdbserver assert error on arm platform Message-ID: <20230511140407.0a0977fb@f37-zws-nv> In-Reply-To: <20230511062001.2745878-1-zhiyong.yan@windriver.com> References: <20230511062001.2745878-1-zhiyong.yan@windriver.com> Organization: Red Hat MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,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 List-Id: I have some formatting nits as well as a request for a test case. See below... On Thu, 11 May 2023 14:20:01 +0800 wrote: > From: Zhiyong Yan > > Bugzilla 30387 has given the steps of producing this issue on arm platform. > Gdb should not assume pending threads always generate ___a non-gdbserver trap event___, a ___Signal 17___ event could happen. > Now that resume_stopped_resumed_lwps() -> may_hw_step() assumes that the break point must already exist, resume_one_thread() should ensure the software breaking point is installed although the thread is pending. In addition to the provided patch, could you also add a test case? > > LINK: https://sourceware.org/bugzilla/show_bug.cgi?id=30387 s/LINK/Bug/ > > Signed-off-by: Zhiyong Yan zhiyong.yan@windriver.com > --- > gdbserver/linux-low.cc | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc > index e6a39202a98..543daf66376 100644 > --- a/gdbserver/linux-low.cc > +++ b/gdbserver/linux-low.cc > @@ -4670,8 +4670,16 @@ linux_process_target::resume_one_thread (thread_info *thread, > > proceed_one_lwp (thread, NULL); > } > - else > - threads_debug_printf ("leaving LWP %ld stopped", lwpid_of (thread)); > + else{ > + threads_debug_printf ("leaving LWP %ld stopped", lwpid_of (thread)); > + if(thread->last_resume_kind == resume_step){ Missing space before left paren and after right paren. > + /* > + * If resume_step is required by GDB, install single-step breakpoint. > + */ Format the above comment as: /* If resume_step is required by GDB, install single-step breakpoint. */ If you want to use a block comment, don't prefix each line with a '*'. Also, the trailing '*/' should be placed at the end of the last line in the block comment. Likewise for the leading '/*'. > + if (supports_software_single_step()) Missing space before '()'. > + install_software_single_step_breakpoints (lwp); > + } > + } > > thread->last_status.set_ignore (); > lwp->resume = NULL; > -- > 2.25.1 >