aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/breakpoint.c13
2 files changed, 17 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 39da5fe..edc2587 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2012-07-20 Marc Khouzam <marc.khouzam@ericsson.com>
+
+ * breakpoint.c (create_breakpoint): Store condition for pending
+ breakpoints.
+
2012-07-24 Andreas Schwab <schwab@linux-m68k.org>
* m68k-tdep.c (m68k_reg_struct_return_p): Accept complex types.
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index cbb150f..03719d4 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -9557,7 +9557,18 @@ create_breakpoint (struct gdbarch *gdbarch,
init_raw_breakpoint_without_location (b, gdbarch, type_wanted, ops);
b->addr_string = copy_arg;
- b->cond_string = NULL;
+ if (parse_condition_and_thread)
+ b->cond_string = NULL;
+ else
+ {
+ /* Create a private copy of condition string. */
+ if (cond_string)
+ {
+ cond_string = xstrdup (cond_string);
+ make_cleanup (xfree, cond_string);
+ }
+ b->cond_string = cond_string;
+ }
b->extra_string = NULL;
b->ignore_count = ignore_count;
b->disposition = tempflag ? disp_del : disp_donttouch;