]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
fix PR symtab/15719
authorTom Tromey <tromey@redhat.com>
Fri, 2 Aug 2013 16:41:08 +0000 (16:41 +0000)
committerTom Tromey <tromey@redhat.com>
Fri, 2 Aug 2013 16:41:08 +0000 (16:41 +0000)
commit3a1115a0cc0a0a98555ba99df76ad9bcfee08759
tree7bd5d53c3fa5d8723edfa7193d43c3ec43f9d932
parent58b19776a6713e101fb71fab79ea70fa9af19e3a
fix PR symtab/15719

This patch fixes PR symtab/15719.

The bug is that "watch -location" crashes on a certain expression.

The problem is that fetch_subexp_value is catching an exception.
For ordinary watchpoints this is ok; but for location watchpoints,
it is better for the exception to propagate.

Built and regtested on x86-64 Fedora 18.
New test case included.

PR symtab/15719:
* breakpoint.c (update_watchpoint, watchpoint_check)
(watch_command_1): Update.
* eval.c (fetch_subexp_value): Add "preserve_errors"
parameter.
* ppc-linux-nat.c (check_condition): Update.
* value.h (fetch_subexp_value): Update.

* gdb.base/watchpoint.c (struct foo5): New.
(nullptr): New global.
* gdb.base/watchpoint.exp (test_watch_location): Add test.
gdb/ChangeLog
gdb/breakpoint.c
gdb/eval.c
gdb/ppc-linux-nat.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/watchpoint.c
gdb/testsuite/gdb.base/watchpoint.exp
gdb/value.h