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]

[PATCH v3 0/10] Support software single step and conditional breakpoints on ARM in GDBServer.


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.



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