This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFC] fix gdb.threads/non-stop-fair-events.exp timeouts
- From: Sandra Loosemore <sandra at codesourcery dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: gdb-patches <gdb-patches at sourceware dot org>, Yao Qi <yao dot qi at linaro dot org>
- Date: Wed, 9 Sep 2015 10:08:21 -0600
- Subject: Re: [RFC] fix gdb.threads/non-stop-fair-events.exp timeouts
- Authentication-results: sourceware.org; auth=none
- References: <55E9CCCD dot 7060604 at codesourcery dot com> <55EF0D11 dot 2020200 at redhat dot com>
On 09/08/2015 10:30 AM, Pedro Alves wrote:
Yeah, I've seen this before with a local series I use for debugging
software single-step things that implements software single-stepping
on x86. I just re-tried it now after rebasing that series to
current mainline, and I still see the time outs against gdbserver.
AFAICS, nios2 is a software single-step target that does not implement
displaced stepping either. I had a patch for this that I had
never posted. See attached.
Hmmm, these two patches are not working for me. The trouble is that
this part:
+gdb_test_multiple "si" $msg {
+ -re "displaced pc to.*$gdb_prompt $" {
+ set displaced_stepping_enabled 1
+ }
+ -re ".*$gdb_prompt $" {
+ }
+}
is causing the target to step from main to pthread_self, which is in a
different file. This causes the subsequent breakpoint commands to fail,
and things go south from there:
Breakpoint 1, main () at
/scratch/sandra/nios2-linux-trunk/src/gdb-trunk/gdb/testsuite/gdb.threads/non-stop-fair-events.c:76
76 pthread_kill (pthread_self (), 0);
(gdb) handle SIGUSR1 print nostop pass
Signal Stop Print Pass to program Description
SIGUSR1 No Yes Yes User defined signal 1
(gdb) PASS: gdb.threads/non-stop-fair-events.exp: handle SIGUSR1 print
nostop pass
print num_threads
$1 = 10
(gdb) PASS: gdb.threads/non-stop-fair-events.exp: get num_threads
set debug displaced 1
(gdb) PASS: gdb.threads/non-stop-fair-events.exp: set debug displaced 1
si
0x00002720 in pthread_self () at pthread_self.c:27
27 }
(gdb) set debug displaced 0
(gdb) PASS: gdb.threads/non-stop-fair-events.exp: set debug displaced 0
delete breakpoints
Delete all breakpoints? (y or n) y
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) print got_sig = 0
$2 = 0
(gdb) PASS: gdb.threads/non-stop-fair-events.exp: signal_thread=2: print
got_sig = 0
break 63
No line 63 in the current file.
Make breakpoint pending on future shared library load? (y or [n]) n
(gdb) FAIL: gdb.threads/non-stop-fair-events.exp: signal_thread=2:
setting breakpoint at 63
break 88
No line 88 in the current file.
Make breakpoint pending on future shared library load? (y or [n]) n
(gdb) FAIL: gdb.threads/non-stop-fair-events.exp: signal_thread=2:
setting breakpoint at 88
-Sandra