re PR debug/24444 (invalid register in debug info)

2006-02-07  Alexandre Oliva  <aoliva@redhat.com>

	PR debug/24444
	* config/ia64/unwind-ia64.c: Revert last change.
	* config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Removed.
	(INCOMING_FRAME_SP_OFFSET): Define.

From-SVN: r110688
This commit is contained in:
Alexandre Oliva 2006-02-07 06:51:39 +00:00 committed by Jakub Jelinek
parent b38a05d083
commit a58b03427c
3 changed files with 12 additions and 9 deletions

View file

@ -1,3 +1,10 @@
2006-02-07 Alexandre Oliva <aoliva@redhat.com>
PR debug/24444
* config/ia64/unwind-ia64.c: Revert last change.
* config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Removed.
(INCOMING_FRAME_SP_OFFSET): Define.
2006-02-06 Roger Sayle <roger@eyesopen.com>
* config/ia64/ia64.c (hfa_element_mode): Don't handle CHAR_TYPE.

View file

@ -981,12 +981,6 @@ enum reg_class
On some machines it may depend on the data type of the function. */
#define FIRST_PARM_OFFSET(FUNDECL) 0
/* The CFA is defined as the SP at the call site, so we have to take
into account that the first argument pointer is
STACK_POINTER_OFFSET bytes off the stack pointer. */
#define ARG_POINTER_CFA_OFFSET(FNDECL) \
(FIRST_PARM_OFFSET (FNDECL) - STACK_POINTER_OFFSET)
/* A C expression whose value is RTL representing the value of the return
address for the frame COUNT steps up from the current frame, after the
prologue. */
@ -1022,7 +1016,9 @@ enum reg_class
beginning of any function, before the prologue. The top of the frame is
defined to be the value of the stack pointer in the previous frame, just
before the call instruction. */
#define INCOMING_FRAME_SP_OFFSET 0
/* The CFA is past the red zone, not at the entry-point stack
pointer. */
#define INCOMING_FRAME_SP_OFFSET STACK_POINTER_OFFSET
/* Register That Address the Stack Frame. */

View file

@ -2067,7 +2067,7 @@ uw_advance_context (struct _Unwind_Context *context, _Unwind_FrameState *fs)
}
/* Fill in CONTEXT for top-of-stack. The only valid registers at this
level will be the return address and the CFA. */
level will be the return address and the CFA. Note that CFA = SP+16. */
#define uw_init_context(CONTEXT) \
do { \
@ -2083,7 +2083,7 @@ uw_init_context_1 (struct _Unwind_Context *context, void *bsp)
{
void *rp = __builtin_extract_return_addr (__builtin_return_address (0));
/* Set psp to the caller's stack pointer. */
void *psp = __builtin_dwarf_cfa ();
void *psp = __builtin_dwarf_cfa () - 16;
_Unwind_FrameState fs;
unsigned long rnat, tmp1, tmp2;