summaryrefslogtreecommitdiff
path: root/gdb/config/alpha
diff options
context:
space:
mode:
authorJason Thorpe <thorpej@netbsd.org>2002-01-19 06:44:56 +0000
committerJason Thorpe <thorpej@netbsd.org>2002-01-19 06:44:56 +0000
commit140f998426704f8ef286f58033ab983850d39552 (patch)
tree198523679619cf526d12e5e06f67b376367f2234 /gdb/config/alpha
parentd734c450e15fb96ea85368f722b560b395183343 (diff)
downloadbinutils-gdb-140f998426704f8ef286f58033ab983850d39552.tar.gz
* alpha-tdep.c (frame_extra_info): New.
(alpha_find_saved_regs): Make static. Use frame->extra_info. (alpha_frame_init_saved_regs): New function. (alpha_frame_saved_pc): Use frame->extra_info. (temp_saved_regs): Don't declare as struct frame_saved_regs. (heuristic_proc_desc): Adjust for temp_saved_regs changes. (init_extra_frame_info): Rename to... (alpha_init_extra_frame_info): ...this. Use frame->extra_info. (alpha_print_extra_frame_info): New function. (alpha_frame_locals_address): Ditto. (alpha_frame_args_address): Ditto. (alpha_pop_frame): Use frame->extra_info. * config/alpha/tm-alpha.h (FRAME_ARGS_ADDRESS): Use alpha_frame_args_address. (FRAME_LOCALS_ADDRESS): Use alpha_frame_locals_address. (alpha_find_saved_regs): Remove prototype. (FRAME_INIT_SAVED_REGS): Use alpha_frame_init_saved_regs. (EXTRA_FRAME_INFO): Remove. (INIT_EXTRA_FRAME_INFO): Use alpha_init_extra_frame_info. (PRINT_EXTRA_FRAME_INFO): Use alpha_print_extra_frame_info.
Diffstat (limited to 'gdb/config/alpha')
-rw-r--r--gdb/config/alpha/tm-alpha.h34
1 files changed, 12 insertions, 22 deletions
diff --git a/gdb/config/alpha/tm-alpha.h b/gdb/config/alpha/tm-alpha.h
index 7630e0887b2..5c536222cc3 100644
--- a/gdb/config/alpha/tm-alpha.h
+++ b/gdb/config/alpha/tm-alpha.h
@@ -276,9 +276,11 @@ extern CORE_ADDR alpha_frame_saved_pc (struct frame_info *);
#define ALPHA_NUM_ARG_REGS 6
-#define FRAME_ARGS_ADDRESS(fi) ((fi)->frame - (ALPHA_NUM_ARG_REGS * 8))
+#define FRAME_ARGS_ADDRESS(fi) alpha_frame_args_address ((fi))
+extern CORE_ADDR alpha_frame_args_address (struct frame_info *);
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame - (fi)->localoff)
+#define FRAME_LOCALS_ADDRESS(fi) alpha_frame_locals_address ((fi))
+extern CORE_ADDR alpha_frame_locals_address (struct frame_info *);
/* Return number of args passed to a frame.
Can return -1, meaning no way to tell. */
@@ -295,14 +297,9 @@ extern CORE_ADDR alpha_frame_saved_pc (struct frame_info *);
ways in the stack frame. sp is even more special:
the address we return for it IS the sp for the next frame. */
-extern void alpha_find_saved_regs (struct frame_info *);
-
#define FRAME_INIT_SAVED_REGS(frame_info) \
- do { \
- if ((frame_info)->saved_regs == NULL) \
- alpha_find_saved_regs (frame_info); \
- (frame_info)->saved_regs[SP_REGNUM] = (frame_info)->frame; \
- } while (0)
+ alpha_frame_init_saved_regs (frame_info)
+extern void alpha_frame_init_saved_regs (struct frame_info *);
/* Things needed for making the inferior call functions. */
@@ -391,21 +388,14 @@ typedef struct alpha_extra_func_info
#define mips_extra_func_info alpha_extra_func_info
#define mips_extra_func_info_t alpha_extra_func_info_t
-#define EXTRA_FRAME_INFO \
- int localoff; \
- int pc_reg; \
- alpha_extra_func_info_t proc_desc;
-#define INIT_EXTRA_FRAME_INFO(fromleaf, fci) init_extra_frame_info(fci)
-extern void init_extra_frame_info (struct frame_info *);
+#define INIT_EXTRA_FRAME_INFO(fromleaf, fci) \
+ alpha_init_extra_frame_info(fromleaf, fci)
+extern void alpha_init_extra_frame_info (int, struct frame_info *);
+
+#define PRINT_EXTRA_FRAME_INFO(fi) alpha_print_extra_frame_info ((fi))
+extern void alpha_print_extra_frame_info (struct frame_info *);
-#define PRINT_EXTRA_FRAME_INFO(fi) \
- { \
- if (fi && fi->proc_desc && fi->proc_desc->pdr.framereg < NUM_REGS) \
- printf_filtered (" frame pointer is at %s+%ld\n", \
- REGISTER_NAME (fi->proc_desc->pdr.framereg), \
- fi->proc_desc->pdr.frameoffset); \
- }
/* It takes two values to specify a frame on the ALPHA. Sigh.