This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH v3 0/10] Support software single step and conditional breakpoints on ARM in GDBServer.
- From: Antoine Tremblay <antoine dot tremblay at ericsson dot com>
- To: <gdb-patches at sourceware dot org>
- Date: Mon, 23 Nov 2015 09:12:38 -0500
- Subject: [PATCH v3 0/10] Support software single step and conditional breakpoints on ARM in GDBServer.
- Authentication-results: sourceware.org; auth=none
In this v3:
* Refactored the get_next_pcs call in GDBServer as such :
VEC (CORE_ADDR) *(*get_next_pcs) (CORE_ADDR pc, struct regcache *regcache);
This allows the removal of the get_next_pcs base structure that was in
common/get-next-pcs.h, in fact it removes the whole file.
The common arm_get_next_pcs call has also been refactored the same way like so :
VEC (CORE_ADDR) *arm_get_next_pcs (struct arm_get_next_pcs *self,
CORE_ADDR pc);
* Use ctor functions to construct gdb|gdbserver_get_next_pcs context.
* Some style fixes.
Patches 1 to 3: are OK already.
Patch 4: Needs v3 review.
Patch 5: is OK.
Patch 6 to 8: Needs v3 review.
Patch 9 and 10: are OK.
----
This patch series adds support for software single step and conditional
breakpoints on ARM in GDBServer.
Patches 1 and 2 fix general issues in the software single step control flow.
Patches 3 to 5 Removes the too simple implementations of software single
step that were in place and paves to way for full software single step to
be implemented.
Patches 6 and 7 Prepares the sharing of the software single step code for
ARM in GDB with GDBServer.
Patch 8 Implements the support for ARM software single step.
Patch 9 Adds support for while-stepping actions.
Patch 10 Adds supports for conditional breakpoints in GDBServer.
This patchset has no observed regressions, tested on ubuntu 14.04 ARMv7 and x86.
With gdbserver-{native,extended} / { -marm -mthumb }
Note also that while I could not test directly thumbv1 instructions with gcc
-marmv4t , manual testing of the software single step was done for thumv1
instructions.