[patch][branch] Fix saving -location watchpoints.

Thiago Jung Bauermann
2011-04-08T20:47:44Z

Hi,

watch_command_1 sets b->exp_string to "-location: foobar". When saving
breakpoints to a file, save_breakpoints will use b->exp_string to
construct a command line for recreating the watchpoint, and comes up
with the invalid command "watch -location: foobar". This patch simply
removes the colon from exp_string.

No regressions on i386-linux. Ok for HEAD and the branch?
--
[]'s
Thiago Jung Bauermann
IBM Linux Technology Center

2011-04-08 Thiago Jung Bauermann <bauerman@br.ibm.com>

gdb/
* breakpoint.c (watch_command_1): Remove colon from exp_string.

gdb/testsuite/
* gdb.base/watchpoint.exp (test_inaccessible_watchpoint): Don't
expect a colon in watch -location output.

Index: gdb.git/gdb/breakpoint.c
===================================================================
--- gdb.git.orig/gdb/breakpoint.c 2011-04-08 16:09:31.000000000 -0300
+++ gdb.git/gdb/breakpoint.c 2011-04-08 16:23:24.000000000 -0300
@@ -9019,7 +9019,7 @@ watch_command_1 (char *arg, int accessfl
core_addr_to_string (addr));
xfree (name);

- b->exp_string = xstrprintf ("-location: %.*s",
+ b->exp_string = xstrprintf ("-location %.*s",
(int) (exp_end - exp_start), exp_start);

/* The above expression is in C. */
Index: gdb.git/gdb/testsuite/gdb.base/watchpoint.exp
===================================================================
--- gdb.git.orig/gdb/testsuite/gdb.base/watchpoint.exp 2011-04-08 16:45:08.000000000 -0300
+++ gdb.git/gdb/testsuite/gdb.base/watchpoint.exp 2011-04-08 16:45:11.000000000 -0300
@@ -685,7 +685,7 @@ proc test_inaccessible_watchpoint {} {

# The same, but using -location through an indirection.
gdb_test "watch -location *global_ptr" \
- "$watchpoint_msg \[0-9\]+: \-location: \\*global_ptr"
+ "$watchpoint_msg \[0-9\]+: \-location \\*global_ptr"
delete_breakpoints

# This step requires two HW watchpoints. Since some platforms only