summaryrefslogtreecommitdiff
path: root/gdb/breakpoint.c
diff options
context:
space:
mode:
authorMarc Khouzam <marc.khouzam@ericsson.com>2012-07-24 17:37:56 +0000
committerMarc Khouzam <marc.khouzam@ericsson.com>2012-07-24 17:37:56 +0000
commite12c771396c1f7bbb6246d97916632af923f6860 (patch)
treec2629924719473c76fe2116a8f04106231274c29 /gdb/breakpoint.c
parent5e73442d4c1ea1261339be580fb0f12bdc4b9e29 (diff)
downloadbinutils-gdb-e12c771396c1f7bbb6246d97916632af923f6860.tar.gz
2012-07-20 Marc Khouzam <marc.khouzam@ericsson.com>
* breakpoint.c (create_breakpoint): Store condition for pending breakpoints.
Diffstat (limited to 'gdb/breakpoint.c')
-rw-r--r--gdb/breakpoint.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index cbb150f4be4..03719d4debb 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;