aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/breakpoint.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 71a5bd4..a1056d7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2009-11-24 Joel Brobecker <brobecker@adacore.com>
+
+ * breakpoint.c (expand_line_sal_maybe): Adjust adjust the SAL
+ past the function prologue in the case where we were given only
+ one SAL.
+
2009-11-24 Pedro Alves <pedro@codesourcery.com>
* record.c (init_record_ops, init_record_core_ops): Actually
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 90d9247..8a6813c 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -6340,13 +6340,14 @@ expand_line_sal_maybe (struct symtab_and_line sal)
if (expanded.nelts == 1)
{
- /* We had one sal, we got one sal. Without futher
- processing, just return the original sal. */
+ /* We had one sal, we got one sal. Return that sal, adjusting it
+ past the function prologue if necessary. */
xfree (expanded.sals);
expanded.nelts = 1;
expanded.sals = xmalloc (sizeof (struct symtab_and_line));
sal.pc = original_pc;
expanded.sals[0] = sal;
+ skip_prologue_sal (&expanded.sals[0]);
do_cleanups (old_chain);
return expanded;
}