diff options
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/breakpoint.c | 14 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/save-bp.exp | 5 |
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.*" |