This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
[binutils-gdb] [OBV] gdbserver: Only write ipa_tdesc_idx if agent is actually loaded.
- From: Marcin at sourceware dot org, Koś at sourceware dot org;cielnicki <mwk at sourceware dot org>
- To: gdb-cvs at sourceware dot org
- Date: 2 Mar 2016 16:19:43 -0000
- Subject: [binutils-gdb] [OBV] gdbserver: Only write ipa_tdesc_idx if agent is actually loaded.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6896a8fa1e1d24a8fcc9b30efc0b195246b46029
commit 6896a8fa1e1d24a8fcc9b30efc0b195246b46029
Author: Marcin KoÅ?cielnicki <koriakin@0x04.net>
Date: Wed Mar 2 17:18:29 2016 +0100
[OBV] gdbserver: Only write ipa_tdesc_idx if agent is actually loaded.
Fixes rather embarassing gdb.trace regressions.
gdb/gdbserver/ChangeLog:
* tracepoint.c (cmd_qtstart): Only set ipa_tdesc_idx if agent
is actually loaded.
Diff:
---
gdb/gdbserver/ChangeLog | 5 +++++
gdb/gdbserver/tracepoint.c | 11 +++++++----
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 4c8df3f..40150d7 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,8 @@
+2016-03-02 Marcin KoÅ?cielnicki <koriakin@0x04.net>
+
+ * tracepoint.c (cmd_qtstart): Only set ipa_tdesc_idx if agent
+ is actually loaded.
+
2016-02-25 Marcin KoÅ?cielnicki <koriakin@0x04.net>
* linux-s390-low.c (s390_num_regs_3264): Define on 31-bit too.
diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c
index dbd0b46..383fb71 100644
--- a/gdb/gdbserver/tracepoint.c
+++ b/gdb/gdbserver/tracepoint.c
@@ -3214,10 +3214,13 @@ cmd_qtstart (char *packet)
*packet = '\0';
- /* Tell IPA about the correct tdesc. */
- if (write_inferior_integer (ipa_sym_addrs.addr_ipa_tdesc_idx,
- target_get_ipa_tdesc_idx ()))
- error ("Error setting ipa_tdesc_idx variable in lib");
+ if (agent_loaded_p ())
+ {
+ /* Tell IPA about the correct tdesc. */
+ if (write_inferior_integer (ipa_sym_addrs.addr_ipa_tdesc_idx,
+ target_get_ipa_tdesc_idx ()))
+ error ("Error setting ipa_tdesc_idx variable in lib");
+ }
/* Start out empty. */
if (agent_loaded_p ())