This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [RFA-v3] Fix a windows bug if two watchpoints are used



> -----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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]