From: brobecke Date: Tue, 18 Sep 2007 23:46:04 +0000 (+0000) Subject: * ia64-tdep.c (refine_prologue_limit): Make sure we don't scan X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=45cb427d67d6a0fbe21333d9eacd59dab7641a68;p=pf3gnuchains%2Fsourceware.git * ia64-tdep.c (refine_prologue_limit): Make sure we don't scan the linetable past the function end. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index db3a8268db..516cc764e6 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2007-09-18 Joel Brobecker + + * ia64-tdep.c (refine_prologue_limit): Make sure we don't scan + the linetable past the function end. + 2007-09-18 James E. Wilson * MAINTAINERS: Update my email address. diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c index 14e5603214..8245798d28 100644 --- a/gdb/ia64-tdep.c +++ b/gdb/ia64-tdep.c @@ -967,6 +967,12 @@ refine_prologue_limit (CORE_ADDR pc, CORE_ADDR lim_pc, int *trust_limit) { struct symtab_and_line prologue_sal; CORE_ADDR start_pc = pc; + CORE_ADDR end_pc; + + /* The prologue can not possibly go past the function end itself, + so we can already adjust LIM_PC accordingly. */ + if (find_pc_partial_function (pc, NULL, NULL, &end_pc) && end_pc < lim_pc) + lim_pc = end_pc; /* Start off not trusting the limit. */ *trust_limit = 0;