summaryrefslogtreecommitdiff
path: root/gdb/alpha-tdep.c
diff options
context:
space:
mode:
authorJason Thorpe <thorpej@netbsd.org>2002-01-20 01:33:15 +0000
committerJason Thorpe <thorpej@netbsd.org>2002-01-20 01:33:15 +0000
commit8d99d99d7e6183fea5ed481a16e5fe6cdd5470fc (patch)
tree2f07089a785aae92bd99c0476a6a5be9fa6379e6 /gdb/alpha-tdep.c
parentebfe9b6e39ec91bb08ba67f3572e416fce54d63c (diff)
downloadgdb-8d99d99d7e6183fea5ed481a16e5fe6cdd5470fc.tar.gz
* 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.
Diffstat (limited to 'gdb/alpha-tdep.c')
-rw-r--r--gdb/alpha-tdep.c30
1 files changed, 27 insertions, 3 deletions
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c
index b894fbdf086..971dd632f24 100644
--- a/gdb/alpha-tdep.c
+++ b/gdb/alpha-tdep.c
@@ -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