+2009-06-19 Jerome Guitton <guitton@adacore.com>
+
+ * breakpoint.c (expand_line_sal_maybe): When explicit_line,
+ skip prologue on each sals.
+ (skip_prologue_sal): Return explicit_line and explicit_pc
+ unmodified.
+
2009-06-19 Tristan Gingold <gingold@adacore.com>
* darwin-nat.c (_initialize_darwin_inferior): Remove commented-out
static void trace_pass_command (char *, int);
+static void skip_prologue_sal (struct symtab_and_line *sal);
+
+
/* Flag indicating that a command has proceeded the inferior past the
current breakpoint. */
}
}
}
+ else
+ {
+ for (i = 0; i < expanded.nelts; ++i)
+ {
+ /* If this SAL corresponds to a breakpoint inserted using a
+ line number, then skip the function prologue if necessary. */
+ skip_prologue_sal (&expanded.sals[i]);
+ }
+ }
if (expanded.nelts <= 1)
/* Adjust SAL to the first instruction past the function prologue.
The end of the prologue is determined using the line table from
- the debugging information.
+ the debugging information. explicit_pc and explicit_line are
+ not modified.
If SAL is already past the prologue, then do nothing. */
start_sal = find_function_start_sal (sym, 1);
if (sal->pc < start_sal.pc)
- *sal = start_sal;
+ {
+ start_sal.explicit_line = sal->explicit_line;
+ start_sal.explicit_pc = sal->explicit_pc;
+ *sal = start_sal;
+ }
}
/* Helper function for break_command_1 and disassemble_command. */