This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[commit] testsuite: disp-step-syscall.exp - fix false FAILS with glibc-debuginfo
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Sun, 16 Oct 2011 10:44:06 +0200
- Subject: [commit] testsuite: disp-step-syscall.exp - fix false FAILS with glibc-debuginfo
Hi,
there were false FAIL results with glibc-debuginfo system symbols installed.
Checked in.
Attached the state before this patch without /usr/lib/debug (PASS) ->
-> with /usr/lib/debug (former FAIL).
Thanks,
Jan
http://sourceware.org/ml/gdb-cvs/2011-10/msg00127.html
--- src/gdb/testsuite/ChangeLog 2011/10/14 20:22:49 1.2898
+++ src/gdb/testsuite/ChangeLog 2011/10/16 08:42:02 1.2899
@@ -1,3 +1,10 @@
+2011-10-16 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix results with system glibc debug info installed.
+ * gdb.base/disp-step-syscall.exp (continue to $syscall (1st time))
+ (continue to $syscall (2nd time), continue to $syscall (3rd time)):
+ Accept also __libc_ symbol prefix and no prefix.
+
2011-10-14 Keith Seitz <keiths@redhat.com>
PR c++/13225
--- src/gdb/testsuite/gdb.base/disp-step-syscall.exp 2011/09/17 13:34:01 1.1
+++ src/gdb/testsuite/gdb.base/disp-step-syscall.exp 2011/10/16 08:42:04 1.2
@@ -64,13 +64,13 @@
}
}
- gdb_test "continue" "Continuing\\..*Breakpoint \[0-9\]+, .* in $syscall ().*" \
+ gdb_test "continue" "Continuing\\..*Breakpoint \[0-9\]+, (.* in |__libc_|)$syscall \\(\\).*" \
"continue to $syscall (1st time)"
# Hit the breakpoint on $syscall for the first time. In this time, we will let PLT
# resolution done, and the number single steps we will do later will be
# reduced.
- gdb_test "continue" "Continuing\\..*Breakpoint \[0-9\]+, .* in $syscall ().*" \
+ gdb_test "continue" "Continuing\\..*Breakpoint \[0-9\]+, (.* in |__libc_|)$syscall \\(\\).*" \
"continue to $syscall (2nd time)"
# Hit the breakpoint on $syscall for the second time. In this time, the address
# of syscall insn and next insn of syscall are recorded.
@@ -102,7 +102,7 @@
gdb_test "stepi" ".*" "stepi $syscall insn"
set syscall_insn_next_addr [get_hexadecimal_valueof "\$pc" "0"]
- gdb_test "continue" "Continuing\\..*Breakpoint \[0-9\]+, .* in $syscall ().*" \
+ gdb_test "continue" "Continuing\\..*Breakpoint \[0-9\]+, (.* in |__libc_|)$syscall \\(\\).*" \
"continue to $syscall (3rd time)"
# Hit the breakpoint on $syscall for the third time. In this time, we'll set
diff -dup -rU-1 pass/gdb.log fail/gdb.log
--- pass/gdb.log 2011-10-16 10:25:30.000000000 +0200
+++ fail/gdb.log 2011-10-16 10:25:39.000000000 +0200
@@ -1,414 +1,433 @@
-Test Run By jkratoch on Sun Oct 16 10:25:29 2011
+Test Run By jkratoch on Sun Oct 16 10:25:38 2011
Native configuration is x86_64-unknown-linux-gnu
=== gdb tests ===
Schedule of variations:
unix
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using ./config/unix.exp as tool-and-target-specific interface file.
Running ./gdb.base/disp-step-syscall.exp ...
Executing on host: gcc -c -g -o /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-fork0.o ./gdb.base/disp-step-fork.c (timeout = 300)
spawn -ignore SIGHUP gcc -c -g -o /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-fork0.o ./gdb.base/disp-step-fork.c
Executing on host: gcc /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-fork0.o -g -lm -o /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-fork (timeout = 300)
spawn -ignore SIGHUP gcc /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-fork0.o -g -lm -o /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-fork
get_compiler_info: gcc-4-6-1
spawn /home/jkratoch/redhat/gdb-clean/gdb/testsuite/../../gdb/gdb -nw -nx -data-directory /home/jkratoch/redhat/gdb-clean/gdb/testsuite/../data-directory
GNU gdb (GDB) 7.3.50.20111016-cvs
Copyright (C) 2011 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 "x86_64-unknown-linux-gnu".
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.base
Source directories searched: /home/jkratoch/redhat/gdb-clean/gdb/testsuite/./gdb.base:$cdir:$cwd
(gdb) kill
The program is not being run.
(gdb) file /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-fork
Reading symbols from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-fork...done.
(gdb) delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1 at 0x400552: file ./gdb.base/disp-step-fork.c, line 28.
(gdb) run
Starting program: /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-fork
Breakpoint 1, main () at ./gdb.base/disp-step-fork.c:28
28 pid = fork ();
(gdb) delete break 1
(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: delete break 1
break marker
Breakpoint 2 at 0x400548: file ./gdb.base/disp-step-fork.c, line 21.
(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: break marker
set displaced-stepping off
(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: set displaced-stepping off
break fork
-Breakpoint 3 at 0x7ffff785d1b4
+Breakpoint 3 at 0x7ffff785d1b0: file ../nptl/sysdeps/unix/sysv/linux/fork.c, line 55.
(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: break fork
continue
Continuing.
-Breakpoint 3, 0x00007ffff785d1b4 in fork () from /lib64/libc.so.6
-(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: continue to fork (1st time)
+Breakpoint 3, __libc_fork () at ../nptl/sysdeps/unix/sysv/linux/fork.c:55
+55 {
+(gdb) FAIL: gdb.base/disp-step-syscall.exp: fork: continue to fork (1st time)
continue
Continuing.
-Breakpoint 3, 0x00007ffff785d1b4 in fork () from /lib64/libc.so.6
-(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: continue to fork (2nd time)
+Breakpoint 3, __libc_fork () at ../nptl/sysdeps/unix/sysv/linux/fork.c:55
+55 {
+(gdb) FAIL: gdb.base/disp-step-syscall.exp: fork: continue to fork (2nd time)
display/i $pc
1: x/i $pc
-=> 0x7ffff785d1b4 <fork+4>: push %r14
+=> 0x7ffff785d1b0 <__libc_fork>: push %rbp
(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: display/i $pc
stepi
-0x00007ffff785d1b6 in fork () from /lib64/libc.so.6
+0x00007ffff785d1b1 55 {
1: x/i $pc
-=> 0x7ffff785d1b6 <fork+6>: push %r13
+=> 0x7ffff785d1b1 <__libc_fork+1>: mov %rsp,%rbp
(gdb) stepi
-0x00007ffff785d1b8 in fork () from /lib64/libc.so.6
+0x00007ffff785d1b4 55 {
1: x/i $pc
-=> 0x7ffff785d1b8 <fork+8>: push %r12
+=> 0x7ffff785d1b4 <__libc_fork+4>: push %r14
(gdb) stepi
-0x00007ffff785d1ba in fork () from /lib64/libc.so.6
+0x00007ffff785d1b6 55 {
1: x/i $pc
-=> 0x7ffff785d1ba <fork+10>: push %rbx
+=> 0x7ffff785d1b6 <__libc_fork+6>: push %r13
(gdb) stepi
-0x00007ffff785d1bb in fork () from /lib64/libc.so.6
+0x00007ffff785d1b8 55 {
1: x/i $pc
-=> 0x7ffff785d1bb <fork+11>: nopl 0x0(%rax,%rax,1)
+=> 0x7ffff785d1b8 <__libc_fork+8>: push %r12
(gdb) stepi
-0x00007ffff785d1c0 in fork () from /lib64/libc.so.6
+0x00007ffff785d1ba 55 {
1: x/i $pc
-=> 0x7ffff785d1c0 <fork+16>: mov 0x2f8e29(%rip),%r12 # 0x7ffff7b55ff0 <__fork_handlers>
+=> 0x7ffff785d1ba <__libc_fork+10>: push %rbx
(gdb) stepi
-0x00007ffff785d1c7 in fork () from /lib64/libc.so.6
+0x00007ffff785d1bb 55 {
1: x/i $pc
-=> 0x7ffff785d1c7 <fork+23>: test %r12,%r12
+=> 0x7ffff785d1bb <__libc_fork+11>: nopl 0x0(%rax,%rax,1)
(gdb) stepi
-0x00007ffff785d1ca in fork () from /lib64/libc.so.6
+66 while ((runp = __fork_handlers) != NULL)
1: x/i $pc
-=> 0x7ffff785d1ca <fork+26>: je 0x7ffff785d450 <fork+672>
+=> 0x7ffff785d1c0 <__libc_fork+16>: mov 0x2f8e29(%rip),%r12 # 0x7ffff7b55ff0 <__fork_handlers>
(gdb) stepi
-0x00007ffff785d450 in fork () from /lib64/libc.so.6
+0x00007ffff785d1c7 66 while ((runp = __fork_handlers) != NULL)
1: x/i $pc
-=> 0x7ffff785d450 <fork+672>: xor %ebx,%ebx
+=> 0x7ffff785d1c7 <__libc_fork+23>: test %r12,%r12
(gdb) stepi
-0x00007ffff785d452 in fork () from /lib64/libc.so.6
+0x00007ffff785d1ca 66 while ((runp = __fork_handlers) != NULL)
1: x/i $pc
-=> 0x7ffff785d452 <fork+674>: jmpq 0x7ffff785d222 <fork+114>
+=> 0x7ffff785d1ca <__libc_fork+26>: je 0x7ffff785d450 <__libc_fork+672>
(gdb) stepi
-0x00007ffff785d222 in fork () from /lib64/libc.so.6
+61 } *allp = NULL;
1: x/i $pc
-=> 0x7ffff785d222 <fork+114>: callq 0x7ffff781bda0 <__GI__IO_list_lock>
+=> 0x7ffff785d450 <__libc_fork+672>: xor %ebx,%ebx
(gdb) stepi
-0x00007ffff781bda0 in __GI__IO_list_lock () from /lib64/libc.so.6
+0x00007ffff785d452 61 } *allp = NULL;
+1: x/i $pc
+=> 0x7ffff785d452 <__libc_fork+674>: jmpq 0x7ffff785d222 <__libc_fork+114>
+(gdb) stepi
+118 _IO_list_lock ();
+1: x/i $pc
+=> 0x7ffff785d222 <__libc_fork+114>: callq 0x7ffff781bda0 <__GI__IO_list_lock>
+(gdb) stepi
+__GI__IO_list_lock () at genops.c:1299
+1299 _IO_lock_lock (list_all_lock);
1: x/i $pc
=> 0x7ffff781bda0 <__GI__IO_list_lock>: mov %fs:0x10,%rdx
(gdb) stepi
-0x00007ffff781bda9 in __GI__IO_list_lock () from /lib64/libc.so.6
+0x00007ffff781bda9 1299 _IO_lock_lock (list_all_lock);
1: x/i $pc
=> 0x7ffff781bda9 <__GI__IO_list_lock+9>: cmp 0x336c98(%rip),%rdx # 0x7ffff7b52a48 <list_all_lock+8>
(gdb) stepi
-0x00007ffff781bdb0 in __GI__IO_list_lock () from /lib64/libc.so.6
+0x00007ffff781bdb0 1299 _IO_lock_lock (list_all_lock);
1: x/i $pc
=> 0x7ffff781bdb0 <__GI__IO_list_lock+16>: je 0x7ffff781bde6 <__GI__IO_list_lock+70>
(gdb) stepi
-0x00007ffff781bdb2 in __GI__IO_list_lock () from /lib64/libc.so.6
+0x00007ffff781bdb2 1299 _IO_lock_lock (list_all_lock);
1: x/i $pc
=> 0x7ffff781bdb2 <__GI__IO_list_lock+18>: mov $0x1,%esi
(gdb) stepi
-0x00007ffff781bdb7 in __GI__IO_list_lock () from /lib64/libc.so.6
+0x00007ffff781bdb7 1299 _IO_lock_lock (list_all_lock);
1: x/i $pc
=> 0x7ffff781bdb7 <__GI__IO_list_lock+23>: xor %eax,%eax
(gdb) stepi
-0x00007ffff781bdb9 in __GI__IO_list_lock () from /lib64/libc.so.6
+0x00007ffff781bdb9 1299 _IO_lock_lock (list_all_lock);
1: x/i $pc
=> 0x7ffff781bdb9 <__GI__IO_list_lock+25>: cmpl $0x0,0x33a474(%rip) # 0x7ffff7b56234 <__libc_multiple_threads>
(gdb) stepi
-0x00007ffff781bdc0 in __GI__IO_list_lock () from /lib64/libc.so.6
+0x00007ffff781bdc0 1299 _IO_lock_lock (list_all_lock);
1: x/i $pc
=> 0x7ffff781bdc0 <__GI__IO_list_lock+32>: je 0x7ffff781bdd2 <__GI__IO_list_lock+50>
(gdb) stepi
-0x00007ffff781bdd2 in __GI__IO_list_lock () from /lib64/libc.so.6
+0x00007ffff781bdd2 1299 _IO_lock_lock (list_all_lock);
1: x/i $pc
=> 0x7ffff781bdd2 <__GI__IO_list_lock+50>: cmpxchg %esi,0x336c67(%rip) # 0x7ffff7b52a40 <list_all_lock>
(gdb) stepi
-0x00007ffff781bdd9 in __GI__IO_list_lock () from /lib64/libc.so.6
+0x00007ffff781bdd9 1299 _IO_lock_lock (list_all_lock);
1: x/i $pc
=> 0x7ffff781bdd9 <__GI__IO_list_lock+57>: jne 0x7ffff781c085 <_L_lock_3623>
(gdb) stepi
-0x00007ffff781bddf in __GI__IO_list_lock () from /lib64/libc.so.6
+0x00007ffff781bddf 1299 _IO_lock_lock (list_all_lock);
1: x/i $pc
=> 0x7ffff781bddf <__GI__IO_list_lock+63>: mov %rdx,0x336c62(%rip) # 0x7ffff7b52a48 <list_all_lock+8>
(gdb) stepi
-0x00007ffff781bde6 in __GI__IO_list_lock () from /lib64/libc.so.6
+0x00007ffff781bde6 1299 _IO_lock_lock (list_all_lock);
1: x/i $pc
=> 0x7ffff781bde6 <__GI__IO_list_lock+70>: addl $0x1,0x336c57(%rip) # 0x7ffff7b52a44 <list_all_lock+4>
(gdb) stepi
-0x00007ffff781bded in __GI__IO_list_lock () from /lib64/libc.so.6
+1301 }
1: x/i $pc
=> 0x7ffff781bded <__GI__IO_list_lock+77>: retq
(gdb) stepi
-0x00007ffff785d227 in fork () from /lib64/libc.so.6
+__libc_fork () at ../nptl/sysdeps/unix/sysv/linux/fork.c:121
+121 pid_t ppid = THREAD_GETMEM (THREAD_SELF, tid);
1: x/i $pc
-=> 0x7ffff785d227 <fork+119>: mov %fs:0x2d0,%r13d
+=> 0x7ffff785d227 <__libc_fork+119>: mov %fs:0x2d0,%r13d
(gdb) stepi
-0x00007ffff785d230 in fork () from /lib64/libc.so.6
+127 pid_t parentpid = THREAD_GETMEM (THREAD_SELF, pid);
1: x/i $pc
-=> 0x7ffff785d230 <fork+128>: mov %fs:0x2d4,%r8d
+=> 0x7ffff785d230 <__libc_fork+128>: mov %fs:0x2d4,%r8d
(gdb) stepi
-0x00007ffff785d239 in fork () from /lib64/libc.so.6
+128 THREAD_SETMEM (THREAD_SELF, pid, -parentpid);
1: x/i $pc
-=> 0x7ffff785d239 <fork+137>: mov %r8d,%eax
+=> 0x7ffff785d239 <__libc_fork+137>: mov %r8d,%eax
(gdb) stepi
-0x00007ffff785d23c in fork () from /lib64/libc.so.6
+0x00007ffff785d23c 128 THREAD_SETMEM (THREAD_SELF, pid, -parentpid);
1: x/i $pc
-=> 0x7ffff785d23c <fork+140>: neg %eax
+=> 0x7ffff785d23c <__libc_fork+140>: neg %eax
(gdb) stepi
-0x00007ffff785d23e in fork () from /lib64/libc.so.6
+0x00007ffff785d23e 128 THREAD_SETMEM (THREAD_SELF, pid, -parentpid);
1: x/i $pc
-=> 0x7ffff785d23e <fork+142>: mov %eax,%fs:0x2d4
+=> 0x7ffff785d23e <__libc_fork+142>: mov %eax,%fs:0x2d4
(gdb) stepi
-0x00007ffff785d246 in fork () from /lib64/libc.so.6
+131 pid = ARCH_FORK ();
1: x/i $pc
-=> 0x7ffff785d246 <fork+150>: mov %fs:0x10,%r9
+=> 0x7ffff785d246 <__libc_fork+150>: mov %fs:0x10,%r9
(gdb) stepi
-0x00007ffff785d24f in fork () from /lib64/libc.so.6
+0x00007ffff785d24f 131 pid = ARCH_FORK ();
1: x/i $pc
-=> 0x7ffff785d24f <fork+159>: xor %edx,%edx
+=> 0x7ffff785d24f <__libc_fork+159>: xor %edx,%edx
(gdb) stepi
-0x00007ffff785d251 in fork () from /lib64/libc.so.6
+0x00007ffff785d251 131 pid = ARCH_FORK ();
1: x/i $pc
-=> 0x7ffff785d251 <fork+161>: lea 0x2d0(%r9),%r10
+=> 0x7ffff785d251 <__libc_fork+161>: lea 0x2d0(%r9),%r10
(gdb) stepi
-0x00007ffff785d258 in fork () from /lib64/libc.so.6
+0x00007ffff785d258 131 pid = ARCH_FORK ();
1: x/i $pc
-=> 0x7ffff785d258 <fork+168>: xor %esi,%esi
+=> 0x7ffff785d258 <__libc_fork+168>: xor %esi,%esi
(gdb) stepi
-0x00007ffff785d25a in fork () from /lib64/libc.so.6
+0x00007ffff785d25a 131 pid = ARCH_FORK ();
1: x/i $pc
-=> 0x7ffff785d25a <fork+170>: mov $0x1200011,%edi
+=> 0x7ffff785d25a <__libc_fork+170>: mov $0x1200011,%edi
(gdb) stepi
-0x00007ffff785d25f in fork () from /lib64/libc.so.6
+0x00007ffff785d25f 131 pid = ARCH_FORK ();
1: x/i $pc
-=> 0x7ffff785d25f <fork+175>: mov $0x38,%eax
+=> 0x7ffff785d25f <__libc_fork+175>: mov $0x38,%eax
(gdb) stepi
-0x00007ffff785d264 in fork () from /lib64/libc.so.6
+0x00007ffff785d264 131 pid = ARCH_FORK ();
1: x/i $pc
-=> 0x7ffff785d264 <fork+180>: syscall
+=> 0x7ffff785d264 <__libc_fork+180>: syscall
(gdb) print /x $pc
$1 = 0x7ffff785d264
(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: get hexadecimal valueof "$pc"
stepi
-0x00007ffff785d266 in fork () from /lib64/libc.so.6
+0x00007ffff785d266 131 pid = ARCH_FORK ();
1: x/i $pc
-=> 0x7ffff785d266 <fork+182>: cmp $0xfffffffffffff000,%rax
+=> 0x7ffff785d266 <__libc_fork+182>: cmp $0xfffffffffffff000,%rax
(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: stepi fork insn
print /x $pc
$2 = 0x7ffff785d266
(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: get hexadecimal valueof "$pc"
continue
Continuing.
-Breakpoint 3, 0x00007ffff785d1b4 in fork () from /lib64/libc.so.6
+Breakpoint 3, __libc_fork () at ../nptl/sysdeps/unix/sysv/linux/fork.c:55
+55 {
1: x/i $pc
-=> 0x7ffff785d1b4 <fork+4>: push %r14
-(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: continue to fork (3rd time)
+=> 0x7ffff785d1b0 <__libc_fork>: push %rbp
+(gdb) FAIL: gdb.base/disp-step-syscall.exp: fork: continue to fork (3rd time)
break *0x7ffff785d264
-Breakpoint 4 at 0x7ffff785d264
+Breakpoint 4 at 0x7ffff785d264: file ../nptl/sysdeps/unix/sysv/linux/fork.c, line 131.
(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: break on syscall insns
delete 3
(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: delete break fork
continue
Continuing.
-Breakpoint 4, 0x00007ffff785d264 in fork () from /lib64/libc.so.6
+Breakpoint 4, 0x00007ffff785d264 in __libc_fork () at ../nptl/sysdeps/unix/sysv/linux/fork.c:131
+131 pid = ARCH_FORK ();
1: x/i $pc
-=> 0x7ffff785d264 <fork+180>: syscall
+=> 0x7ffff785d264 <__libc_fork+180>: syscall
(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: continue to syscall insn fork
set displaced-stepping on
(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: set displaced-stepping on
stepi
-0x00007ffff785d266 in fork () from /lib64/libc.so.6
+0x00007ffff785d266 131 pid = ARCH_FORK ();
1: x/i $pc
-=> 0x7ffff785d266 <fork+182>: cmp $0xfffffffffffff000,%rax
+=> 0x7ffff785d266 <__libc_fork+182>: cmp $0xfffffffffffff000,%rax
(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: single step over fork
delete 4
(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: delete break fork insn
continue
Continuing.
Breakpoint 2, marker () at ./gdb.base/disp-step-fork.c:21
21 marker () {}
1: x/i $pc
=> 0x400548 <marker+4>: pop %rbp
(gdb) PASS: gdb.base/disp-step-syscall.exp: fork: continue to marker (fork)
Executing on host: gcc -c -g -o /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-vfork0.o ./gdb.base/disp-step-vfork.c (timeout = 300)
spawn -ignore SIGHUP gcc -c -g -o /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-vfork0.o ./gdb.base/disp-step-vfork.c
Executing on host: gcc /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-vfork0.o -g -lm -o /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-vfork (timeout = 300)
spawn -ignore SIGHUP gcc /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-vfork0.o -g -lm -o /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-vfork
get_compiler_info: gcc-4-6-1
spawn /home/jkratoch/redhat/gdb-clean/gdb/testsuite/../../gdb/gdb -nw -nx -data-directory /home/jkratoch/redhat/gdb-clean/gdb/testsuite/../data-directory
GNU gdb (GDB) 7.3.50.20111016-cvs
Copyright (C) 2011 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 "x86_64-unknown-linux-gnu".
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.base
Source directories searched: /home/jkratoch/redhat/gdb-clean/gdb/testsuite/./gdb.base:$cdir:$cwd
(gdb) kill
The program is not being run.
(gdb) file /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-vfork
Reading symbols from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-vfork...done.
(gdb) delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1 at 0x400552: file ./gdb.base/disp-step-vfork.c, line 28.
(gdb) run
Starting program: /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.base/disp-step-vfork
Breakpoint 1, main () at ./gdb.base/disp-step-vfork.c:28
28 pid = vfork ();
(gdb) delete break 1
(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: delete break 1
break marker
Breakpoint 2 at 0x400548: file ./gdb.base/disp-step-vfork.c, line 21.
(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: break marker
set displaced-stepping off
(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: set displaced-stepping off
break vfork
-Breakpoint 3 at 0x7ffff785d4c0
+Breakpoint 3 at 0x7ffff785d4c0: file ../sysdeps/unix/sysv/linux/x86_64/vfork.S, line 32.
(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: break vfork
continue
Continuing.
-Breakpoint 3, 0x00007ffff785d4c0 in vfork () from /lib64/libc.so.6
-(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: continue to vfork (1st time)
+Breakpoint 3, vfork () at ../sysdeps/unix/sysv/linux/x86_64/vfork.S:32
+32 popq %rdi
+(gdb) FAIL: gdb.base/disp-step-syscall.exp: vfork: continue to vfork (1st time)
continue
Continuing.
-Breakpoint 3, 0x00007ffff785d4c0 in vfork () from /lib64/libc.so.6
-(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: continue to vfork (2nd time)
+Breakpoint 3, vfork () at ../sysdeps/unix/sysv/linux/x86_64/vfork.S:32
+32 popq %rdi
+(gdb) FAIL: gdb.base/disp-step-syscall.exp: vfork: continue to vfork (2nd time)
display/i $pc
1: x/i $pc
=> 0x7ffff785d4c0 <vfork>: pop %rdi
(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: display/i $pc
stepi
-0x00007ffff785d4c1 in vfork () from /lib64/libc.so.6
+37 SAVE_PID
1: x/i $pc
=> 0x7ffff785d4c1 <vfork+1>: mov %fs:0x2d4,%esi
(gdb) stepi
-0x00007ffff785d4c9 in vfork () from /lib64/libc.so.6
+0x00007ffff785d4c9 37 SAVE_PID
1: x/i $pc
=> 0x7ffff785d4c9 <vfork+9>: mov $0x80000000,%ecx
(gdb) stepi
-0x00007ffff785d4ce in vfork () from /lib64/libc.so.6
+0x00007ffff785d4ce 37 SAVE_PID
1: x/i $pc
=> 0x7ffff785d4ce <vfork+14>: mov %esi,%edx
(gdb) stepi
-0x00007ffff785d4d0 in vfork () from /lib64/libc.so.6
+0x00007ffff785d4d0 37 SAVE_PID
1: x/i $pc
=> 0x7ffff785d4d0 <vfork+16>: neg %edx
(gdb) stepi
-0x00007ffff785d4d2 in vfork () from /lib64/libc.so.6
+0x00007ffff785d4d2 37 SAVE_PID
1: x/i $pc
=> 0x7ffff785d4d2 <vfork+18>: cmove %ecx,%edx
(gdb) stepi
-0x00007ffff785d4d5 in vfork () from /lib64/libc.so.6
+0x00007ffff785d4d5 37 SAVE_PID
1: x/i $pc
=> 0x7ffff785d4d5 <vfork+21>: mov %edx,%fs:0x2d4
(gdb) stepi
-0x00007ffff785d4dd in vfork () from /lib64/libc.so.6
+41 movl $SYS_ify (vfork), %eax
1: x/i $pc
=> 0x7ffff785d4dd <vfork+29>: mov $0x3a,%eax
(gdb) stepi
-0x00007ffff785d4e2 in vfork () from /lib64/libc.so.6
+42 syscall
1: x/i $pc
=> 0x7ffff785d4e2 <vfork+34>: syscall
(gdb) print /x $pc
$1 = 0x7ffff785d4e2
(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: get hexadecimal valueof "$pc"
stepi
-0x00007ffff785d4e4 in vfork () from /lib64/libc.so.6
+45 pushq %rdi
1: x/i $pc
=> 0x7ffff785d4e4 <vfork+36>: push %rdi
(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: stepi vfork insn
print /x $pc
$2 = 0x7ffff785d4e4
(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: get hexadecimal valueof "$pc"
continue
Continuing.
-Breakpoint 3, 0x00007ffff785d4c0 in vfork () from /lib64/libc.so.6
+Breakpoint 3, vfork () at ../sysdeps/unix/sysv/linux/x86_64/vfork.S:32
+32 popq %rdi
1: x/i $pc
=> 0x7ffff785d4c0 <vfork>: pop %rdi
-(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: continue to vfork (3rd time)
+(gdb) FAIL: gdb.base/disp-step-syscall.exp: vfork: continue to vfork (3rd time)
break *0x7ffff785d4e2
-Breakpoint 4 at 0x7ffff785d4e2
+Breakpoint 4 at 0x7ffff785d4e2: file ../sysdeps/unix/sysv/linux/x86_64/vfork.S, line 42.
(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: break on syscall insns
delete 3
(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: delete break vfork
continue
Continuing.
-Breakpoint 4, 0x00007ffff785d4e2 in vfork () from /lib64/libc.so.6
+Breakpoint 4, vfork () at ../sysdeps/unix/sysv/linux/x86_64/vfork.S:42
+42 syscall
1: x/i $pc
=> 0x7ffff785d4e2 <vfork+34>: syscall
(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: continue to syscall insn vfork
set displaced-stepping on
(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: set displaced-stepping on
stepi
-0x00007ffff785d4e4 in vfork () from /lib64/libc.so.6
+45 pushq %rdi
1: x/i $pc
=> 0x7ffff785d4e4 <vfork+36>: push %rdi
(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: single step over vfork
delete 4
(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: delete break vfork insn
continue
Continuing.
Breakpoint 2, marker () at ./gdb.base/disp-step-vfork.c:21
21 marker () {}
1: x/i $pc
=> 0x400548 <marker+4>: pop %rbp
(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: continue to marker (vfork)
testcase ./gdb.base/disp-step-syscall.exp completed in 1 seconds
=== gdb Summary ===
-# of expected passes 36
+# of expected passes 30
+# of unexpected failures 6
Executing on host: /home/jkratoch/redhat/gdb-clean/gdb/testsuite/../../gdb/gdb -nw -nx -data-directory /home/jkratoch/redhat/gdb-clean/gdb/testsuite/../data-directory --version (timeout = 300)
spawn -ignore SIGHUP /home/jkratoch/redhat/gdb-clean/gdb/testsuite/../../gdb/gdb -nw -nx -data-directory /home/jkratoch/redhat/gdb-clean/gdb/testsuite/../data-directory --version
GNU gdb (GDB) 7.3.50.20111016-cvs
Copyright (C) 2011 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 "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/../../gdb/gdb version 7.3.50.20111016-cvs -nw -nx -data-directory /home/jkratoch/redhat/gdb-clean/gdb/testsuite/../data-directory
-runtest completed at Sun Oct 16 10:25:30 2011
+runtest completed at Sun Oct 16 10:25:39 2011
diff -dup -rU-1 pass/gdb.sum fail/gdb.sum
--- pass/gdb.sum 2011-10-16 10:25:30.000000000 +0200
+++ fail/gdb.sum 2011-10-16 10:25:39.000000000 +0200
@@ -1,52 +1,53 @@
-Test Run By jkratoch on Sun Oct 16 10:25:29 2011
+Test Run By jkratoch on Sun Oct 16 10:25:38 2011
Native configuration is x86_64-unknown-linux-gnu
=== gdb tests ===
Schedule of variations:
unix
Running target unix
Running ./gdb.base/disp-step-syscall.exp ...
PASS: gdb.base/disp-step-syscall.exp: fork: delete break 1
PASS: gdb.base/disp-step-syscall.exp: fork: break marker
PASS: gdb.base/disp-step-syscall.exp: fork: set displaced-stepping off
PASS: gdb.base/disp-step-syscall.exp: fork: break fork
-PASS: gdb.base/disp-step-syscall.exp: fork: continue to fork (1st time)
-PASS: gdb.base/disp-step-syscall.exp: fork: continue to fork (2nd time)
+FAIL: gdb.base/disp-step-syscall.exp: fork: continue to fork (1st time)
+FAIL: gdb.base/disp-step-syscall.exp: fork: continue to fork (2nd time)
PASS: gdb.base/disp-step-syscall.exp: fork: display/i $pc
PASS: gdb.base/disp-step-syscall.exp: fork: get hexadecimal valueof "$pc"
PASS: gdb.base/disp-step-syscall.exp: fork: stepi fork insn
PASS: gdb.base/disp-step-syscall.exp: fork: get hexadecimal valueof "$pc"
-PASS: gdb.base/disp-step-syscall.exp: fork: continue to fork (3rd time)
+FAIL: gdb.base/disp-step-syscall.exp: fork: continue to fork (3rd time)
PASS: gdb.base/disp-step-syscall.exp: fork: break on syscall insns
PASS: gdb.base/disp-step-syscall.exp: fork: delete break fork
PASS: gdb.base/disp-step-syscall.exp: fork: continue to syscall insn fork
PASS: gdb.base/disp-step-syscall.exp: fork: set displaced-stepping on
PASS: gdb.base/disp-step-syscall.exp: fork: single step over fork
PASS: gdb.base/disp-step-syscall.exp: fork: delete break fork insn
PASS: gdb.base/disp-step-syscall.exp: fork: continue to marker (fork)
PASS: gdb.base/disp-step-syscall.exp: vfork: delete break 1
PASS: gdb.base/disp-step-syscall.exp: vfork: break marker
PASS: gdb.base/disp-step-syscall.exp: vfork: set displaced-stepping off
PASS: gdb.base/disp-step-syscall.exp: vfork: break vfork
-PASS: gdb.base/disp-step-syscall.exp: vfork: continue to vfork (1st time)
-PASS: gdb.base/disp-step-syscall.exp: vfork: continue to vfork (2nd time)
+FAIL: gdb.base/disp-step-syscall.exp: vfork: continue to vfork (1st time)
+FAIL: gdb.base/disp-step-syscall.exp: vfork: continue to vfork (2nd time)
PASS: gdb.base/disp-step-syscall.exp: vfork: display/i $pc
PASS: gdb.base/disp-step-syscall.exp: vfork: get hexadecimal valueof "$pc"
PASS: gdb.base/disp-step-syscall.exp: vfork: stepi vfork insn
PASS: gdb.base/disp-step-syscall.exp: vfork: get hexadecimal valueof "$pc"
-PASS: gdb.base/disp-step-syscall.exp: vfork: continue to vfork (3rd time)
+FAIL: gdb.base/disp-step-syscall.exp: vfork: continue to vfork (3rd time)
PASS: gdb.base/disp-step-syscall.exp: vfork: break on syscall insns
PASS: gdb.base/disp-step-syscall.exp: vfork: delete break vfork
PASS: gdb.base/disp-step-syscall.exp: vfork: continue to syscall insn vfork
PASS: gdb.base/disp-step-syscall.exp: vfork: set displaced-stepping on
PASS: gdb.base/disp-step-syscall.exp: vfork: single step over vfork
PASS: gdb.base/disp-step-syscall.exp: vfork: delete break vfork insn
PASS: gdb.base/disp-step-syscall.exp: vfork: continue to marker (vfork)
=== gdb Summary ===
-# of expected passes 36
+# of expected passes 30
+# of unexpected failures 6
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/../../gdb/gdb version 7.3.50.20111016-cvs -nw -nx -data-directory /home/jkratoch/redhat/gdb-clean/gdb/testsuite/../data-directory