aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/breakpoint.c14
-rw-r--r--gdb/testsuite/ChangeLog6
-rw-r--r--gdb/testsuite/gdb.base/save-bp.exp5
4 files changed, 30 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 17cdc7b..636f776 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,11 @@
+2013-04-23 Hui Zhu <hui@codesourcery.com>
+
+ PR gdb/15165
+
+ * breakpoint.c (dprintf_print_recreate): New.
+ (save_breakpoints): Let it not save dprintf commands.
+ (initialize_breakpoint_ops): Set dprintf_print_recreate.
+
2013-04-22 Tom Tromey <tromey@redhat.com>
PR gdb/7912:
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 2757c6b..84c5b46 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -13364,6 +13364,16 @@ dprintf_re_set (struct breakpoint *b)
update_dprintf_command_list (b);
}
+/* Implement the "print_recreate" breakpoint_ops method for dprintf. */
+
+static void
+dprintf_print_recreate (struct breakpoint *tp, struct ui_file *fp)
+{
+ fprintf_unfiltered (fp, "dprintf %s%s", tp->addr_string,
+ tp->extra_string);
+ print_recreate_thread (tp, fp);
+}
+
/* The breakpoint_ops structure to be used on static tracepoints with
markers (`-m'). */
@@ -15453,7 +15463,7 @@ save_breakpoints (char *filename, int from_tty,
if (tp->ignore_count)
fprintf_unfiltered (fp, " ignore $bpnum %d\n", tp->ignore_count);
- if (tp->commands)
+ if (tp->type != bp_dprintf && tp->commands)
{
volatile struct gdb_exception ex;
@@ -15859,7 +15869,7 @@ initialize_breakpoint_ops (void)
ops->resources_needed = bkpt_resources_needed;
ops->print_it = bkpt_print_it;
ops->print_mention = bkpt_print_mention;
- ops->print_recreate = bkpt_print_recreate;
+ ops->print_recreate = dprintf_print_recreate;
}
/* Chain containing all defined "enable breakpoint" subcommands. */
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 2ecffc3..c0188c0 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2013-04-23 Hui Zhu <hui@codesourcery.com>
+
+ PR gdb/15165
+
+ * gdb.base/save-bp.exp: Add test for dprintf.
+
2013-04-22 Tom Tromey <tromey@redhat.com>
* gdb.gdb/selftest.exp (do_steps_and_nexts): Check for
diff --git a/gdb/testsuite/gdb.base/save-bp.exp b/gdb/testsuite/gdb.base/save-bp.exp
index fa3c5dd..72a6847 100644
--- a/gdb/testsuite/gdb.base/save-bp.exp
+++ b/gdb/testsuite/gdb.base/save-bp.exp
@@ -46,6 +46,8 @@ set loc_bp5 [gdb_get_line_number "with commands"]
gdb_breakpoint ${srcfile}:${loc_bp5}
gdb_test "commands\nsilent\nend" "End with.*" "add breakpoint commands"
+gdb_test "dprintf ${srcfile}:${loc_bp5},\"At foo entry\\n\"" "Dprintf .*"
+
# Now, save the breakpoints into a file...
remote_file host delete "bps"
gdb_test "save breakpoint bps"
@@ -65,5 +67,6 @@ gdb_test "source bps"
# Now, verify that all breakpoints have been created correctly...
set bp_row_start "\[0-9\]+ +breakpoint +keep +y +0x\[0-9a-f\]+ +in"
+set dprintf_row_start "\[0-9\]+ +dprintf +keep +y +0x\[0-9a-f\]+ +in"
gdb_test "info break" \
- " *Num +Type +Disp +Enb +Address +What\r\n$bp_row_start break_me at .*$srcfile:\[0-9\]+\r\n$bp_row_start main at .*$srcfile:$loc_bp2\r\n$bp_row_start main at .*$srcfile:$loc_bp3 +thread 1\r\n\[ \t]+stop only in thread 1\r\n$bp_row_start main at .*$srcfile:$loc_bp4\r\n\[ \t\]+stop only if i == 1( \\((host|target) evals\\))?\r\n$bp_row_start main at .*$srcfile:$loc_bp5\r\n\[ \t\]+silent"
+ " *Num +Type +Disp +Enb +Address +What\r\n$bp_row_start break_me at .*$srcfile:\[0-9\]+\r\n$bp_row_start main at .*$srcfile:$loc_bp2\r\n$bp_row_start main at .*$srcfile:$loc_bp3 +thread 1\r\n\[ \t]+stop only in thread 1\r\n$bp_row_start main at .*$srcfile:$loc_bp4\r\n\[ \t\]+stop only if i == 1( \\((host|target) evals\\))?\r\n$bp_row_start main at .*$srcfile:$loc_bp5\r\n\[ \t\]+silent\r\n$dprintf_row_start main at .*$srcfile:$loc_bp5\r\n\[ \t\]+printf.*"