Markus reported that ASNS breaks target record-btrace. In particular,
the gdb.btrace/multi-thread-step.exp test fails (both with BTS and PT
tracing) with a crash in py-inferior.c:
Program received signal SIGSEGV, Segmentation fault.
0x00000000006aa40d in add_thread_object (tp=0x27d32d0)
at /users/mmetzger/team/gdb/git/gdb/python/py-inferior.c:337
337 entry->next = inf_obj->threads;
My machine doesn't support BTS nor PT, so I missed this...
Disabling ASNS temporarily on x86 until this is addressed.
Tested on x86_64 Fedora 20.
gdb/ChangeLog:
2015-08-18 Pedro Alves <palves@redhat.com>
* linux-nat.c (linux_nat_always_non_stop_p): If the linux_ops
target implements to_always_non_stop_p, call it.
* x86-linux-nat.c (x86_linux_always_non_stop_p): New function.
(x86_linux_create_target): Install it as to_always_non_stop_p
method.
+2015-08-18 Pedro Alves <palves@redhat.com>
+
+ * linux-nat.c (linux_nat_always_non_stop_p): If the linux_ops
+ target implements to_always_non_stop_p, call it.
+ * x86-linux-nat.c (x86_linux_always_non_stop_p): New function.
+ (x86_linux_create_target): Install it as to_always_non_stop_p
+ method.
+
2015-08-17 Doug Evans <dje@google.com>
* ui-out.c (default_ui_out_impl): Add comment.
static int
linux_nat_always_non_stop_p (struct target_ops *self)
{
+ if (linux_ops->to_always_non_stop_p != NULL)
+ return linux_ops->to_always_non_stop_p (linux_ops);
return 1;
}
}
\f
+/* to_always_non_stop_p implementation. */
+
+static int
+x86_linux_always_non_stop_p (struct target_ops *self)
+{
+ /* Enabling this breaks the btrace target. */
+ return 0;
+}
+
/* Create an x86 GNU/Linux target. */
struct target_ops *
t->to_read_btrace = x86_linux_read_btrace;
t->to_btrace_conf = x86_linux_btrace_conf;
+ t->to_always_non_stop_p = x86_linux_always_non_stop_p;
+
return t;
}