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

Antoine Tremblay
2015-12-02T13:18:00Z

In this v4:

Patches [1-5] of the v3 have been pushed in.

A new patch 3 is now introduced to refactor arm_software_single_step to
use regcache instead of frame so that we can share the registry reading
function regcache_raw_read_unsigned between GDB and GDBServer.

This allows the removal of the operation collect_register_unsigned from
the get_next_pcs context structure.

Patch 1: is OK.
Patch 2: is OK.
Patch 3: New patch needs review.
Patch 4: Needs review. This was adapted based on the new patch 3.
Patch 5: is OK.
Patch 6: is OK.

---

This patch series adds support for software single step and conditional
breakpoints on ARM in GDBServer.

Patches 1,2,3 prepares for sharing of software single step code for ARM in
GDB with GDBServer.

Patch 4 Implements the support for ARM software single step.

Patch 5 Adds support for while-stepping actions.

Patch 6 Adds support for conditional breakpoints in GDBServer.

This patch set 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 thumbv1 instructions directly with
gcc -marmv4t, manual testing of the software single step was done for
thumv1 instructions.