This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
RE: [RFA-v3] Fix a windows bug if two watchpoints are used
- From: "Pierre Muller" <muller at ics dot u-strasbg dot fr>
- To: "'Joel Brobecker'" <brobecker at adacore dot com>
- Cc: "'Eli Zaretskii'" <eliz at gnu dot org>, "'Mark Kettenis'" <mark dot kettenis at xs4all dot nl>, <gdb-patches at sourceware dot org>
- Date: Fri, 25 Sep 2009 17:32:15 +0200
- Subject: RE: [RFA-v3] Fix a windows bug if two watchpoints are used
- References: <000301c9e4e6$b40c5d50$1c2517f0$@u-strasbg.fr> <E1MCAEM-0005ix-2I@fencepost.gnu.org> <001501c9e523$feffc1c0$fcff4540$@u-strasbg.fr> <E1MCEm0-0000bZ-9t@fencepost.gnu.org> <000301c9eed3$c7239d80$556ad880$@u-strasbg.fr> <20090622205616.GD7766@adacore.com> <E1MIuRD-0001QO-Dj@fencepost.gnu.org> <000301ca3b83$d15fee00$741fca00$@u-strasbg.fr> <20090924175356.GF2112@adacore.com> <003f01ca3d63$607027a0$215076e0$@u-strasbg.fr> <20090925015337.GJ2112@adacore.com>
> -----Message d'origine-----
> De?: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] De la part de Joel Brobecker
> Envoyé?: Friday, September 25, 2009 3:54 AM
> À?: Pierre Muller
> Cc?: 'Eli Zaretskii'; 'Mark Kettenis'; gdb-patches@sourceware.org
> Objet?: Re: [RFA-v3] Fix a windows bug if two watchpoints are used
>
> > I only wanted to have the fix in the branch,
> > I don't insist on having the new testsuite files
> > in 7.0
>
> I wouldn't worry about the testcase files, they do not impact
> the debugger functionality, so they are not a big risk. The risk
> is with the patch itself, so I was asking whether there was a way
> you could test this on x86 before checking in the branch.
> Normally, testing on one architecture is sufficient, but
> I'm getting a little (too?) paranoid...
I finally was able to test it on a
ubuntu 9.04 server (VMWare inside a Windows XP machine)
gdb-6.8.91-20090925
(no gnatmake, no xml support...)
Pierre@d620-muller ~/gdb-7pre/log/i386-ubuntu
$ grep "^FAIL" gdb-normal.sum | gawk -F: '{print $1 " " $2}' | uniq -c
1 FAIL gdb.base/auxv.exp
2 FAIL gdb.base/break.exp
26 FAIL gdb.base/catch-syscall.exp
1 FAIL gdb.base/default.exp
3 FAIL gdb.base/longjmp.exp
2 FAIL gdb.base/sepdebug.exp
2 FAIL gdb.dwarf2/dw2-compressed.exp
1 FAIL gdb.mi/mi-nsmoribund.exp
1 FAIL gdb.server/ext-run.exp
Pierre@d620-muller ~/gdb-7pre/log/i386-ubuntu
$ tail gdb-normal.sum
# of expected passes 12077
# of unexpected failures 39
# of expected failures 43
# of known failures 33
# of unresolved testcases 2
# of untested testcases 72
# of unsupported tests 69
/usr/local/src/gdb-7pre/build/gdb/testsuite/../../gdb/gdb version
6.8.91.200909
25 -nw -nx
After adding patch to i386-nat.c
$ diff gdb-normal.sum gdb.sum
1c1
< Test Run By vadmin on Fri Sep 25 08:20:08 2009
---
> Test Run By vadmin on Fri Sep 25 09:44:56 2009
12750c12750
< PASS: gdb.threads/threxit-hop-specific.exp: get past the thread specific
break
point
---
> FAIL: gdb.threads/threxit-hop-specific.exp: get past the thread specific
break
point
13000,13001c13000,13001
< # of expected passes 12077
< # of unexpected failures 39
---
> # of expected passes 12076
> # of unexpected failures 40
The additional failure test does not use watchpoint,
thus I suspect it to be some instable test.
>>>>>>> Start of test threxit-hop (patched version that fails)
Running
../../../gdb-6.8.91.20090925/gdb/testsuite/gdb.threads/threxit-hop-speci
fic.exp ...
Executing on host: gcc
../../../gdb-6.8.91.20090925/gdb/testsuite/gdb.threads/th
rexit-hop-specific.c -I/usr/local/src/gdb-7pre/build/gdb/testsuite -g
-lpthrea
ds -lm -o
/usr/local/src/gdb-7pre/build/gdb/testsuite/gdb.threads/threxit-hop-
specific (timeout = 300)
/usr/bin/ld: cannot find -lpthreads
collect2: ld returned 1 exit status
compiler exited with status 1
output is:
/usr/bin/ld: cannot find -lpthreads
collect2: ld returned 1 exit status
Executing on host: gcc
../../../gdb-6.8.91.20090925/gdb/testsuite/gdb.threads/th
rexit-hop-specific.c -I/usr/local/src/gdb-7pre/build/gdb/testsuite -g
-lpthrea
d -lm -o
/usr/local/src/gdb-7pre/build/gdb/testsuite/gdb.threads/threxit-hop-s
pecific (timeout = 300)
PASS: gdb.threads/threxit-hop-specific.exp: successfully compiled posix
threads
test case
warning: Can not parse XML syscalls information; XML support was disabled at
com
pile time.
GNU gdb (GDB) 6.8.91.20090925
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ../../../gdb-6.8.91.20090925/gdb/testsuite/gdb.threads
Source directories searched:
/usr/local/src/gdb-7pre/build/gdb/testsuite/../../.
./gdb-6.8.91.20090925/gdb/testsuite/gdb.threads:$cdir:$cwd
(gdb) kill
The program is not being run.
(gdb) file
/usr/local/src/gdb-7pre/build/gdb/testsuite/gdb.threads/threxit-hop-s
pecific
Reading symbols from
/usr/local/src/gdb-7pre/build/gdb/testsuite/gdb.threads/thr
exit-hop-specific...done.
(gdb) delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1 at 0x804850c: file
../../../gdb-6.8.91.20090925/gdb/testsuite/gdb.t
hreads/threxit-hop-specific.c, line 39.
(gdb) run
Starting program:
/usr/local/src/gdb-7pre/build/gdb/testsuite/gdb.threads/threxi
t-hop-specific
[Thread debugging using libthread_db enabled]
Breakpoint 1, main (argc=<value optimized out>, argv=<value optimized out>)
at .
./../../gdb-6.8.91.20090925/gdb/testsuite/gdb.threads/threxit-hop-specific.c
:39
39 pthread_create (&thread, NULL, thread_function, NULL);
(gdb) break thread_function
Breakpoint 2 at 0x80484ea: file
../../../gdb-6.8.91.20090925/gdb/testsuite/gdb.t
hreads/threxit-hop-specific.c, line 26.
(gdb) continue
Continuing.
[New Thread 0x403c9b90 (LWP 23629)]
[Switching to Thread 0x403c9b90 (LWP 23629)]
Breakpoint 2, thread_function (arg=0x0) at
../../../gdb-6.8.91.20090925/gdb/test
suite/gdb.threads/threxit-hop-specific.c:26
26 pthread_exit (NULL);
(gdb) PASS: gdb.threads/threxit-hop-specific.exp: continue to thread start
break 44 thread 2
Breakpoint 3 at 0x8048542: file
../../../gdb-6.8.91.20090925/gdb/testsuite/gdb.t
hreads/threxit-hop-specific.c, line 44.
(gdb) PASS: gdb.threads/threxit-hop-specific.exp: set thread specific
breakpoint
break 47
Breakpoint 4 at 0x8048547: file
../../../gdb-6.8.91.20090925/gdb/testsuite/gdb.t
hreads/threxit-hop-specific.c, line 47.
(gdb) next
0x400904b1 in siglongjmp () from /lib/tls/i686/cmov/libc.so.6
(gdb) FAIL: gdb.threads/threxit-hop-specific.exp: get past the thread
specific b
reakpoint
testcase
../../../gdb-6.8.91.20090925/gdb/testsuite/gdb.threads/threxit-hop-spec
ific.exp completed in 2 seconds
>>>>>>> End of test threxit-hop
> In other words, if you commit the patch, go ahead and commit
> the testcase as well. It doesn't matter whether it's on the branch
> or not.
Joel, is it OK now?
May I commit the patch with the testsuite in both main and 7.0 branch?
Pierre