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 0/5] Software breakpoints support for ARM linux.


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. 



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