aboutsummaryrefslogtreecommitdiff
path: root/gdb/tm-m88k.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/tm-m88k.h')
-rw-r--r--gdb/tm-m88k.h37
1 files changed, 29 insertions, 8 deletions
diff --git a/gdb/tm-m88k.h b/gdb/tm-m88k.h
index 1890d6c..59fde00 100644
--- a/gdb/tm-m88k.h
+++ b/gdb/tm-m88k.h
@@ -22,14 +22,20 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "tdesc.h"
+#if !defined (DGUX)
+#define DGUX 1
+#endif
+
#define TARGET_BYTE_ORDER BIG_ENDIAN
+#define EXTRA_SYMTAB_INFO int coffsem;
+
/* This is not a CREATE_INFERIOR_HOOK because it also applies to
remote debugging. */
-#define START_INFERIOR_HOOK () \
+#define START_INFERIOR_HOOK() \
{ \
extern int safe_to_init_tdesc_context; \
- extern int tdesc_handle; \
+ extern dc_handle_t tdesc_handle; \
\
safe_to_init_tdesc_context = 0; \
if (tdesc_handle) \
@@ -39,18 +45,22 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
} \
}
+dc_dcontext_t get_prev_context ();
+extern int stack_error;
+
#define EXTRA_FRAME_INFO dc_dcontext_t frame_context;
#define INIT_EXTRA_FRAME_INFO(fci) \
{ \
if (fci->next_frame != NULL) \
{ \
+ extern jmp_buf stack_jmp; \
+ struct frame_info *next_frame = fci->next; \
/* The call to get_prev_context */ \
/* will update current_context for us. */ \
- int stack_error = 1; \
- jmp_buf stack_jmp; \
+ stack_error = 1; \
if (!setjmp (stack_jmp)) \
{ \
- prev->frame_context \
+ fci->frame_context \
= get_prev_context (next_frame->frame_context); \
stack_error = 0; \
} \
@@ -60,7 +70,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
next_frame->prev = 0; \
return 0; \
} \
- if (!prev->frame_context) \
+ if (!fci->frame_context) \
{ \
next_frame->prev = 0; \
return 0; \
@@ -357,7 +367,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
into consecutive registers starting from r2. */
#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy (&(((void *)REGBUF)[REGISTER_BYTE(RV_REGNUM)]), (VALBUF), TYPE_LENGTH (TYPE))
+ bcopy (&(((char *)REGBUF)[REGISTER_BYTE(RV_REGNUM)]), (VALBUF), TYPE_LENGTH (TYPE))
#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(int *)(REGBUF))
@@ -372,6 +382,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define BELIEVE_PCC_PROMOTION 1
+/* We provide our own get_saved_register in m88k-tdep.c. */
+#define GET_SAVED_REGISTER
+
/* Describe the pointer in each stack frame to the previous stack frame
(its caller). */
@@ -448,6 +461,12 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
frame_find_saved_regs (frame_info, &frame_saved_regs)
+/* There is not currently a functioning way to call functions in the
+ inferior. */
+
+/* But if there was this is where we'd put the call dummy. */
+/* #define CALL_DUMMY_LOCATION AFTER_TEXT_END */
+
/* When popping a frame on the 88k (say when doing a return command), the
calling function only expects to have the "preserved" registers restored.
Thus, those are the only ones that we even try to restore here. */
@@ -457,4 +476,6 @@ extern void pop_frame ();
#define POP_FRAME pop_frame ()
/* BCS is a standard for binary compatibility. This machine uses it. */
-#define BCS
+#if !defined (BCS)
+#define BCS 1
+#endif