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

Antoine Tremblay
2015-12-08T14:07:32Z

In this v7:

* New patch 3 changes magic numbers for syscall check to numbers computed
from xml-syscall.

* Patch 4 now uses the new xml-syscall function to compare syscalls.
It also uses the INT_REGISTER_SIZE and ARM_PC_REGNUM defines.

* Patch 5: Fixed Makefile changelog.

* Patch 6:
** Cleanup where arm-get-next-pcs.h is included.
** Move unrelated functions and macros from arm-get-next-pcs.h/.c to arm.h/.c.
** Fixed arm/thumb_deal_with_atomic_sequence calls.
** Fixed changelog Makefile entries.
** Fixed changelog configure.tgt/srv entries.
** Use __NR_sigreturn and __NR_rt_sigreturn to check for sigreturn syscall
in GDBServer.

Patch 1: is OK.
Patch 2: is OK.
Patch 3: Needs review. New patch.
Patch 4: Needs review.
Patch 5: is OK with changelog fix.
Patch 6: Needs review.
Patch 7: is OK.
Patch 8: is OK.

---

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

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

Patch 6 Implements the support for ARM software single step.

Patch 7 Adds support for while-stepping actions.

Patch 8 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.