This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 0/5] Software breakpoints support for ARM linux.
- From: Antoine Tremblay <antoine dot tremblay at ericsson dot com>
- To: <gdb-patches at sourceware dot org>
- Date: Fri, 18 Sep 2015 08:02:24 -0400
- Subject: [PATCH 0/5] Software breakpoints support for ARM linux.
- Authentication-results: sourceware.org; auth=none
This patch series adds software breakpoint support for ARM on linux.
This is a subset of a previous patchset :
https://sourceware.org/ml/gdb-patches/2015-09/msg00221.html
Other patches in that previous patchset will be sent after.
The problematic with ARM software breakpoints is that it can have 3 different
breakpoints one for each instruction set : arm, thumb, thumb2.
In order to allow that the patches :
"Support multiple breakpoint types per target in GDBServer." and
"Make breakpoint and breakpoint_len local variables in GDBServer."
Allow multiple breakpoints types to be used based on a target specific function
given the current PC.
The ARM implementation of this function is handled by the next patch :
"Add support for ARM breakpoint types in GDBServer."
Also as software breakpoints can have a arch specific encoded length called the
breakpoint kind like it is the case for ARM, GDBServer needs to take this into
account when inserting/removing or reinserting a breakpoint this is handled by :
"Handle breakpoint kinds for software breakpoints in GDBServer."
And finally software breakpoints via Z0 packets are enabled for ARM in :
"Support software breakpoints for ARM on linux."
This patchset has no 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 breakpoints was done for thumv1
instructions.