This is the mail archive of the gdb-testers@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]

[binutils-gdb] btrace, gdbserver: check btrace target pointers


*** TEST RESULTS FOR COMMIT b1223e789040e9e8cdc6869a8a1fd1fd7acc109d ***

Author: Markus Metzger <markus.t.metzger@intel.com>
Branch: master
Commit: b1223e789040e9e8cdc6869a8a1fd1fd7acc109d

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.


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