This is the mail archive of the
gdb-patches@sourceware.cygnus.com
mailing list for the GDB project.
Bug in arm_frameless_function_invocation
- To: gdb-patches@sourceware.cygnus.com
- Subject: Bug in arm_frameless_function_invocation
- From: Richard Earnshaw <rearnsha@arm.com>
- Date: Fri, 13 Aug 1999 11:05:32 +0100
- Cc: richard.earnshaw@arm.com
- Organization: ARM Ltd.
- Reply-To: richard.earnshaw@arm.com
arm_frameless_function_invocation always reports that a function is
frameless. This is because it doesn't update after_prologue correctly
(SKIP_PROLOGUE returns a value, it does not update its argument, see
config/arm/tm-arm.h).
<date> Richard Earnshaw (rearnsha@arm.com)
* arm-tdep.c (arm_frameless_function_invocation): Correctly set
after_prologue.
Index: arm-tdep.c
===================================================================
RCS file: /cvs/gdb/gdb/gdb/arm-tdep.c,v
retrieving revision 1.1.1.6
diff -p -r1.1.1.6 arm-tdep.c
*** arm-tdep.c 1999/08/09 21:33:18 1.1.1.6
--- arm-tdep.c 1999/08/13 09:57:58
*************** arm_frameless_function_invocation (fi)
*** 186,193 ****
int frameless;
func_start = (get_pc_function_start ((fi)->pc) + FUNCTION_START_OFFSET);
! after_prologue = func_start;
! SKIP_PROLOGUE (after_prologue);
/* There are some frameless functions whose first two instructions
follow the standard APCS form, in which case after_prologue
will be func_start + 8. */
--- 186,192 ----
int frameless;
func_start = (get_pc_function_start ((fi)->pc) + FUNCTION_START_OFFSET);
! after_prologue = SKIP_PROLOGUE (func_start);
/* There are some frameless functions whose first two instructions
follow the standard APCS form, in which case after_prologue
will be func_start + 8. */