* alpha-tdep.c (alpha_register_byte): New function.

(alpha_register_raw_size): Ditto.
(alpha_register_virtual_size): Ditto.
(alpha_skip_prologue_internal): Renamed from
alpha_skip_prologue.
(alpha_skip_prologue): New version that calls
alpha_skip_prologue_internal.
(alpha_in_lenient_prologue): Use alpha_skip_prologue_internal.
* config/alpha/tm-alpha.h (SKIP_PROLOGUE): Remove
second argument from alpha_skip_prologue.
(REGISTER_BYTE): Use alpha_register_byte.
(REGISTER_RAW_SIZE): Use alpha_register_raw_size.
(REGISTER_VIRTUAL_SIZE): Use alpha_register_virtual_size.
(FRAMELESS_FUNCTION_INVOCATION): Use
generic_frameless_function_invocation_not.
(FRAME_NUM_ARGS): Use frame_num_args_unknown.
(COERCE_FLOAT_TO_DOUBLE): Use standard_coerce_float_to_double.
This commit is contained in:
Jason Thorpe
2002-01-20 01:33:15 +00:00
parent 52d9e61301
commit f8453e34b9
3 changed files with 64 additions and 15 deletions

View File

@@ -322,6 +322,24 @@ alpha_register_virtual_type (int regno)
return ((regno >= FP0_REGNUM && regno < (FP0_REGNUM+31))
? builtin_type_double : builtin_type_long);
}
int
alpha_register_byte (int regno)
{
return (regno * 8);
}
int
alpha_register_raw_size (int regno)
{
return 8;
}
int
alpha_register_virtual_size (int regno)
{
return 8;
}
/* Guaranteed to set frame->saved_regs to some values (it never leaves it
@@ -1277,8 +1295,8 @@ alpha_pop_frame (void)
Currently we must not skip more on the alpha, but we might need the
lenient stuff some day. */
CORE_ADDR
alpha_skip_prologue (CORE_ADDR pc, int lenient)
static CORE_ADDR
alpha_skip_prologue_internal (CORE_ADDR pc, int lenient)
{
unsigned long inst;
int offset;
@@ -1350,6 +1368,12 @@ alpha_skip_prologue (CORE_ADDR pc, int lenient)
return pc + offset;
}
CORE_ADDR
alpha_skip_prologue (CORE_ADDR addr)
{
return (alpha_skip_prologue_internal (addr, 0));
}
#if 0
/* Is address PC in the prologue (loosely defined) for function at
STARTADDR? */
@@ -1357,7 +1381,7 @@ alpha_skip_prologue (CORE_ADDR pc, int lenient)
static int
alpha_in_lenient_prologue (CORE_ADDR startaddr, CORE_ADDR pc)
{
CORE_ADDR end_prologue = alpha_skip_prologue (startaddr, 1);
CORE_ADDR end_prologue = alpha_skip_prologue_internal (startaddr, 1);
return pc >= startaddr && pc < end_prologue;
}
#endif