This is the mail archive of the gdb-patches@sourceware.cygnus.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Bug in arm_frameless_function_invocation



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. */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]