This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 2/2] Support single step by arch or target




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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]