This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 2/2] Support single step by arch or target
- From: Antoine Tremblay <antoine dot tremblay at ericsson dot com>
- To: Yao Qi <qiyaoltc at gmail dot com>
- Cc: <gdb-patches at sourceware dot org>
- Date: Tue, 1 Sep 2015 11:30:01 -0400
- Subject: Re: [PATCH 2/2] Support single step by arch or target
- Authentication-results: sourceware.org; auth=none
- References: <1441096915-23615-1-git-send-email-yao dot qi at linaro dot org> <1441096915-23615-3-git-send-email-yao dot qi at linaro dot org> <55E5A5A9 dot 4030603 at ericsson dot com> <86h9nez0aa dot fsf at gmail dot com>
On 09/01/2015 10:23 AM, Yao Qi wrote:
Antoine Tremblay <antoine.tremblay@ericsson.com> writes:
Could we name this can_hardware_single_step instead ? Since the target
may be able to software single step (in gdbserver). And thus it would
be confusing...It would also be more consistent with the
supports_hardware_single_step hook ?
If GDBserver can do software single step, this hook should return true
as well. Hardware single step and software single step in GDBserver
should make no difference to GDB.
OK right indeed,
--- a/gdb/arm-linux-tdep.c
+++ b/gdb/arm-linux-tdep.c
@@ -917,6 +917,11 @@ arm_linux_software_single_step (struct frame_info *frame)
if (arm_deal_with_atomic_sequence (frame))
return 1;
+ /* If the target does have hardware single step, GDB doesn't have
+ to bother software single step. */
+ if (target_can_do_single_step () == 1)
+ return 0;
+
next_pc = arm_get_next_pc (frame, get_frame_pc (frame));
/* The Linux kernel offers some user-mode helpers in a high page. We can
target_can_do_single_step () should be before
arm_deal_with_atomic_sequence ...
I am not sure we can do single step (via hardware and linux kernel)
for arm atomic sequence , but we can't do that for aarch64, see
aarch64-tdep.c:aarch64_software_single_step.
I see, thanks for the clarification.