aboutsummaryrefslogtreecommitdiff
path: root/gdb/tm-sparc.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/tm-sparc.h')
-rw-r--r--gdb/tm-sparc.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/gdb/tm-sparc.h b/gdb/tm-sparc.h
index aa72a57..f7acf3c 100644
--- a/gdb/tm-sparc.h
+++ b/gdb/tm-sparc.h
@@ -286,7 +286,12 @@ extern CORE_ADDR skip_prologue ();
as a CORE_ADDR (or an expression that can be used as one). */
#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \
- (read_memory_integer (((int *)(REGBUF))[SP_REGNUM]+(16*4), 4))
+ (sparc_extract_struct_value_address (REGBUF))
+CORE_ADDR sparc_extract_struct_value_address (
+#ifdef __STDC__
+ char [REGISTER_BYTES]
+#endif
+ );
/* Describe the pointer in each stack frame to the previous stack frame
@@ -296,9 +301,6 @@ extern CORE_ADDR skip_prologue ();
of <sun4/reg.h> (also known as <machine/reg.h>). */
#include <sun4/reg.h>
-#define GET_RWINDOW_REG(FRAME, REG) \
- (read_memory_integer ((CORE_ADDR)&((struct rwindow *)FRAME)->REG, 4))
-
/* FRAME_CHAIN takes a frame's nominal address
and produces the frame's chain-pointer.
@@ -337,8 +339,8 @@ extern CORE_ADDR skip_prologue ();
(fci)->next->bottom : (fci)->next->frame) : \
read_register (SP_REGNUM));
-#define FRAME_CHAIN(thisframe) \
- GET_RWINDOW_REG ((thisframe)->frame, rw_in[6])
+#define FRAME_CHAIN(thisframe) (sparc_frame_chain (thisframe))
+CORE_ADDR sparc_frame_chain ();
#define FRAME_CHAIN_VALID(chain, thisframe) \
(chain != 0 && (outside_startup_file (FRAME_SAVED_PC (thisframe))))