x86/Linux: disable all-stop on top of non-stop
authorPedro Alves <palves@redhat.com>
Tue, 18 Aug 2015 10:04:30 +0000 (11:04 +0100)
committerPedro Alves <palves@redhat.com>
Tue, 18 Aug 2015 10:04:30 +0000 (11:04 +0100)
commitb2a33439909493f5bf93ada871bd588f365d61f4
tree86c6fa241c8e7f7cc89cc1eaa323e690f5b3a2a2
parentfe875424a05df7c4055cd9382ab76f65e952c4dd
x86/Linux: disable all-stop on top of non-stop

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.
gdb/ChangeLog
gdb/linux-nat.c
gdb/x86-linux-nat.c