From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10710 invoked by alias); 15 Oct 2014 11:12:11 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 10700 invoked by uid 89); 15 Oct 2014 11:12:11 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 15 Oct 2014 11:12:09 +0000 Received: from svr-orw-fem-05.mgc.mentorg.com ([147.34.97.43]) by relay1.mentorg.com with esmtp id 1XeMUv-0002cw-DP from Yao_Qi@mentor.com ; Wed, 15 Oct 2014 04:12:05 -0700 Received: from GreenOnly (147.34.91.1) by svr-orw-fem-05.mgc.mentorg.com (147.34.97.43) with Microsoft SMTP Server id 14.3.181.6; Wed, 15 Oct 2014 04:12:04 -0700 From: Yao Qi To: Pedro Alves CC: Subject: Re: [PATCH] stepi/nexti: skip signal handler if "handle nostop" signal arrives References: <1413308910-30423-1-git-send-email-palves@redhat.com> Date: Wed, 15 Oct 2014 11:12:00 -0000 In-Reply-To: <1413308910-30423-1-git-send-email-palves@redhat.com> (Pedro Alves's message of "Tue, 14 Oct 2014 18:48:30 +0100") Message-ID: <87oatdmvzd.fsf@codesourcery.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2014-10/txt/msg00384.txt.bz2 Pedro Alves writes: > I think that having to explain that "stepi" steps into handlers, (and > that "nexti" wouldn't according to my reasoning above), while "step" > does, is a sign of an awkward interface. > I suspect you meant "step" does NOT, right? > diff --git a/gdb/infrun.c b/gdb/infrun.c > index d61cc12..3682765 100644 > --- a/gdb/infrun.c > +++ b/gdb/infrun.c > @@ -4455,7 +4455,8 @@ handle_signal_stop (struct execution_control_state = *ecs) >=20=20 > if (ecs->event_thread->control.step_range_end !=3D 0 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Is it still needed? > && ecs->event_thread->suspend.stop_signal !=3D GDB_SIGNAL_0 > - && pc_in_thread_step_range (stop_pc, ecs->event_thread) > + && (pc_in_thread_step_range (stop_pc, ecs->event_thread) > + || ecs->event_thread->control.step_range_end =3D=3D 1) > && frame_id_eq (get_stack_frame_id (frame), > ecs->event_thread->control.step_stack_frame_id) > && ecs->event_thread->control.step_resume_breakpoint =3D=3D NULL) --=20 Yao (=E9=BD=90=E5=B0=A7)