Regression: Re: [PATCH] Fix some i386 unwinder inconcistencies

Jan Kratochvil
2011-06-13T10:49:31Z

On Sun, 12 Jun 2011 22:57:30 +0200, Mark Kettenis wrote:
> This diff fixes a few issues with the epilogue and stack tramp unwinders.
>
> Committed.
>
> 2011-06-12 Mark Kettenis <kettenis@gnu.org>
>
> * i386-tdep.c (i386_epilogue_frame_cache): Simplify code. Call
> get_frame_func instead of get_frame_pc to determine the code
> address used to construct the frame ID.
> (i386_epilogue_frame_unwind_stop_reason): Fix coding style.
> (i386_epilogue_frame_this_id): Likewise.
> (i386_epilogue_frame_prev_register): New function.
> (i386_epilogue_frame_unwind): Use i386_epilogue_frame_prev_register.
> (i386_stack_tramp_frame_sniffer): Fix coding style.
> (i386_stack_tramp_frame_unwind): Use i386_epilogue_frame_prev_register.
> (i386_gdbarch_init): Fix comments.

On all the tested platforms Fedora-{13,14,15,Rawhide} for {i686,x86_64-m32}
(but not for x86_64):
-PASS: gdb.base/watchpoint-cond-gone.exp: Catch the no longer valid watchpoint
+FAIL: gdb.base/watchpoint-cond-gone.exp: Catch the no longer valid watchpoint
-XFAIL: gdb.mi/mi-watch.exp: sw: watchpoint trigger (stopped at wrong place)
+XFAIL: gdb.mi/mi-watch.exp: sw: watchpoint trigger (unknown output after running)
-XFAIL: gdb.mi/mi2-watch.exp: sw: watchpoint trigger (stopped at wrong place)
+XFAIL: gdb.mi/mi2-watch.exp: sw: watchpoint trigger (unknown output after running)

due to: commit b304e1f3bb4fee38d829dbd85ea3c0f43399aa7c

This is a regression.

The regressions are all just instances of:

finish
Run till exit from #0 func () at ./gdb.base/watchpoint-cond-gone.c:26
-
-Watchpoint 3 deleted because the program has left the block in
-which its expression is valid.
+Error evaluating expression for watchpoint 3
+can't compute CFA for this frame
+Watchpoint 3 deleted.
0x080483e0 in func () at ./gdb.base/watchpoint-cond-gone.c:28
28 }
-(gdb) PASS: gdb.base/watchpoint-cond-gone.exp: Catch the no longer valid watchpoint
+(gdb) FAIL: gdb.base/watchpoint-cond-gone.exp: Catch the no longer valid watchpoint

Thanks,
Jan