aboutsummaryrefslogtreecommitdiff
path: root/gdb/gcore.c
diff options
context:
space:
mode:
authorMarkus Metzger <markus.t.metzger@intel.com>2018-02-26 11:59:43 +0100
committerMarkus Metzger <markus.t.metzger@intel.com>2018-03-01 12:25:24 +0100
commitb1223e789040e9e8cdc6869a8a1fd1fd7acc109d (patch)
treea78818f6114510019848a9479b8eaf5172868984 /gdb/gcore.c
parentca8e0133c4a99d9828beab2fc95699e9fb73815c (diff)
downloadgdb-b1223e789040e9e8cdc6869a8a1fd1fd7acc109d.zip
gdb-b1223e789040e9e8cdc6869a8a1fd1fd7acc109d.tar.gz
gdb-b1223e789040e9e8cdc6869a8a1fd1fd7acc109d.tar.bz2
btrace, gdbserver: check btrace target pointers
By removing the supports_btrace gdbserver target method we relied on GDB trying to enable branch tracing and failing on the attempt. For targets that do not provide the btrace methods, however, an initial request from GDB for the branch trace configuration to detect whether gdbserver is already recording resulted in a protocol error. Have the btrace target methods throw a "Target does not suppor branch tracing" error and be prepared to handle exceptions in all functions that call btrace target methods. We therefore turn the target_* macros into static inline functions. Also remove the additional btrace target method checks that resulted in the above protocol error. Thanks to Maciej W. Rozycki <macro@mips.com> for reporting this. gdbserver/ * target.h (target_enable_btrace, target_disable_btrace) (target_read_btrace, target_read_btrace_conf): Turn macro into inline function. Throw error if target method is not defined. * server.c (handle_qxfer_btrace, handle_qxfer_btrace_conf): Remove check for btrace target method. Be prepared to handle exceptions from btrace target methods.
Diffstat (limited to 'gdb/gcore.c')
0 files changed, 0 insertions, 0 deletions