== Comment: #0 - Kumuda G <kumuda.govind.com> - 2013-05-20 07:33:24 == gdb tests are failing on Fedora 19 alpha ppc64 installed on Power7 lpar. --- System Details --- [root@ltcfbl6fb11 ~]# uname -a Linux ltcfbl6fb11.austin.ibm.com 3.9.0-0.rc6.git2.4.fc19.ppc64p7 #1 SMP Mon Apr 15 19:03:07 MST 2013 ppc64 ppc64 ppc64 GNU/Linux --- Steps to reproduce --- 1. Install gdb source- rpm -ivh gdb-7.6-28.fc19.src.rpm 2. cd rpmbuild/SPECS/; rpmbuild -bc gdb.spec 3. cd ../BUILD/gdb-7.6/build-ppc64-redhat-linux/ 4. Execute tests in 32 bit mode, make check-gdb 'RUNTESTFLAGS=--target_board=unix/-m32 --tool_exec=/usr/bin/gdb' 5. Execute tests in 64 bit mode, make check-gdb 'RUNTESTFLAGS=--target_board=unix/-m64 --tool_exec=/usr/bin/gdb' GDB 32 bit mode test summary : === gdb Summary === # of expected passes 23138 # of unexpected failures 139 # of unexpected successes 1 # of expected failures 35 # of known failures 57 # of unresolved testcases 2 # of untested testcases 59 # of unsupported tests 120 GDB 64 bit mode test summary : === gdb Summary === # of expected passes 23304 # of unexpected failures 225 # of unexpected successes 1 # of expected failures 45 # of known failures 57 # of unresolved testcases 2 # of untested testcases 26 # of unsupported tests 120 Attached are gdb-7.6-32-F19.out and gdb-7.6-64bit-F19.out for reference. == Comment: #1 - Kumuda G <kumuda.govind.com> - 2013-05-20 07:34:13 == == Comment: #6 - Edjunior Barbosa Machado <emachado.com> - 2013-05-28 10:16:07 == I was facing some difficulties to run the tests on the aforementioned machine due to the limited resource of the system (processes killed by OOM killer, testcases failing with 'timeout' error) then I managed to rerun the testsuite in another Power7 machine running Fedora19 with more memory and cpus and found better results: 32-bit inferior: # of expected passes 23427 # of unexpected failures 114 # of unexpected successes 1 # of expected failures 34 # of known failures 57 # of unresolved testcases 2 # of untested testcases 57 # of unsupported tests 124 64-bit inferior: # of expected passes 23669 # of unexpected failures 181 # of unexpected successes 1 # of expected failures 44 # of known failures 57 # of untested testcases 21 # of unresolved testcases 2 # of unsupported tests 123 However, there is a fix for hw watchpoints on Power not included yet on Fedora19 (http://sourceware.org/ml/gdb-patches/2013-05/msg00422.html) that reduces the number of failures in around 40 errors: 32-bit inferior # of expected passes 23464 # of unexpected failures 77 # of unexpected successes 1 # of expected failures 34 # of known failures 56 # of unresolved testcases 2 # of untested testcases 57 # of unsupported tests 124 64-bit inferior # of expected passes 23710 # of unexpected failures 140 # of unexpected successes 1 # of expected failures 44 # of known failures 56 # of untested testcases 21 # of unresolved testcases 2 # of unsupported tests 123 == Comment: #7 - Edjunior Barbosa Machado <emachado.com> - 2013-05-28 10:24:01 == This patch against gdb-7.6-30.fc19.src.rpm fixes the insertion of hardware watchpoints on Power server processors. It was already accepted upstream: http://sourceware.org/ml/gdb-patches/2013-05/msg00706.html
Created attachment 753934 [details] gdb 32bit test out log
Created attachment 753935 [details] gdb 64bit test out log
Created attachment 753936 [details] backport patch to fix hw watchpoints on Power
Could you state in such cases the list of testcases (or diffable test results)? I do not see this way which testcase I should see FAIL->PASS with the patch.
------- Comment From emachado.com 2013-05-28 15:02 EDT------- This fix can be seen in some watchpoint-related testcases: Running ../../../gdb/testsuite/gdb.base/watchpoint-hw.exp ... PASS: gdb.base/watchpoint-hw.exp: watch watchee -FAIL: gdb.base/watchpoint-hw.exp: start (timeout) -FAIL: gdb.base/watchpoint-hw.exp: info watchpoints +PASS: gdb.base/watchpoint-hw.exp: start +PASS: gdb.base/watchpoint-hw.exp: info watchpoints Running ../../../gdb/testsuite/gdb.base/watchpoint-hw-hit-once.exp ... PASS: gdb.base/watchpoint-hw-hit-once.exp: rwatch watchee -FAIL: gdb.base/watchpoint-hw-hit-once.exp: continue -FAIL: gdb.base/watchpoint-hw-hit-once.exp: continue to break-at-exit (the program exited) +PASS: gdb.base/watchpoint-hw-hit-once.exp: continue +PASS: gdb.base/watchpoint-hw-hit-once.exp: continue to break-at-exit ... Running ../../../gdb/testsuite/gdb.base/watch-read.exp ... -FAIL: gdb.base/watch-read.exp: set hardware read watchpoint on global variable -FAIL: gdb.base/watch-read.exp: read watchpoint triggers on first read (timeout) -FAIL: gdb.base/watch-read.exp: read watchpoint triggers on read after value changed (timeout) -FAIL: gdb.base/watch-read.exp: set write watchpoint on global variable (timeout) -FAIL: gdb.base/watch-read.exp: write watchpoint triggers (timeout) -FAIL: gdb.base/watch-read.exp: only write watchpoint triggers when value changes (timeout) -FAIL: gdb.base/watch-read.exp: read watchpoint triggers when value doesn't change, trapping reads and writes (timeout) -FAIL: gdb.base/watch-read.exp: only read watchpoint triggers when value doesn't change (timeout) +PASS: gdb.base/watch-read.exp: set hardware read watchpoint on global variable +PASS: gdb.base/watch-read.exp: read watchpoint triggers on first read +PASS: gdb.base/watch-read.exp: read watchpoint triggers on read after value changed +PASS: gdb.base/watch-read.exp: set write watchpoint on global variable +PASS: gdb.base/watch-read.exp: write watchpoint triggers +PASS: gdb.base/watch-read.exp: only write watchpoint triggers when value changes +PASS: gdb.base/watch-read.exp: read watchpoint triggers when value doesn't change, trapping reads and writes +PASS: gdb.base/watch-read.exp: only read watchpoint triggers when value doesn't change ... -FAIL: gdb.base/watch_thread_num.exp: Watchpoint on shared variable +PASS: gdb.base/watch_thread_num.exp: Watchpoint on shared variable PASS: gdb.base/watch_thread_num.exp: info breakpoint 3 -FAIL: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 1 +PASS: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 1 PASS: gdb.base/watch_thread_num.exp: Check thread that triggered iteration 1 -FAIL: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 2 +PASS: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 2 PASS: gdb.base/watch_thread_num.exp: Check thread that triggered iteration 2 -FAIL: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 3 +PASS: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 3 PASS: gdb.base/watch_thread_num.exp: Check thread that triggered iteration 3 -FAIL: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 4 +PASS: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 4 PASS: gdb.base/watch_thread_num.exp: Check thread that triggered iteration 4 -FAIL: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 5 +PASS: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 5 PASS: gdb.base/watch_thread_num.exp: Check thread that triggered iteration 5 -FAIL: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 6 +PASS: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 6 PASS: gdb.base/watch_thread_num.exp: Check thread that triggered iteration 6 -FAIL: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 7 +PASS: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 7 PASS: gdb.base/watch_thread_num.exp: Check thread that triggered iteration 7 -FAIL: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 8 +PASS: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 8 PASS: gdb.base/watch_thread_num.exp: Check thread that triggered iteration 8 -FAIL: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 9 +PASS: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 9 PASS: gdb.base/watch_thread_num.exp: Check thread that triggered iteration 9 -FAIL: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 10 +PASS: gdb.base/watch_thread_num.exp: Watchpoint triggered iteration 10 Thanks.
Pushed http://sourceware.org/ml/gdb-cvs/2013-05/msg00146.html to F-19 build. I see no testsuite results changes on cpu : POWER7 (architected), altivec supported revision : 2.1 (pvr 003f 0201) but that is probably due to kernel-3.6.10-4.fc18.ppc64p7 and I do not have more recent ppc64 Fedora box available.
(In reply to IBM Bug Proxy from comment #5) > -FAIL: gdb.base/watchpoint-hw.exp: start (timeout) > -FAIL: gdb.base/watchpoint-hw-hit-once.exp: continue > -FAIL: gdb.base/watch-read.exp: set hardware read watchpoint on global > variable > -FAIL: gdb.base/watch_thread_num.exp: Watchpoint on shared variable I had all these already PASSING on gdb-7.6-30.fc19 without this patch in configuration according to Comment 6 - I see it understandable now with old kernel.
------- Comment From emachado.com 2013-05-28 16:51 EDT------- (In reply to comment #14) > Pushed > http://sourceware.org/ml/gdb-cvs/2013-05/msg00146.html > to F-19 build. > > I see no testsuite results changes on > cpu : POWER7 (architected), altivec supported > revision : 2.1 (pvr 003f 0201) > > but that is probably due to > kernel-3.6.10-4.fc18.ppc64p7 Exactly, this is a fix for gdb to use the new PowerPC specific ptrace interface available for Power servers in kernel v3.7 and newer. Thanks Red Hat for your support.
------- Comment From emachado.com 2013-06-13 19:10 EDT------- I retested gdb-7.6-32.fc19 and noticed the fix was included. Now the testsuite results look more reasonable: ppc64 gdb with 32-bit inferior: # of expected passes 22147 # of unexpected failures 77 # of unexpected successes 1 # of expected failures 55 # of known failures 56 # of unresolved testcases 2 # of untested testcases 55 # of unsupported tests 123 ppc64 gdb with 64-bit inferior: # of expected passes 22069 # of unexpected failures 129 # of unexpected successes 1 # of expected failures 57 # of known failures 56 # of untested testcases 48 # of unresolved testcases 2 # of unsupported tests 123 Thanks Red Hat for your support.