diff options
author | Jason Thorpe <thorpej@netbsd.org> | 2002-01-19 05:26:47 +0000 |
---|---|---|
committer | Jason Thorpe <thorpej@netbsd.org> | 2002-01-19 05:26:47 +0000 |
commit | d734c450e15fb96ea85368f722b560b395183343 (patch) | |
tree | 863dcafe3b120299edf737b5b1b4fbbb3a66b0d2 /gdb/alpha-tdep.c | |
parent | b4ceaee622fd34c2b95b4514bec05f8578b04f34 (diff) | |
download | gdb-d734c450e15fb96ea85368f722b560b395183343.zip gdb-d734c450e15fb96ea85368f722b560b395183343.tar.gz gdb-d734c450e15fb96ea85368f722b560b395183343.tar.bz2 |
* alpha-tdep.c (alpha_osf_in_sigtramp): New function.
(alpha_cannot_fetch_register): Ditto.
(alpha_cannot_store_register): Ditto.
(alpha_register_convertible): Ditto.
(alpha_use_struct_convention): Ditto.
* config/alpha/tm-alpha.h: Update copyright years.
(IN_SIGTRAMP): Use alpha_osf_in_sigtramp.
(INNER_THAN): Use core_addr_lessthan.
(CANNOT_FETCH_REGISTER): Use alpha_cannot_fetch_register.
(CANNOT_STORE_REGISTER): Use alpha_cannot_store_register.
(REGISTER_CONVERTIBLE): Use alpha_register_convertible.
(USE_STRUCT_CONVENTION): Use alpha_use_struct_convention.
(FRAME_CHAIN): Remove unnecessary cast.
Diffstat (limited to 'gdb/alpha-tdep.c')
-rw-r--r-- | gdb/alpha-tdep.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c index 0ec3add..a50000e 100644 --- a/gdb/alpha-tdep.c +++ b/gdb/alpha-tdep.c @@ -144,6 +144,11 @@ struct linked_proc_info } *linked_proc_desc_table = NULL; +int +alpha_osf_in_sigtramp (CORE_ADDR pc, char *func_name) +{ + return (func_name != NULL && STREQ ("__sigtramp", func_name)); +} /* Under GNU/Linux, signal handler invocations can be identified by the designated code sequence that is used to return from a signal @@ -283,6 +288,24 @@ alpha_register_name (int regno) return (NULL); return (register_names[regno]); } + +int +alpha_cannot_fetch_register (int regno) +{ + return (regno == FP_REGNUM || regno == ZERO_REGNUM); +} + +int +alpha_cannot_store_register (int regno) +{ + return (regno == FP_REGNUM || regno == ZERO_REGNUM); +} + +int +alpha_register_convertible (int regno) +{ + return (regno >= FP0_REGNUM && regno <= FP0_REGNUM + 31); +} /* Guaranteed to set frame->saved_regs to some values (it never leaves it @@ -1410,6 +1433,13 @@ alpha_call_dummy_address (void) return SYMBOL_VALUE_ADDRESS (sym) + 4; } +int +alpha_use_struct_convention (int gcc_p, struct type *type) +{ + /* Structures are returned by ref in extra arg0. */ + return 1; +} + /* alpha_software_single_step() is called just before we want to resume the inferior, if we want to single-step it but there is no hardware or kernel single-step support (NetBSD on Alpha, for example). We find |