From ea5d7a9987534b6d393a523becd3f8ce5e967641 Mon Sep 17 00:00:00 2001 From: Pierre Muller Date: Wed, 17 Jun 2009 06:17:32 +0000 Subject: [PATCH] * infcmd.c (post_create_inferior): Call breakpoint_re_set after target is pushed for watchpoint promotion to hardware watchpoint. --- gdb/ChangeLog | 6 ++++++ gdb/infcmd.c | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 692222c1702..3f9149625c5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2009-06-17 Pierre Muller + Pedro Alves + + * infcmd.c (post_create_inferior): Call breakpoint_re_set after target + is pushed for watchpoint promotion to hardware watchpoint. + 2009-06-16 Paul Pluzhnikov * dwarf2read.c (dwarf_info_section, dwarf_abbrev_section) diff --git a/gdb/infcmd.c b/gdb/infcmd.c index 9329558abc8..422993f1913 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -421,6 +421,18 @@ post_create_inferior (struct target_ops *target, int from_tty) #endif } + /* If the user sets watchpoints before execution having started, + then she gets software watchpoints, because GDB can't know which + target will end up being pushed, or if it supports hardware + watchpoints or not. breakpoint_re_set takes care of promoting + watchpoints to hardware watchpoints if possible, however, if this + new inferior doesn't load shared libraries or we don't pull in + symbols from any other source on this target/arch, + breakpoint_re_set is never called. Call it now so that software + watchpoints get a chance to be promoted to hardware watchpoints + if the now pushed target supports hardware watchpoints. */ + breakpoint_re_set (); + observer_notify_inferior_created (target, from_tty); } -- 2.30.2