[pushed] x86/Linux: reenable all-stop on top of non-stop

Message ID 1443637506-29442-1-git-send-email-palves@redhat.com
State New, archived
Headers

Commit Message

Pedro Alves Sept. 30, 2015, 6:25 p.m. UTC
  Since the record-btrace target now supports non-stop mode, we no
longer need to force-disable as-ns on x86.

gdb/ChangeLog:
2015-09-30  Pedro Alves  <palves@redhat.com>

	* linux-nat.c (linux_nat_always_non_stop_p): Always return 1.
	* x86-linux-nat.c (x86_linux_always_non_stop_p): Delete.
	(x86_linux_create_target): Don't install
	x86_linux_always_non_stop_p.
---
 gdb/ChangeLog       |  7 +++++++
 gdb/linux-nat.c     |  2 --
 gdb/x86-linux-nat.c | 11 -----------
 3 files changed, 7 insertions(+), 13 deletions(-)
  

Comments

Jan Kratochvil Oct. 25, 2015, 2:51 p.m. UTC | #1
On Wed, 30 Sep 2015 20:25:06 +0200, Pedro Alves wrote:
> Since the record-btrace target now supports non-stop mode, we no
> longer need to force-disable as-ns on x86.
[...]
> 	* linux-nat.c (linux_nat_always_non_stop_p): Always return 1.
> 	* x86-linux-nat.c (x86_linux_always_non_stop_p): Delete.
> 	(x86_linux_create_target): Don't install
> 	x86_linux_always_non_stop_p.

PASS->FAIL happens for i386 targets with either x86_64 or i386 host.
The regression does not happen for x86_64 targets on x86_64 host.

398e081380a204e3b9fb4eb4da069ccf471f930e is the first bad commit
commit 398e081380a204e3b9fb4eb4da069ccf471f930e
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Sep 30 19:23:39 2015 +0100

    x86/Linux: reenable all-stop on top of non-stop

Running ./gdb.dwarf2/callframecfa.exp ...
FAIL: gdb.dwarf2/callframecfa.exp: set display for call-frame-cfa
FAIL: gdb.dwarf2/callframecfa.exp: step 1 for call-frame-cfa
FAIL: gdb.dwarf2/callframecfa.exp: step 2 for call-frame-cfa
FAIL: gdb.dwarf2/callframecfa.exp: step 3 for call-frame-cfa
FAIL: gdb.dwarf2/callframecfa.exp: step 4 for call-frame-cfa
Running ./gdb.dwarf2/typeddwarf.exp ...
FAIL: gdb.dwarf2/typeddwarf.exp: continue to breakpoint: continue to typeddwarf.c:53
FAIL: gdb.dwarf2/typeddwarf.exp: check value of x at typeddwarf.c:53
FAIL: gdb.dwarf2/typeddwarf.exp: check value of y at typeddwarf.c:53
FAIL: gdb.dwarf2/typeddwarf.exp: check value of z at typeddwarf.c:53
FAIL: gdb.dwarf2/typeddwarf.exp: continue to breakpoint: continue to typeddwarf.c:73
FAIL: gdb.dwarf2/typeddwarf.exp: check value of w at typeddwarf.c:73
FAIL: gdb.dwarf2/typeddwarf.exp: check value of x at typeddwarf.c:73
FAIL: gdb.dwarf2/typeddwarf.exp: check value of y at typeddwarf.c:73
FAIL: gdb.dwarf2/typeddwarf.exp: check value of z at typeddwarf.c:73


Jan
  
Pedro Alves Oct. 27, 2015, 12:04 p.m. UTC | #2
On 10/25/2015 02:51 PM, Jan Kratochvil wrote:
> On Wed, 30 Sep 2015 20:25:06 +0200, Pedro Alves wrote:
>> Since the record-btrace target now supports non-stop mode, we no
>> longer need to force-disable as-ns on x86.
> [...]
>> 	* linux-nat.c (linux_nat_always_non_stop_p): Always return 1.
>> 	* x86-linux-nat.c (x86_linux_always_non_stop_p): Delete.
>> 	(x86_linux_create_target): Don't install
>> 	x86_linux_always_non_stop_p.
> 
> PASS->FAIL happens for i386 targets with either x86_64 or i386 host.
> The regression does not happen for x86_64 targets on x86_64 host.

Thanks Jan.  I sent a fix here:

https://sourceware.org/ml/gdb-patches/2015-10/msg00601.html

Thanks,
Pedro Alves

> 
> 398e081380a204e3b9fb4eb4da069ccf471f930e is the first bad commit
> commit 398e081380a204e3b9fb4eb4da069ccf471f930e
> Author: Pedro Alves <palves@redhat.com>
> Date:   Wed Sep 30 19:23:39 2015 +0100
> 
>     x86/Linux: reenable all-stop on top of non-stop
> 
> Running ./gdb.dwarf2/callframecfa.exp ...
> FAIL: gdb.dwarf2/callframecfa.exp: set display for call-frame-cfa
> FAIL: gdb.dwarf2/callframecfa.exp: step 1 for call-frame-cfa
> FAIL: gdb.dwarf2/callframecfa.exp: step 2 for call-frame-cfa
> FAIL: gdb.dwarf2/callframecfa.exp: step 3 for call-frame-cfa
> FAIL: gdb.dwarf2/callframecfa.exp: step 4 for call-frame-cfa
> Running ./gdb.dwarf2/typeddwarf.exp ...
> FAIL: gdb.dwarf2/typeddwarf.exp: continue to breakpoint: continue to typeddwarf.c:53
> FAIL: gdb.dwarf2/typeddwarf.exp: check value of x at typeddwarf.c:53
> FAIL: gdb.dwarf2/typeddwarf.exp: check value of y at typeddwarf.c:53
> FAIL: gdb.dwarf2/typeddwarf.exp: check value of z at typeddwarf.c:53
> FAIL: gdb.dwarf2/typeddwarf.exp: continue to breakpoint: continue to typeddwarf.c:73
> FAIL: gdb.dwarf2/typeddwarf.exp: check value of w at typeddwarf.c:73
> FAIL: gdb.dwarf2/typeddwarf.exp: check value of x at typeddwarf.c:73
> FAIL: gdb.dwarf2/typeddwarf.exp: check value of y at typeddwarf.c:73
> FAIL: gdb.dwarf2/typeddwarf.exp: check value of z at typeddwarf.c:73
> 
> 
> Jan
>
  

Patch

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2c2aa9e..688aef7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@ 
+2015-09-30  Pedro Alves  <palves@redhat.com>
+
+	* linux-nat.c (linux_nat_always_non_stop_p): Always return 1.
+	* x86-linux-nat.c (x86_linux_always_non_stop_p): Delete.
+	(x86_linux_create_target): Don't install
+	x86_linux_always_non_stop_p.
+
 2015-09-30  Don Breazeal  <donb@codesourcery.com>
 
 	* remote.c (remote_parse_stop_reply): Call strprefix instead
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index 6423ecc..eb9f5bb 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -4582,8 +4582,6 @@  linux_nat_supports_non_stop (struct target_ops *self)
 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;
 }
 
diff --git a/gdb/x86-linux-nat.c b/gdb/x86-linux-nat.c
index fa5ef30..d8a188f 100644
--- a/gdb/x86-linux-nat.c
+++ b/gdb/x86-linux-nat.c
@@ -351,15 +351,6 @@  x86_linux_get_thread_area (pid_t pid, void *addr, unsigned int *base_addr)
 }
 
 
-/* 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 *
@@ -392,8 +383,6 @@  x86_linux_create_target (void)
   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;
 }