aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2009-11-24 21:37:52 +0000
committerJoel Brobecker <brobecker@gnat.com>2009-11-24 21:37:52 +0000
commit3dba1c9899d02d3dde715498124073c23638fd6f (patch)
tree5d17a81e6917591f499c40c54c1e866062277c61 /gdb
parent7c3afe08c728dec4d843a777e6b2f294c27338be (diff)
downloadfsf-binutils-gdb-3dba1c9899d02d3dde715498124073c23638fd6f.zip
fsf-binutils-gdb-3dba1c9899d02d3dde715498124073c23638fd6f.tar.gz
fsf-binutils-gdb-3dba1c9899d02d3dde715498124073c23638fd6f.tar.bz2
* breakpoint.c (expand_line_sal_maybe): Adjust adjust the SAL
past the function prologue in the case where we were given only one SAL.
Diffstat (limited to 'gdb')
-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;
}