diff options
Diffstat (limited to 'gdb/tm-altos.h')
-rw-r--r-- | gdb/tm-altos.h | 57 |
1 files changed, 2 insertions, 55 deletions
diff --git a/gdb/tm-altos.h b/gdb/tm-altos.h index bc0d2f9..7fb094a 100644 --- a/gdb/tm-altos.h +++ b/gdb/tm-altos.h @@ -1,5 +1,5 @@ /* Definitions to make GDB run on an Altos 3068 (m68k running SVR2) - Copyright (C) 1987,1989 Free Software Foundation, Inc. + Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GDB. @@ -27,9 +27,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #undef NAMES_HAVE_UNDERSCORE -/* Exec files and symbol tables are in COFF format */ +/* COFF files don't have long filenames. */ -#define COFF_FORMAT #define COFF_NO_LONG_FILE_NAMES /* Address of end of stack space. */ @@ -38,60 +37,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define STACK_END_ADDR (0x1000000) /* Amount PC must be decremented by after a breakpoint. - This is often the number of bytes in BREAKPOINT - but not always. On the Altos, the kernel resets the pc to the trap instr */ #define DECR_PC_AFTER_BREAK 0 - -/* Things needed for making the inferior call functions. */ - -/* Push an empty stack frame, to record the current PC, etc. */ - -#define PUSH_DUMMY_FRAME \ -{ register CORE_ADDR sp = read_register (SP_REGNUM); \ - register int regnum; \ - char raw_buffer[12]; \ - sp = push_word (sp, read_register (PC_REGNUM)); \ - sp = push_word (sp, read_register (FP_REGNUM)); \ - write_register (FP_REGNUM, sp); \ - for (regnum = FP0_REGNUM + 7; regnum >= FP0_REGNUM; regnum--) \ - { read_register_bytes (REGISTER_BYTE (regnum), raw_buffer, 12); \ - sp = push_bytes (sp, raw_buffer, 12); } \ - for (regnum = FP_REGNUM - 1; regnum >= 0; regnum--) \ - sp = push_word (sp, read_register (regnum)); \ - sp = push_word (sp, read_register (PS_REGNUM)); \ - write_register (SP_REGNUM, sp); } - -/* Discard from the stack the innermost frame, - restoring all saved registers. */ - -#define POP_FRAME \ -{ register FRAME frame = get_current_frame (); \ - register CORE_ADDR fp; \ - register int regnum; \ - struct frame_saved_regs fsr; \ - struct frame_info *fi; \ - char raw_buffer[12]; \ - fi = get_frame_info (frame); \ - fp = fi->frame; \ - get_frame_saved_regs (fi, &fsr); \ - for (regnum = FP0_REGNUM + 7; regnum >= FP0_REGNUM; regnum--) \ - if (fsr.regs[regnum]) \ - { read_memory (fsr.regs[regnum], raw_buffer, 12); \ - write_register_bytes (REGISTER_BYTE (regnum), raw_buffer, 12); }\ - for (regnum = FP_REGNUM - 1; regnum >= 0; regnum--) \ - if (fsr.regs[regnum]) \ - write_register (regnum, read_memory_integer (fsr.regs[regnum], 4)); \ - if (fsr.regs[PS_REGNUM]) \ - write_register (PS_REGNUM, read_memory_integer (fsr.regs[PS_REGNUM], 4)); \ - write_register (FP_REGNUM, read_memory_integer (fp, 4)); \ - write_register (PC_REGNUM, read_memory_integer (fp + 4, 4)); \ - write_register (SP_REGNUM, fp + 8); \ - flush_cached_frames (); \ - set_current_frame (create_new_frame (read_register (FP_REGNUM), \ - read_pc ())); } - - #include "tm-68k.h" |