2003-02-04 Andrew Cagney <ac131313@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Tue, 4 Feb 2003 23:22:25 +0000 (23:22 +0000)
committerAndrew Cagney <cagney@redhat.com>
Tue, 4 Feb 2003 23:22:25 +0000 (23:22 +0000)
* NEWS: Mention that the z8k-zilog-none is obsolete.
* MAINTAINERS: Mark z8k as obsolete.
* configure.tgt: Obsolete the z8k-*-coff* target.
* config/z8k/z8k.mt: Obsolete file.
* config/z8k/tm-z8k.h: Obsolete file.
* z8k-tdep.c: Obsolete file.

gdb/ChangeLog
gdb/MAINTAINERS
gdb/NEWS
gdb/config/z8k/tm-z8k.h
gdb/config/z8k/z8k.mt
gdb/configure.tgt
gdb/z8k-tdep.c

index 0b32b6463769f3e52ba2ea85819c57e2c88cc435..1bae648426fccd004ed939523aa2144a22e95d35 100644 (file)
@@ -1,3 +1,12 @@
+2003-02-04  Andrew Cagney  <ac131313@redhat.com>
+
+       * NEWS: Mention that the z8k-zilog-none is obsolete.
+       * MAINTAINERS: Mark z8k as obsolete.
+       * configure.tgt: Obsolete the z8k-*-coff* target.
+       * config/z8k/z8k.mt: Obsolete file.
+       * config/z8k/tm-z8k.h: Obsolete file.
+       * z8k-tdep.c: Obsolete file.
+
 2003-02-04  Andrew Cagney  <ac131313@redhat.com>
 
        * NEWS: Mention that the mn10200-elf is obsolete.
 2003-02-04  Andrew Cagney  <ac131313@redhat.com>
 
        * NEWS: Mention that the mn10200-elf is obsolete.
index 973c480bbb3227f403266e5fc299e4efcbc52c75..02d19e2886c3a1d71b7ade63dc41f659c8582fee 100644 (file)
@@ -152,10 +152,7 @@ maintainer works with the native maintainer when resolving API issues.
        xstormy16       --target=xstormy16-elf ,-Werror
                        Corinna Vinschen        vinschen@redhat.com
 
        xstormy16       --target=xstormy16-elf ,-Werror
                        Corinna Vinschen        vinschen@redhat.com
 
-       z8k             --target=z8k-coff ,-Werror
-                       Known problem in 5.1
-                       Maintenance only
-                       OBSOLETE candidate, not multi-arch
+       z8k             (--target=z8k-coff OBSOLETE)
 
 All developers recognized by this file can make arbitrary changes to
 OBSOLETE targets.
 
 All developers recognized by this file can make arbitrary changes to
 OBSOLETE targets.
index ad4684262f4795fb0344351861521228936f09c3..a6574639850f76e9c03c2823c855b219698bd146 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -37,6 +37,7 @@ been commented out.  Unless there is activity to revive these
 configurations, the next release of GDB will have their sources
 permanently REMOVED.
 
 configurations, the next release of GDB will have their sources
 permanently REMOVED.
 
+Z8000 simulator                                z8k-zilog-none    or z8ksim
 Matsushita MN10200 w/simulator                 mn10200-*-*
 H8/500 simulator                       h8500-hitachi-hms or h8500hms
 
 Matsushita MN10200 w/simulator                 mn10200-*-*
 H8/500 simulator                       h8500-hitachi-hms or h8500hms
 
index 86cc4a4b59d650bfaf1ea6d0cd7ac52fc5352e44..59b6ecbad7b40a8ac36375d97f12a007583bf36b 100644 (file)
-/* Parameters for execution on a z8000 series machine.
-
-   Copyright 1992, 1993, 1994, 1998, 1999, 2000, 2001, 2002 Free
-   Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* NOTE: cagney/2002-11-24: This is a guess.  */
-#define DEPRECATED_USE_GENERIC_DUMMY_FRAMES 0
-#define CALL_DUMMY_LOCATION ON_STACK
-#define DEPRECATED_PC_IN_CALL_DUMMY(pc, sp, frame_address) deprecated_pc_in_call_dummy_on_stack (pc, sp, frame_address)
-
-#undef TARGET_INT_BIT
-#undef TARGET_LONG_BIT
-#undef TARGET_SHORT_BIT
-#undef TARGET_PTR_BIT
-
-#define TARGET_SHORT_BIT 16
-#define TARGET_INT_BIT 16
-#define TARGET_LONG_BIT 32
-#define TARGET_PTR_BIT (BIG ? 32: 16)
-
-/* Offset from address of function to start of its code.
-   Zero on most machines.  */
-
-#define FUNCTION_START_OFFSET 0
-
-/* Advance PC across any function entry prologue instructions
-   to reach some "real" code.  */
-
-#define SKIP_PROLOGUE(ip)   (z8k_skip_prologue (ip))
-extern CORE_ADDR z8k_skip_prologue (CORE_ADDR ip);
-
-
-/* Immediately after a function call, return the saved pc.
-   Can't always go through the frames for this because on some machines
-   the new frame is not set up until the new function executes
-   some instructions.  */
-
-
-extern int z8k_saved_pc_after_call (struct frame_info *frame);
-#define SAVED_PC_AFTER_CALL(frame) z8k_saved_pc_after_call(frame)
-
-/* Stack grows downward.  */
-
-#define INNER_THAN(lhs,rhs) ((lhs) < (rhs))
-
-/* Sequence of bytes for breakpoint instruction. */
-
-#define BREAKPOINT {0x36,0x00}
-
-/* If your kernel resets the pc after the trap happens you may need to
-   define this before including this file.  */
-
-#define DECR_PC_AFTER_BREAK 0
-
-/* Say how long registers are.  */
-
-#define REGISTER_TYPE unsigned int
-
-#define NUM_REGS       23      /* 16 registers + 1 ccr + 1 pc + 3 debug
-                                  regs + fake fp + fake sp */
-#define REGISTER_BYTES  (NUM_REGS *4)
-
-/* Index within `registers' of the first byte of the space for
-   register N.  */
-
-#define REGISTER_BYTE(N)  ((N)*4)
-
-/* Number of bytes of storage in the actual machine representation
-   for register N.  On the z8k, all but the pc are 2 bytes, but we
-   keep them all as 4 bytes and trim them on I/O */
-
-
-#define REGISTER_RAW_SIZE(N) (((N) < 16)? 2:4)
-
-/* Number of bytes of storage in the program's representation
-   for register N.  */
-
-#define REGISTER_VIRTUAL_SIZE(N) REGISTER_RAW_SIZE(N)
-
-/* Largest value REGISTER_RAW_SIZE can have.  */
-
-#define MAX_REGISTER_RAW_SIZE 4
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have.  */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 4
-
-/* Return the GDB type object for the "standard" data type
-   of data in register N.  */
-
-#define REGISTER_VIRTUAL_TYPE(N) \
- (REGISTER_VIRTUAL_SIZE(N) == 2? builtin_type_unsigned_int : builtin_type_long)
-
-#define DEPRECATED_INIT_FRAME_PC(x,y) (init_frame_pc_noop (x, y))
-#define INIT_FRAME_PC_FIRST(x,y) (init_frame_pc_noop (x, y))
-
-#define REGISTER_NAMES  \
- {"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \
-  "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", \
-  "ccr", "pc", "cycles","insts","time","fp","sp"}
-
-/* Register numbers of various important registers.
-   Note that some of these values are "real" register numbers,
-   and correspond to the general registers of the machine,
-   and some are "phony" register numbers which are too large
-   to be actual register numbers as far as the user is concerned
-   but do serve to get the desired values when passed to read_register.  */
-
-#define CCR_REGNUM     16      /* Contains processor status */
-#define PC_REGNUM      17      /* Contains program counter */
-#define CYCLES_REGNUM  18
-#define INSTS_REGNUM   19
-#define TIME_REGNUM    20
-#define FP_REGNUM      21      /* Contains fp, whatever memory model */
-#define SP_REGNUM      22      /* Conatins sp, whatever memory model */
-
-
-
-#define PTR_SIZE (BIG ? 4: 2)
-#define PTR_MASK (BIG ? 0xff00ffff : 0x0000ffff)
-
-/* Store the address of the place in which to copy the structure the
-   subroutine will return.  This is called from call_function. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP) internal_error (__FILE__, __LINE__, "failed internal consistency check");
-
-/* Extract from an array REGBUF containing the (raw) register state
-   a function return value of type TYPE, and copy that, in virtual format,
-   into VALBUF.  This is assuming that floating point values are returned
-   as doubles in d0/d1.  */
-
-
-#define DEPRECATED_EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
-  memcpy(VALBUF, REGBUF + REGISTER_BYTE(2), TYPE_LENGTH(TYPE));
-
-/* Write into appropriate registers a function return value
-   of type TYPE, given in virtual format. */
-
-#define DEPRECATED_STORE_RETURN_VALUE(TYPE,VALBUF) internal_error (__FILE__, __LINE__, "failed internal consistency check");
-
-/* Extract from an array REGBUF containing the (raw) register state
-   the address in which a function should return its structure value,
-   as a CORE_ADDR (or an expression that can be used as one).  */
-
-#define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(CORE_ADDR *)(REGBUF))
-\f
-/* Describe the pointer in each stack frame to the previous stack frame
-   (its caller).  */
-
-/* FRAME_CHAIN takes a frame's nominal address and produces the frame's
-   chain-pointer.
-   In the case of the Z8000, the frame's nominal address
-   is the address of a ptr sized byte word containing the calling
-   frame's address.  */
-
-extern CORE_ADDR z8k_frame_chain (struct frame_info *thisframe);
-#define FRAME_CHAIN(thisframe) z8k_frame_chain(thisframe);
-
-
-
-/* Define other aspects of the stack frame.  */
-
-/* A macro that tells us whether the function invocation represented
-   by FI does not have a frame on the stack associated with it.  If it
-   does not, FRAMELESS is set to 1, else 0.  */
-#define FRAMELESS_FUNCTION_INVOCATION(FI) \
-  (frameless_look_for_prologue (FI))
-
-extern CORE_ADDR z8k_frame_saved_pc (struct frame_info *frame);
-#define FRAME_SAVED_PC(FRAME) z8k_frame_saved_pc(FRAME)
-
-#define FRAME_ARGS_ADDRESS(fi) ((fi)->frame)
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-
-/* Set VAL to the number of args passed to frame described by FI.
-   Can set VAL to -1, meaning no way to tell.  */
-
-/* We can't tell how many args there are
-   now that the C compiler delays popping them.  */
-#if !defined (FRAME_NUM_ARGS)
-#define FRAME_NUM_ARGS(fi) (-1)
-#endif
-
-/* Return number of bytes at start of arglist that are not really args.  */
-
-#define FRAME_ARGS_SKIP 8
-
-struct frame_info;
-extern void z8k_frame_init_saved_regs (struct frame_info *);
-#define FRAME_INIT_SAVED_REGS(fi) z8k_frame_init_saved_regs (fi)
-\f
-
-/* Things needed for making the inferior call functions.
-   It seems like every m68k based machine has almost identical definitions
-   in the individual machine's configuration files.  Most other cpu types
-   (mips, i386, etc) have routines in their *-tdep.c files to handle this
-   for most configurations.  The m68k family should be able to do this as
-   well.  These macros can still be overridden when necessary.  */
-
-/* The CALL_DUMMY macro is the sequence of instructions, as disassembled
-   by gdb itself:
-
-   fmovemx fp0-fp7,sp@-                 0xf227 0xe0ff
-   moveml d0-a5,sp@-                    0x48e7 0xfffc
-   clrw sp@-                            0x4267
-   movew ccr,sp@-                               0x42e7
-
-   /..* The arguments are pushed at this point by GDB;
-   no code is needed in the dummy for this.
-   The CALL_DUMMY_START_OFFSET gives the position of 
-   the following jsr instruction.  *../
-
-   jsr @#0x32323232                     0x4eb9 0x3232 0x3232
-   addal #0x69696969,sp                 0xdffc 0x6969 0x6969
-   trap #<your BPT_VECTOR number here>  0x4e4?
-   nop                                  0x4e71
-
-   Note this is CALL_DUMMY_LENGTH bytes (28 for the above example).
-   We actually start executing at the jsr, since the pushing of the
-   registers is done by PUSH_DUMMY_FRAME.  If this were real code,
-   the arguments for the function called by the jsr would be pushed
-   between the moveml and the jsr, and we could allow it to execute through.
-   But the arguments have to be pushed by GDB after the PUSH_DUMMY_FRAME is
-   done, and we cannot allow the moveml to push the registers again lest
-   they be taken for the arguments.  */
-
-
-#define CALL_DUMMY { 0 }
-#define CALL_DUMMY_LENGTH 24   /* Size of CALL_DUMMY */
-#define CALL_DUMMY_START_OFFSET 8      /* Offset to jsr instruction */
-
-
-/* Insert the specified number of args and function address
-   into a call sequence of the above form stored at DUMMYNAME.
-   We use the BFD routines to store a big-endian value of known size.  */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p)     \
-{ bfd_putb32 (fun,     (char *) dummyname + CALL_DUMMY_START_OFFSET + 2);  \
-  bfd_putb32 (nargs*4, (char *) dummyname + CALL_DUMMY_START_OFFSET + 8); }
-
-/* Push an empty stack frame, to record the current PC, etc.  */
-
-#define PUSH_DUMMY_FRAME       { z8k_push_dummy_frame (); }
-
-extern void z8k_push_dummy_frame (void);
-
-extern void z8k_pop_frame (void);
-
-/* Discard from the stack the innermost frame, restoring all registers.  */
-
-#define POP_FRAME              { z8k_pop_frame (); }
-
-/* Offset from SP to first arg on stack at first instruction of a function */
-
-#define SP_ARG0 (1 * 4)
-
-extern CORE_ADDR z8k_addr_bits_remove (CORE_ADDR);
-#define ADDR_BITS_REMOVE(addr) z8k_addr_bits_remove (addr)
-int sim_z8001_mode;
-#define BIG (sim_z8001_mode)
-
-#define read_memory_short(x)  (read_memory_integer(x,2) & 0xffff)
-
-#define NO_STD_REGS
-
-extern void z8k_do_registers_info (int regnum, int all);
-#define DEPRECATED_DO_REGISTERS_INFO(REGNUM,ALL) \
-       z8k_do_registers_info (REGNUM, ALL)
-
-extern void z8k_set_pointer_size (int newsize);
-#define INIT_EXTRA_SYMTAB_INFO \
-  z8k_set_pointer_size(objfile->obfd->arch_info->bits_per_address);
-
-#define REGISTER_SIZE 4
+// OBSOLETE /* Parameters for execution on a z8000 series machine.
+// OBSOLETE 
+// OBSOLETE    Copyright 1992, 1993, 1994, 1998, 1999, 2000, 2001, 2002 Free
+// OBSOLETE    Software Foundation, Inc.
+// OBSOLETE 
+// OBSOLETE    This file is part of GDB.
+// OBSOLETE 
+// OBSOLETE    This program is free software; you can redistribute it and/or modify
+// OBSOLETE    it under the terms of the GNU General Public License as published by
+// OBSOLETE    the Free Software Foundation; either version 2 of the License, or
+// OBSOLETE    (at your option) any later version.
+// OBSOLETE 
+// OBSOLETE    This program is distributed in the hope that it will be useful,
+// OBSOLETE    but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE    GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE    You should have received a copy of the GNU General Public License
+// OBSOLETE    along with this program; if not, write to the Free Software
+// OBSOLETE    Foundation, Inc., 59 Temple Place - Suite 330,
+// OBSOLETE    Boston, MA 02111-1307, USA.  */
+// OBSOLETE 
+// OBSOLETE /* NOTE: cagney/2002-11-24: This is a guess.  */
+// OBSOLETE #define DEPRECATED_USE_GENERIC_DUMMY_FRAMES 0
+// OBSOLETE #define CALL_DUMMY_LOCATION ON_STACK
+// OBSOLETE #define DEPRECATED_PC_IN_CALL_DUMMY(pc, sp, frame_address) deprecated_pc_in_call_dummy_on_stack (pc, sp, frame_address)
+// OBSOLETE 
+// OBSOLETE #undef TARGET_INT_BIT
+// OBSOLETE #undef TARGET_LONG_BIT
+// OBSOLETE #undef TARGET_SHORT_BIT
+// OBSOLETE #undef TARGET_PTR_BIT
+// OBSOLETE 
+// OBSOLETE #define TARGET_SHORT_BIT 16
+// OBSOLETE #define TARGET_INT_BIT 16
+// OBSOLETE #define TARGET_LONG_BIT 32
+// OBSOLETE #define TARGET_PTR_BIT (BIG ? 32: 16)
+// OBSOLETE 
+// OBSOLETE /* Offset from address of function to start of its code.
+// OBSOLETE    Zero on most machines.  */
+// OBSOLETE 
+// OBSOLETE #define FUNCTION_START_OFFSET 0
+// OBSOLETE 
+// OBSOLETE /* Advance PC across any function entry prologue instructions
+// OBSOLETE    to reach some "real" code.  */
+// OBSOLETE 
+// OBSOLETE #define SKIP_PROLOGUE(ip)   (z8k_skip_prologue (ip))
+// OBSOLETE extern CORE_ADDR z8k_skip_prologue (CORE_ADDR ip);
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE /* Immediately after a function call, return the saved pc.
+// OBSOLETE    Can't always go through the frames for this because on some machines
+// OBSOLETE    the new frame is not set up until the new function executes
+// OBSOLETE    some instructions.  */
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE extern int z8k_saved_pc_after_call (struct frame_info *frame);
+// OBSOLETE #define SAVED_PC_AFTER_CALL(frame) z8k_saved_pc_after_call(frame)
+// OBSOLETE 
+// OBSOLETE /* Stack grows downward.  */
+// OBSOLETE 
+// OBSOLETE #define INNER_THAN(lhs,rhs) ((lhs) < (rhs))
+// OBSOLETE 
+// OBSOLETE /* Sequence of bytes for breakpoint instruction. */
+// OBSOLETE 
+// OBSOLETE #define BREAKPOINT {0x36,0x00}
+// OBSOLETE 
+// OBSOLETE /* If your kernel resets the pc after the trap happens you may need to
+// OBSOLETE    define this before including this file.  */
+// OBSOLETE 
+// OBSOLETE #define DECR_PC_AFTER_BREAK 0
+// OBSOLETE 
+// OBSOLETE /* Say how long registers are.  */
+// OBSOLETE 
+// OBSOLETE #define REGISTER_TYPE unsigned int
+// OBSOLETE 
+// OBSOLETE #define NUM_REGS   23      /* 16 registers + 1 ccr + 1 pc + 3 debug
+// OBSOLETE                               regs + fake fp + fake sp */
+// OBSOLETE #define REGISTER_BYTES  (NUM_REGS *4)
+// OBSOLETE 
+// OBSOLETE /* Index within `registers' of the first byte of the space for
+// OBSOLETE    register N.  */
+// OBSOLETE 
+// OBSOLETE #define REGISTER_BYTE(N)  ((N)*4)
+// OBSOLETE 
+// OBSOLETE /* Number of bytes of storage in the actual machine representation
+// OBSOLETE    for register N.  On the z8k, all but the pc are 2 bytes, but we
+// OBSOLETE    keep them all as 4 bytes and trim them on I/O */
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE #define REGISTER_RAW_SIZE(N) (((N) < 16)? 2:4)
+// OBSOLETE 
+// OBSOLETE /* Number of bytes of storage in the program's representation
+// OBSOLETE    for register N.  */
+// OBSOLETE 
+// OBSOLETE #define REGISTER_VIRTUAL_SIZE(N) REGISTER_RAW_SIZE(N)
+// OBSOLETE 
+// OBSOLETE /* Largest value REGISTER_RAW_SIZE can have.  */
+// OBSOLETE 
+// OBSOLETE #define MAX_REGISTER_RAW_SIZE 4
+// OBSOLETE 
+// OBSOLETE /* Largest value REGISTER_VIRTUAL_SIZE can have.  */
+// OBSOLETE 
+// OBSOLETE #define MAX_REGISTER_VIRTUAL_SIZE 4
+// OBSOLETE 
+// OBSOLETE /* Return the GDB type object for the "standard" data type
+// OBSOLETE    of data in register N.  */
+// OBSOLETE 
+// OBSOLETE #define REGISTER_VIRTUAL_TYPE(N) \
+// OBSOLETE  (REGISTER_VIRTUAL_SIZE(N) == 2? builtin_type_unsigned_int : builtin_type_long)
+// OBSOLETE 
+// OBSOLETE #define DEPRECATED_INIT_FRAME_PC(x,y) (init_frame_pc_noop (x, y))
+// OBSOLETE #define INIT_FRAME_PC_FIRST(x,y) (init_frame_pc_noop (x, y))
+// OBSOLETE 
+// OBSOLETE #define REGISTER_NAMES  \
+// OBSOLETE  {"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \
+// OBSOLETE   "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", \
+// OBSOLETE   "ccr", "pc", "cycles","insts","time","fp","sp"}
+// OBSOLETE 
+// OBSOLETE /* Register numbers of various important registers.
+// OBSOLETE    Note that some of these values are "real" register numbers,
+// OBSOLETE    and correspond to the general registers of the machine,
+// OBSOLETE    and some are "phony" register numbers which are too large
+// OBSOLETE    to be actual register numbers as far as the user is concerned
+// OBSOLETE    but do serve to get the desired values when passed to read_register.  */
+// OBSOLETE 
+// OBSOLETE #define CCR_REGNUM         16      /* Contains processor status */
+// OBSOLETE #define PC_REGNUM  17      /* Contains program counter */
+// OBSOLETE #define CYCLES_REGNUM      18
+// OBSOLETE #define INSTS_REGNUM       19
+// OBSOLETE #define TIME_REGNUM        20
+// OBSOLETE #define FP_REGNUM  21      /* Contains fp, whatever memory model */
+// OBSOLETE #define SP_REGNUM  22      /* Conatins sp, whatever memory model */
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE #define PTR_SIZE (BIG ? 4: 2)
+// OBSOLETE #define PTR_MASK (BIG ? 0xff00ffff : 0x0000ffff)
+// OBSOLETE 
+// OBSOLETE /* Store the address of the place in which to copy the structure the
+// OBSOLETE    subroutine will return.  This is called from call_function. */
+// OBSOLETE 
+// OBSOLETE #define STORE_STRUCT_RETURN(ADDR, SP) internal_error (__FILE__, __LINE__, "failed internal consistency check");
+// OBSOLETE 
+// OBSOLETE /* Extract from an array REGBUF containing the (raw) register state
+// OBSOLETE    a function return value of type TYPE, and copy that, in virtual format,
+// OBSOLETE    into VALBUF.  This is assuming that floating point values are returned
+// OBSOLETE    as doubles in d0/d1.  */
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE #define DEPRECATED_EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
+// OBSOLETE   memcpy(VALBUF, REGBUF + REGISTER_BYTE(2), TYPE_LENGTH(TYPE));
+// OBSOLETE 
+// OBSOLETE /* Write into appropriate registers a function return value
+// OBSOLETE    of type TYPE, given in virtual format. */
+// OBSOLETE 
+// OBSOLETE #define DEPRECATED_STORE_RETURN_VALUE(TYPE,VALBUF) internal_error (__FILE__, __LINE__, "failed internal consistency check");
+// OBSOLETE 
+// OBSOLETE /* Extract from an array REGBUF containing the (raw) register state
+// OBSOLETE    the address in which a function should return its structure value,
+// OBSOLETE    as a CORE_ADDR (or an expression that can be used as one).  */
+// OBSOLETE 
+// OBSOLETE #define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(CORE_ADDR *)(REGBUF))
+// OBSOLETE \f
+// OBSOLETE /* Describe the pointer in each stack frame to the previous stack frame
+// OBSOLETE    (its caller).  */
+// OBSOLETE 
+// OBSOLETE /* FRAME_CHAIN takes a frame's nominal address and produces the frame's
+// OBSOLETE    chain-pointer.
+// OBSOLETE    In the case of the Z8000, the frame's nominal address
+// OBSOLETE    is the address of a ptr sized byte word containing the calling
+// OBSOLETE    frame's address.  */
+// OBSOLETE 
+// OBSOLETE extern CORE_ADDR z8k_frame_chain (struct frame_info *thisframe);
+// OBSOLETE #define FRAME_CHAIN(thisframe) z8k_frame_chain(thisframe);
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE /* Define other aspects of the stack frame.  */
+// OBSOLETE 
+// OBSOLETE /* A macro that tells us whether the function invocation represented
+// OBSOLETE    by FI does not have a frame on the stack associated with it.  If it
+// OBSOLETE    does not, FRAMELESS is set to 1, else 0.  */
+// OBSOLETE #define FRAMELESS_FUNCTION_INVOCATION(FI) \
+// OBSOLETE   (frameless_look_for_prologue (FI))
+// OBSOLETE 
+// OBSOLETE extern CORE_ADDR z8k_frame_saved_pc (struct frame_info *frame);
+// OBSOLETE #define FRAME_SAVED_PC(FRAME) z8k_frame_saved_pc(FRAME)
+// OBSOLETE 
+// OBSOLETE #define FRAME_ARGS_ADDRESS(fi) ((fi)->frame)
+// OBSOLETE 
+// OBSOLETE #define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
+// OBSOLETE 
+// OBSOLETE /* Set VAL to the number of args passed to frame described by FI.
+// OBSOLETE    Can set VAL to -1, meaning no way to tell.  */
+// OBSOLETE 
+// OBSOLETE /* We can't tell how many args there are
+// OBSOLETE    now that the C compiler delays popping them.  */
+// OBSOLETE #if !defined (FRAME_NUM_ARGS)
+// OBSOLETE #define FRAME_NUM_ARGS(fi) (-1)
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE /* Return number of bytes at start of arglist that are not really args.  */
+// OBSOLETE 
+// OBSOLETE #define FRAME_ARGS_SKIP 8
+// OBSOLETE 
+// OBSOLETE struct frame_info;
+// OBSOLETE extern void z8k_frame_init_saved_regs (struct frame_info *);
+// OBSOLETE #define FRAME_INIT_SAVED_REGS(fi) z8k_frame_init_saved_regs (fi)
+// OBSOLETE \f
+// OBSOLETE 
+// OBSOLETE /* Things needed for making the inferior call functions.
+// OBSOLETE    It seems like every m68k based machine has almost identical definitions
+// OBSOLETE    in the individual machine's configuration files.  Most other cpu types
+// OBSOLETE    (mips, i386, etc) have routines in their *-tdep.c files to handle this
+// OBSOLETE    for most configurations.  The m68k family should be able to do this as
+// OBSOLETE    well.  These macros can still be overridden when necessary.  */
+// OBSOLETE 
+// OBSOLETE /* The CALL_DUMMY macro is the sequence of instructions, as disassembled
+// OBSOLETE    by gdb itself:
+// OBSOLETE 
+// OBSOLETE    fmovemx fp0-fp7,sp@-                 0xf227 0xe0ff
+// OBSOLETE    moveml d0-a5,sp@-                    0x48e7 0xfffc
+// OBSOLETE    clrw sp@-                            0x4267
+// OBSOLETE    movew ccr,sp@-                               0x42e7
+// OBSOLETE 
+// OBSOLETE    /..* The arguments are pushed at this point by GDB;
+// OBSOLETE    no code is needed in the dummy for this.
+// OBSOLETE    The CALL_DUMMY_START_OFFSET gives the position of 
+// OBSOLETE    the following jsr instruction.  *../
+// OBSOLETE 
+// OBSOLETE    jsr @#0x32323232                     0x4eb9 0x3232 0x3232
+// OBSOLETE    addal #0x69696969,sp                 0xdffc 0x6969 0x6969
+// OBSOLETE    trap #<your BPT_VECTOR number here>  0x4e4?
+// OBSOLETE    nop                                  0x4e71
+// OBSOLETE 
+// OBSOLETE    Note this is CALL_DUMMY_LENGTH bytes (28 for the above example).
+// OBSOLETE    We actually start executing at the jsr, since the pushing of the
+// OBSOLETE    registers is done by PUSH_DUMMY_FRAME.  If this were real code,
+// OBSOLETE    the arguments for the function called by the jsr would be pushed
+// OBSOLETE    between the moveml and the jsr, and we could allow it to execute through.
+// OBSOLETE    But the arguments have to be pushed by GDB after the PUSH_DUMMY_FRAME is
+// OBSOLETE    done, and we cannot allow the moveml to push the registers again lest
+// OBSOLETE    they be taken for the arguments.  */
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE #define CALL_DUMMY { 0 }
+// OBSOLETE #define CALL_DUMMY_LENGTH 24       /* Size of CALL_DUMMY */
+// OBSOLETE #define CALL_DUMMY_START_OFFSET 8  /* Offset to jsr instruction */
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE /* Insert the specified number of args and function address
+// OBSOLETE    into a call sequence of the above form stored at DUMMYNAME.
+// OBSOLETE    We use the BFD routines to store a big-endian value of known size.  */
+// OBSOLETE 
+// OBSOLETE #define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p)     \
+// OBSOLETE { bfd_putb32 (fun,     (char *) dummyname + CALL_DUMMY_START_OFFSET + 2);  \
+// OBSOLETE   bfd_putb32 (nargs*4, (char *) dummyname + CALL_DUMMY_START_OFFSET + 8); }
+// OBSOLETE 
+// OBSOLETE /* Push an empty stack frame, to record the current PC, etc.  */
+// OBSOLETE 
+// OBSOLETE #define PUSH_DUMMY_FRAME   { z8k_push_dummy_frame (); }
+// OBSOLETE 
+// OBSOLETE extern void z8k_push_dummy_frame (void);
+// OBSOLETE 
+// OBSOLETE extern void z8k_pop_frame (void);
+// OBSOLETE 
+// OBSOLETE /* Discard from the stack the innermost frame, restoring all registers.  */
+// OBSOLETE 
+// OBSOLETE #define POP_FRAME          { z8k_pop_frame (); }
+// OBSOLETE 
+// OBSOLETE /* Offset from SP to first arg on stack at first instruction of a function */
+// OBSOLETE 
+// OBSOLETE #define SP_ARG0 (1 * 4)
+// OBSOLETE 
+// OBSOLETE extern CORE_ADDR z8k_addr_bits_remove (CORE_ADDR);
+// OBSOLETE #define ADDR_BITS_REMOVE(addr) z8k_addr_bits_remove (addr)
+// OBSOLETE int sim_z8001_mode;
+// OBSOLETE #define BIG (sim_z8001_mode)
+// OBSOLETE 
+// OBSOLETE #define read_memory_short(x)  (read_memory_integer(x,2) & 0xffff)
+// OBSOLETE 
+// OBSOLETE #define NO_STD_REGS
+// OBSOLETE 
+// OBSOLETE extern void z8k_do_registers_info (int regnum, int all);
+// OBSOLETE #define DEPRECATED_DO_REGISTERS_INFO(REGNUM,ALL) \
+// OBSOLETE    z8k_do_registers_info (REGNUM, ALL)
+// OBSOLETE 
+// OBSOLETE extern void z8k_set_pointer_size (int newsize);
+// OBSOLETE #define INIT_EXTRA_SYMTAB_INFO \
+// OBSOLETE   z8k_set_pointer_size(objfile->obfd->arch_info->bits_per_address);
+// OBSOLETE 
+// OBSOLETE #define REGISTER_SIZE 4
index cb8d04376e777ce5a74f000181f93aefc18235bd..3eb6c7bf4ca4d9a36861bde5e1a7ca6c0c31a93d 100644 (file)
@@ -1,7 +1,6 @@
-# Target: Z8000 with simulator
-TDEPFILES= z8k-tdep.o
-TM_FILE= tm-z8k.h
-
-SIM_OBS = remote-sim.o
-SIM = ../sim/z8k/libsim.a
-
+# OBSOLETE # Target: Z8000 with simulator
+# OBSOLETE TDEPFILES= z8k-tdep.o
+# OBSOLETE TM_FILE= tm-z8k.h
+# OBSOLETE 
+# OBSOLETE SIM_OBS = remote-sim.o
+# OBSOLETE SIM = ../sim/z8k/libsim.a
index 48b05adf98f18508254c5c48c1fbeb242ddf6045..68ab81359e2caa0cdaf22afc3b379abfbb3223fb 100644 (file)
@@ -264,7 +264,7 @@ x86_64-*-linux*)    gdb_target=x86-64linux
                        build_gdbserver=yes
                        ;;
 
                        build_gdbserver=yes
                        ;;
 
-z8k-*-coff*)           gdb_target=z8k ;;
+# OBSOLETE z8k-*-coff*)                gdb_target=z8k ;;
 
 esac
 
 
 esac
 
index 5b309402d166653da1183efbb2ce7fbb08571ce4..d6d42e3f9ca5689f09aa1751c65b66d05ccc09f7 100644 (file)
-/* Target-machine dependent code for Zilog Z8000, for GDB.
-
-   Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-   2002, 2003 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/*
-   Contributed by Steve Chamberlain
-   sac@cygnus.com
- */
-
-#include "defs.h"
-#include "frame.h"
-#include "symtab.h"
-#include "gdbcmd.h"
-#include "gdbtypes.h"
-#include "dis-asm.h"
-#include "gdbcore.h"
-#include "regcache.h"
-
-#include "value.h" /* For read_register() */
-
-
-static int read_memory_pointer (CORE_ADDR x);
-
-/* Return the saved PC from this frame.
-
-   If the frame has a memory copy of SRP_REGNUM, use that.  If not,
-   just use the register SRP_REGNUM itself.  */
-
-CORE_ADDR
-z8k_frame_saved_pc (struct frame_info *frame)
-{
-  return read_memory_pointer (frame->frame + (BIG ? 4 : 2));
-}
-
-#define IS_PUSHL(x) (BIG ? ((x & 0xfff0) == 0x91e0):((x & 0xfff0) == 0x91F0))
-#define IS_PUSHW(x) (BIG ? ((x & 0xfff0) == 0x93e0):((x & 0xfff0)==0x93f0))
-#define IS_MOVE_FP(x) (BIG ? x == 0xa1ea : x == 0xa1fa)
-#define IS_MOV_SP_FP(x) (BIG ? x == 0x94ea : x == 0x0d76)
-#define IS_SUB2_SP(x) (x==0x1b87)
-#define IS_MOVK_R5(x) (x==0x7905)
-#define IS_SUB_SP(x) ((x & 0xffff) == 0x020f)
-#define IS_PUSH_FP(x) (BIG ? (x == 0x93ea) : (x == 0x93fa))
-
-/* work out how much local space is on the stack and
-   return the pc pointing to the first push */
-
-static CORE_ADDR
-skip_adjust (CORE_ADDR pc, int *size)
-{
-  *size = 0;
-
-  if (IS_PUSH_FP (read_memory_short (pc))
-      && IS_MOV_SP_FP (read_memory_short (pc + 2)))
-    {
-      /* This is a function with an explict frame pointer */
-      pc += 4;
-      *size += 2;              /* remember the frame pointer */
-    }
-
-  /* remember any stack adjustment */
-  if (IS_SUB_SP (read_memory_short (pc)))
-    {
-      *size += read_memory_short (pc + 2);
-      pc += 4;
-    }
-  return pc;
-}
-
-static CORE_ADDR examine_frame (CORE_ADDR, CORE_ADDR * regs, CORE_ADDR);
-static CORE_ADDR
-examine_frame (CORE_ADDR pc, CORE_ADDR *regs, CORE_ADDR sp)
-{
-  int w = read_memory_short (pc);
-  int offset = 0;
-  int regno;
-
-  for (regno = 0; regno < NUM_REGS; regno++)
-    regs[regno] = 0;
-
-  while (IS_PUSHW (w) || IS_PUSHL (w))
-    {
-      /* work out which register is being pushed to where */
-      if (IS_PUSHL (w))
-       {
-         regs[w & 0xf] = offset;
-         regs[(w & 0xf) + 1] = offset + 2;
-         offset += 4;
-       }
-      else
-       {
-         regs[w & 0xf] = offset;
-         offset += 2;
-       }
-      pc += 2;
-      w = read_memory_short (pc);
-    }
-
-  if (IS_MOVE_FP (w))
-    {
-      /* We know the fp */
-
-    }
-  else if (IS_SUB_SP (w))
-    {
-      /* Subtracting a value from the sp, so were in a function
-         which needs stack space for locals, but has no fp.  We fake up
-         the values as if we had an fp */
-      regs[FP_REGNUM] = sp;
-    }
-  else
-    {
-      /* This one didn't have an fp, we'll fake it up */
-      regs[SP_REGNUM] = sp;
-    }
-  /* stack pointer contains address of next frame */
-  /*  regs[fp_regnum()] = fp; */
-  regs[SP_REGNUM] = sp;
-  return pc;
-}
-
-CORE_ADDR
-z8k_skip_prologue (CORE_ADDR start_pc)
-{
-  CORE_ADDR dummy[NUM_REGS];
-
-  return examine_frame (start_pc, dummy, 0);
-}
-
-CORE_ADDR
-z8k_addr_bits_remove (CORE_ADDR addr)
-{
-  return (addr & PTR_MASK);
-}
-
-static int
-read_memory_pointer (CORE_ADDR x)
-{
-  return read_memory_integer (ADDR_BITS_REMOVE (x), BIG ? 4 : 2);
-}
-
-CORE_ADDR
-z8k_frame_chain (struct frame_info *thisframe)
-{
-  if (!inside_entry_file (get_frame_pc (thisframe)))
-    {
-      return read_memory_pointer (thisframe->frame);
-    }
-  return 0;
-}
-
-/* Put here the code to store, into a struct frame_saved_regs,
-   the addresses of the saved registers of frame described by FRAME_INFO.
-   This includes special registers such as pc and fp saved in special
-   ways in the stack frame.  sp is even more special:
-   the address we return for it IS the sp for the next frame.  */
-
-void
-z8k_frame_init_saved_regs (struct frame_info *frame_info)
-{
-  CORE_ADDR pc;
-  int w;
-
-  frame_saved_regs_zalloc (frame_info);
-  pc = get_pc_function_start (get_frame_pc (frame_info));
-
-  /* wander down the instruction stream */
-  examine_frame (pc, frame_info->saved_regs, frame_info->frame);
-
-}
-
-void
-z8k_push_dummy_frame (void)
-{
-  internal_error (__FILE__, __LINE__, "failed internal consistency check");
-}
-
-int
-gdb_print_insn_z8k (bfd_vma memaddr, disassemble_info *info)
-{
-  if (BIG)
-    return print_insn_z8001 (memaddr, info);
-  else
-    return print_insn_z8002 (memaddr, info);
-}
-
-/* Fetch the instruction at ADDR, returning 0 if ADDR is beyond LIM or
-   is not the address of a valid instruction, the address of the next
-   instruction beyond ADDR otherwise.  *PWORD1 receives the first word
-   of the instruction. */
-
-CORE_ADDR
-NEXT_PROLOGUE_INSN (CORE_ADDR addr, CORE_ADDR lim, short *pword1)
-{
-  char buf[2];
-  if (addr < lim + 8)
-    {
-      read_memory (addr, buf, 2);
-      *pword1 = extract_signed_integer (buf, 2);
-
-      return addr + 2;
-    }
-  return 0;
-}
-
-#if 0
-/* Put here the code to store, into a struct frame_saved_regs,
-   the addresses of the saved registers of frame described by FRAME_INFO.
-   This includes special registers such as pc and fp saved in special
-   ways in the stack frame.  sp is even more special:
-   the address we return for it IS the sp for the next frame.
-
-   We cache the result of doing this in the frame_cache_obstack, since
-   it is fairly expensive.  */
-
-void
-frame_find_saved_regs (struct frame_info *fip, struct frame_saved_regs *fsrp)
-{
-  int locals;
-  CORE_ADDR pc;
-  CORE_ADDR adr;
-  int i;
-
-  memset (fsrp, 0, sizeof *fsrp);
-
-  pc = skip_adjust (get_pc_function_start (get_frame_pc (fip)), &locals);
-
-  {
-    adr = get_frame_base (fip) - locals;
-    for (i = 0; i < 8; i++)
-      {
-       int word = read_memory_short (pc);
-
-       pc += 2;
-       if (IS_PUSHL (word))
-         {
-           fsrp->regs[word & 0xf] = adr;
-           fsrp->regs[(word & 0xf) + 1] = adr - 2;
-           adr -= 4;
-         }
-       else if (IS_PUSHW (word))
-         {
-           fsrp->regs[word & 0xf] = adr;
-           adr -= 2;
-         }
-       else
-         break;
-      }
-
-  }
-
-  fsrp->regs[PC_REGNUM] = fip->frame + 4;
-  fsrp->regs[FP_REGNUM] = fip->frame;
-
-}
-#endif
-
-int
-z8k_saved_pc_after_call (struct frame_info *frame)
-{
-  return ADDR_BITS_REMOVE
-    (read_memory_integer (read_register (SP_REGNUM), PTR_SIZE));
-}
-
-
-void
-extract_return_value (struct type *type, char *regbuf, char *valbuf)
-{
-  int b;
-  int len = TYPE_LENGTH (type);
-
-  for (b = 0; b < len; b += 2)
-    {
-      int todo = len - b;
-
-      if (todo > 2)
-       todo = 2;
-      memcpy (valbuf + b, regbuf + b, todo);
-    }
-}
-
-void
-write_return_value (struct type *type, char *valbuf)
-{
-  int reg;
-  int len;
-
-  for (len = 0; len < TYPE_LENGTH (type); len += 2)
-    deprecated_write_register_bytes (REGISTER_BYTE (len / 2 + 2),
-                                    valbuf + len, 2);
-}
-
-void
-store_struct_return (CORE_ADDR addr, CORE_ADDR sp)
-{
-  write_register (2, addr);
-}
-
-
-static void
-z8k_print_register_hook (int regno)
-{
-  if ((regno & 1) == 0 && regno < 16)
-    {
-      unsigned char l[4];
-
-      frame_register_read (deprecated_selected_frame, regno, l + 0);
-      frame_register_read (deprecated_selected_frame, regno + 1, l + 2);
-      printf_unfiltered ("\t");
-      printf_unfiltered ("0x%02x%02x%02x%02x", l[0], l[1], l[2], l[3]);
-    }
-
-  if ((regno & 3) == 0 && regno < 16)
-    {
-      unsigned char l[8];
-
-      frame_register_read (deprecated_selected_frame, regno, l + 0);
-      frame_register_read (deprecated_selected_frame, regno + 1, l + 2);
-      frame_register_read (deprecated_selected_frame, regno + 2, l + 4);
-      frame_register_read (deprecated_selected_frame, regno + 3, l + 6);
-
-      printf_unfiltered ("\t");
-      printf_unfiltered ("0x%02x%02x%02x%02x%02x%02x%02x%02x",
-                         l[0], l[1], l[2], l[3], l[4], l[5], l[6], l[7]);
-    }
-  if (regno == 15)
-    {
-      unsigned short rval;
-      int i;
-
-      frame_register_read (deprecated_selected_frame, regno, (char *) (&rval));
-
-      printf_unfiltered ("\n");
-      for (i = 0; i < 10; i += 2)
-       {
-         printf_unfiltered ("(sp+%d=%04x)", i,
-                            (unsigned int)read_memory_short (rval + i));
-       }
-    }
-}
-
-static void
-z8k_print_registers_info (struct gdbarch *gdbarch,
-                         struct ui_file *file,
-                         struct frame_info *frame,
-                         int regnum, int print_all)
-{
-  int i;
-  const int numregs = NUM_REGS + NUM_PSEUDO_REGS;
-  char *raw_buffer = alloca (MAX_REGISTER_RAW_SIZE);
-  char *virtual_buffer = alloca (MAX_REGISTER_VIRTUAL_SIZE);
-
-  for (i = 0; i < numregs; i++)
-    {
-      /* Decide between printing all regs, non-float / vector regs, or
-         specific reg.  */
-      if (regnum == -1)
-       {
-         if (!print_all)
-           {
-             if (TYPE_CODE (REGISTER_VIRTUAL_TYPE (i)) == TYPE_CODE_FLT)
-               continue;
-             if (TYPE_VECTOR (REGISTER_VIRTUAL_TYPE (i)))
-               continue;
-           }
-       }
-      else
-       {
-         if (i != regnum)
-           continue;
-       }
-
-      /* If the register name is empty, it is undefined for this
-         processor, so don't display anything.  */
-      if (REGISTER_NAME (i) == NULL || *(REGISTER_NAME (i)) == '\0')
-       continue;
-
-      fputs_filtered (REGISTER_NAME (i), file);
-      print_spaces_filtered (15 - strlen (REGISTER_NAME (i)), file);
-
-      /* Get the data in raw format.  */
-      if (! frame_register_read (frame, i, raw_buffer))
-       {
-         fprintf_filtered (file, "*value not available*\n");
-         continue;
-       }
-
-      /* FIXME: cagney/2002-08-03: This code shouldn't be necessary.
-         The function frame_register_read() should have returned the
-         pre-cooked register so no conversion is necessary.  */
-      /* Convert raw data to virtual format if necessary.  */
-      if (REGISTER_CONVERTIBLE (i))
-       {
-         REGISTER_CONVERT_TO_VIRTUAL (i, REGISTER_VIRTUAL_TYPE (i),
-                                      raw_buffer, virtual_buffer);
-       }
-      else
-       {
-         memcpy (virtual_buffer, raw_buffer,
-                 REGISTER_VIRTUAL_SIZE (i));
-       }
-
-      /* If virtual format is floating, print it that way, and in raw
-         hex.  */
-      if (TYPE_CODE (REGISTER_VIRTUAL_TYPE (i)) == TYPE_CODE_FLT)
-       {
-         int j;
-
-         val_print (REGISTER_VIRTUAL_TYPE (i), virtual_buffer, 0, 0,
-                    file, 0, 1, 0, Val_pretty_default);
-
-         fprintf_filtered (file, "\t(raw 0x");
-         for (j = 0; j < REGISTER_RAW_SIZE (i); j++)
-           {
-             int idx;
-             if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
-               idx = j;
-             else
-               idx = REGISTER_RAW_SIZE (i) - 1 - j;
-             fprintf_filtered (file, "%02x", (unsigned char) raw_buffer[idx]);
-           }
-         fprintf_filtered (file, ")");
-       }
-      else
-       {
-         /* Print the register in hex.  */
-         val_print (REGISTER_VIRTUAL_TYPE (i), virtual_buffer, 0, 0,
-                    file, 'x', 1, 0, Val_pretty_default);
-          /* If not a vector register, print it also according to its
-             natural format.  */
-         if (TYPE_VECTOR (REGISTER_VIRTUAL_TYPE (i)) == 0)
-           {
-             fprintf_filtered (file, "\t");
-             val_print (REGISTER_VIRTUAL_TYPE (i), virtual_buffer, 0, 0,
-                        file, 0, 1, 0, Val_pretty_default);
-           }
-       }
-
-      /* Some z8k specific info.  */
-      z8k_print_register_hook (i);
-
-      fprintf_filtered (file, "\n");
-    }
-}
-
-void
-z8k_do_registers_info (int regnum, int all)
-{
-  z8k_print_registers_info (current_gdbarch, gdb_stdout,
-                           deprecated_selected_frame, regnum, all);
-}
-
-void
-z8k_pop_frame (void)
-{
-}
-
-struct cmd_list_element *setmemorylist;
-
-void
-z8k_set_pointer_size (int newsize)
-{
-  static int oldsize = 0;
-
-  if (oldsize != newsize)
-    {
-      printf_unfiltered ("pointer size set to %d bits\n", newsize);
-      oldsize = newsize;
-      if (newsize == 32)
-       {
-         BIG = 1;
-       }
-      else
-       {
-         BIG = 0;
-       }
-      /* FIXME: This code should be using the GDBARCH framework to
-         handle changed type sizes.  If this problem is ever fixed
-         (the direct reference to _initialize_gdbtypes() below
-         eliminated) then Makefile.in should be updated so that
-         z8k-tdep.c is again compiled with -Werror. */
-      _initialize_gdbtypes ();
-    }
-}
-
-static void
-segmented_command (char *args, int from_tty)
-{
-  z8k_set_pointer_size (32);
-}
-
-static void
-unsegmented_command (char *args, int from_tty)
-{
-  z8k_set_pointer_size (16);
-}
-
-static void
-set_memory (char *args, int from_tty)
-{
-  printf_unfiltered ("\"set memory\" must be followed by the name of a memory subcommand.\n");
-  help_list (setmemorylist, "set memory ", -1, gdb_stdout);
-}
-
-void
-_initialize_z8ktdep (void)
-{
-  tm_print_insn = gdb_print_insn_z8k;
-
-  add_prefix_cmd ("memory", no_class, set_memory,
-                 "set the memory model", &setmemorylist, "set memory ", 0,
-                 &setlist);
-  add_cmd ("segmented", class_support, segmented_command,
-          "Set segmented memory model.", &setmemorylist);
-  add_cmd ("unsegmented", class_support, unsegmented_command,
-          "Set unsegmented memory model.", &setmemorylist);
-
-}
+// OBSOLETE /* Target-machine dependent code for Zilog Z8000, for GDB.
+// OBSOLETE 
+// OBSOLETE    Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+// OBSOLETE    2002, 2003 Free Software Foundation, Inc.
+// OBSOLETE 
+// OBSOLETE    This file is part of GDB.
+// OBSOLETE 
+// OBSOLETE    This program is free software; you can redistribute it and/or modify
+// OBSOLETE    it under the terms of the GNU General Public License as published by
+// OBSOLETE    the Free Software Foundation; either version 2 of the License, or
+// OBSOLETE    (at your option) any later version.
+// OBSOLETE 
+// OBSOLETE    This program is distributed in the hope that it will be useful,
+// OBSOLETE    but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE    GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE    You should have received a copy of the GNU General Public License
+// OBSOLETE    along with this program; if not, write to the Free Software
+// OBSOLETE    Foundation, Inc., 59 Temple Place - Suite 330,
+// OBSOLETE    Boston, MA 02111-1307, USA.  */
+// OBSOLETE 
+// OBSOLETE /*
+// OBSOLETE    Contributed by Steve Chamberlain
+// OBSOLETE    sac@cygnus.com
+// OBSOLETE  */
+// OBSOLETE 
+// OBSOLETE #include "defs.h"
+// OBSOLETE #include "frame.h"
+// OBSOLETE #include "symtab.h"
+// OBSOLETE #include "gdbcmd.h"
+// OBSOLETE #include "gdbtypes.h"
+// OBSOLETE #include "dis-asm.h"
+// OBSOLETE #include "gdbcore.h"
+// OBSOLETE #include "regcache.h"
+// OBSOLETE 
+// OBSOLETE #include "value.h" /* For read_register() */
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE static int read_memory_pointer (CORE_ADDR x);
+// OBSOLETE 
+// OBSOLETE /* Return the saved PC from this frame.
+// OBSOLETE 
+// OBSOLETE    If the frame has a memory copy of SRP_REGNUM, use that.  If not,
+// OBSOLETE    just use the register SRP_REGNUM itself.  */
+// OBSOLETE 
+// OBSOLETE CORE_ADDR
+// OBSOLETE z8k_frame_saved_pc (struct frame_info *frame)
+// OBSOLETE {
+// OBSOLETE   return read_memory_pointer (frame->frame + (BIG ? 4 : 2));
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #define IS_PUSHL(x) (BIG ? ((x & 0xfff0) == 0x91e0):((x & 0xfff0) == 0x91F0))
+// OBSOLETE #define IS_PUSHW(x) (BIG ? ((x & 0xfff0) == 0x93e0):((x & 0xfff0)==0x93f0))
+// OBSOLETE #define IS_MOVE_FP(x) (BIG ? x == 0xa1ea : x == 0xa1fa)
+// OBSOLETE #define IS_MOV_SP_FP(x) (BIG ? x == 0x94ea : x == 0x0d76)
+// OBSOLETE #define IS_SUB2_SP(x) (x==0x1b87)
+// OBSOLETE #define IS_MOVK_R5(x) (x==0x7905)
+// OBSOLETE #define IS_SUB_SP(x) ((x & 0xffff) == 0x020f)
+// OBSOLETE #define IS_PUSH_FP(x) (BIG ? (x == 0x93ea) : (x == 0x93fa))
+// OBSOLETE 
+// OBSOLETE /* work out how much local space is on the stack and
+// OBSOLETE    return the pc pointing to the first push */
+// OBSOLETE 
+// OBSOLETE static CORE_ADDR
+// OBSOLETE skip_adjust (CORE_ADDR pc, int *size)
+// OBSOLETE {
+// OBSOLETE   *size = 0;
+// OBSOLETE 
+// OBSOLETE   if (IS_PUSH_FP (read_memory_short (pc))
+// OBSOLETE       && IS_MOV_SP_FP (read_memory_short (pc + 2)))
+// OBSOLETE     {
+// OBSOLETE       /* This is a function with an explict frame pointer */
+// OBSOLETE       pc += 4;
+// OBSOLETE       *size += 2;          /* remember the frame pointer */
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE   /* remember any stack adjustment */
+// OBSOLETE   if (IS_SUB_SP (read_memory_short (pc)))
+// OBSOLETE     {
+// OBSOLETE       *size += read_memory_short (pc + 2);
+// OBSOLETE       pc += 4;
+// OBSOLETE     }
+// OBSOLETE   return pc;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static CORE_ADDR examine_frame (CORE_ADDR, CORE_ADDR * regs, CORE_ADDR);
+// OBSOLETE static CORE_ADDR
+// OBSOLETE examine_frame (CORE_ADDR pc, CORE_ADDR *regs, CORE_ADDR sp)
+// OBSOLETE {
+// OBSOLETE   int w = read_memory_short (pc);
+// OBSOLETE   int offset = 0;
+// OBSOLETE   int regno;
+// OBSOLETE 
+// OBSOLETE   for (regno = 0; regno < NUM_REGS; regno++)
+// OBSOLETE     regs[regno] = 0;
+// OBSOLETE 
+// OBSOLETE   while (IS_PUSHW (w) || IS_PUSHL (w))
+// OBSOLETE     {
+// OBSOLETE       /* work out which register is being pushed to where */
+// OBSOLETE       if (IS_PUSHL (w))
+// OBSOLETE    {
+// OBSOLETE      regs[w & 0xf] = offset;
+// OBSOLETE      regs[(w & 0xf) + 1] = offset + 2;
+// OBSOLETE      offset += 4;
+// OBSOLETE    }
+// OBSOLETE       else
+// OBSOLETE    {
+// OBSOLETE      regs[w & 0xf] = offset;
+// OBSOLETE      offset += 2;
+// OBSOLETE    }
+// OBSOLETE       pc += 2;
+// OBSOLETE       w = read_memory_short (pc);
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE   if (IS_MOVE_FP (w))
+// OBSOLETE     {
+// OBSOLETE       /* We know the fp */
+// OBSOLETE 
+// OBSOLETE     }
+// OBSOLETE   else if (IS_SUB_SP (w))
+// OBSOLETE     {
+// OBSOLETE       /* Subtracting a value from the sp, so were in a function
+// OBSOLETE          which needs stack space for locals, but has no fp.  We fake up
+// OBSOLETE          the values as if we had an fp */
+// OBSOLETE       regs[FP_REGNUM] = sp;
+// OBSOLETE     }
+// OBSOLETE   else
+// OBSOLETE     {
+// OBSOLETE       /* This one didn't have an fp, we'll fake it up */
+// OBSOLETE       regs[SP_REGNUM] = sp;
+// OBSOLETE     }
+// OBSOLETE   /* stack pointer contains address of next frame */
+// OBSOLETE   /*  regs[fp_regnum()] = fp; */
+// OBSOLETE   regs[SP_REGNUM] = sp;
+// OBSOLETE   return pc;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE CORE_ADDR
+// OBSOLETE z8k_skip_prologue (CORE_ADDR start_pc)
+// OBSOLETE {
+// OBSOLETE   CORE_ADDR dummy[NUM_REGS];
+// OBSOLETE 
+// OBSOLETE   return examine_frame (start_pc, dummy, 0);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE CORE_ADDR
+// OBSOLETE z8k_addr_bits_remove (CORE_ADDR addr)
+// OBSOLETE {
+// OBSOLETE   return (addr & PTR_MASK);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE read_memory_pointer (CORE_ADDR x)
+// OBSOLETE {
+// OBSOLETE   return read_memory_integer (ADDR_BITS_REMOVE (x), BIG ? 4 : 2);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE CORE_ADDR
+// OBSOLETE z8k_frame_chain (struct frame_info *thisframe)
+// OBSOLETE {
+// OBSOLETE   if (!inside_entry_file (get_frame_pc (thisframe)))
+// OBSOLETE     {
+// OBSOLETE       return read_memory_pointer (thisframe->frame);
+// OBSOLETE     }
+// OBSOLETE   return 0;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Put here the code to store, into a struct frame_saved_regs,
+// OBSOLETE    the addresses of the saved registers of frame described by FRAME_INFO.
+// OBSOLETE    This includes special registers such as pc and fp saved in special
+// OBSOLETE    ways in the stack frame.  sp is even more special:
+// OBSOLETE    the address we return for it IS the sp for the next frame.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE z8k_frame_init_saved_regs (struct frame_info *frame_info)
+// OBSOLETE {
+// OBSOLETE   CORE_ADDR pc;
+// OBSOLETE   int w;
+// OBSOLETE 
+// OBSOLETE   frame_saved_regs_zalloc (frame_info);
+// OBSOLETE   pc = get_pc_function_start (get_frame_pc (frame_info));
+// OBSOLETE 
+// OBSOLETE   /* wander down the instruction stream */
+// OBSOLETE   examine_frame (pc, frame_info->saved_regs, frame_info->frame);
+// OBSOLETE 
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE z8k_push_dummy_frame (void)
+// OBSOLETE {
+// OBSOLETE   internal_error (__FILE__, __LINE__, "failed internal consistency check");
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE int
+// OBSOLETE gdb_print_insn_z8k (bfd_vma memaddr, disassemble_info *info)
+// OBSOLETE {
+// OBSOLETE   if (BIG)
+// OBSOLETE     return print_insn_z8001 (memaddr, info);
+// OBSOLETE   else
+// OBSOLETE     return print_insn_z8002 (memaddr, info);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Fetch the instruction at ADDR, returning 0 if ADDR is beyond LIM or
+// OBSOLETE    is not the address of a valid instruction, the address of the next
+// OBSOLETE    instruction beyond ADDR otherwise.  *PWORD1 receives the first word
+// OBSOLETE    of the instruction. */
+// OBSOLETE 
+// OBSOLETE CORE_ADDR
+// OBSOLETE NEXT_PROLOGUE_INSN (CORE_ADDR addr, CORE_ADDR lim, short *pword1)
+// OBSOLETE {
+// OBSOLETE   char buf[2];
+// OBSOLETE   if (addr < lim + 8)
+// OBSOLETE     {
+// OBSOLETE       read_memory (addr, buf, 2);
+// OBSOLETE       *pword1 = extract_signed_integer (buf, 2);
+// OBSOLETE 
+// OBSOLETE       return addr + 2;
+// OBSOLETE     }
+// OBSOLETE   return 0;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #if 0
+// OBSOLETE /* Put here the code to store, into a struct frame_saved_regs,
+// OBSOLETE    the addresses of the saved registers of frame described by FRAME_INFO.
+// OBSOLETE    This includes special registers such as pc and fp saved in special
+// OBSOLETE    ways in the stack frame.  sp is even more special:
+// OBSOLETE    the address we return for it IS the sp for the next frame.
+// OBSOLETE 
+// OBSOLETE    We cache the result of doing this in the frame_cache_obstack, since
+// OBSOLETE    it is fairly expensive.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE frame_find_saved_regs (struct frame_info *fip, struct frame_saved_regs *fsrp)
+// OBSOLETE {
+// OBSOLETE   int locals;
+// OBSOLETE   CORE_ADDR pc;
+// OBSOLETE   CORE_ADDR adr;
+// OBSOLETE   int i;
+// OBSOLETE 
+// OBSOLETE   memset (fsrp, 0, sizeof *fsrp);
+// OBSOLETE 
+// OBSOLETE   pc = skip_adjust (get_pc_function_start (get_frame_pc (fip)), &locals);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     adr = get_frame_base (fip) - locals;
+// OBSOLETE     for (i = 0; i < 8; i++)
+// OBSOLETE       {
+// OBSOLETE    int word = read_memory_short (pc);
+// OBSOLETE 
+// OBSOLETE    pc += 2;
+// OBSOLETE    if (IS_PUSHL (word))
+// OBSOLETE      {
+// OBSOLETE        fsrp->regs[word & 0xf] = adr;
+// OBSOLETE        fsrp->regs[(word & 0xf) + 1] = adr - 2;
+// OBSOLETE        adr -= 4;
+// OBSOLETE      }
+// OBSOLETE    else if (IS_PUSHW (word))
+// OBSOLETE      {
+// OBSOLETE        fsrp->regs[word & 0xf] = adr;
+// OBSOLETE        adr -= 2;
+// OBSOLETE      }
+// OBSOLETE    else
+// OBSOLETE      break;
+// OBSOLETE       }
+// OBSOLETE 
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   fsrp->regs[PC_REGNUM] = fip->frame + 4;
+// OBSOLETE   fsrp->regs[FP_REGNUM] = fip->frame;
+// OBSOLETE 
+// OBSOLETE }
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE int
+// OBSOLETE z8k_saved_pc_after_call (struct frame_info *frame)
+// OBSOLETE {
+// OBSOLETE   return ADDR_BITS_REMOVE
+// OBSOLETE     (read_memory_integer (read_register (SP_REGNUM), PTR_SIZE));
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE extract_return_value (struct type *type, char *regbuf, char *valbuf)
+// OBSOLETE {
+// OBSOLETE   int b;
+// OBSOLETE   int len = TYPE_LENGTH (type);
+// OBSOLETE 
+// OBSOLETE   for (b = 0; b < len; b += 2)
+// OBSOLETE     {
+// OBSOLETE       int todo = len - b;
+// OBSOLETE 
+// OBSOLETE       if (todo > 2)
+// OBSOLETE    todo = 2;
+// OBSOLETE       memcpy (valbuf + b, regbuf + b, todo);
+// OBSOLETE     }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE write_return_value (struct type *type, char *valbuf)
+// OBSOLETE {
+// OBSOLETE   int reg;
+// OBSOLETE   int len;
+// OBSOLETE 
+// OBSOLETE   for (len = 0; len < TYPE_LENGTH (type); len += 2)
+// OBSOLETE     deprecated_write_register_bytes (REGISTER_BYTE (len / 2 + 2),
+// OBSOLETE                                 valbuf + len, 2);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE store_struct_return (CORE_ADDR addr, CORE_ADDR sp)
+// OBSOLETE {
+// OBSOLETE   write_register (2, addr);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE static void
+// OBSOLETE z8k_print_register_hook (int regno)
+// OBSOLETE {
+// OBSOLETE   if ((regno & 1) == 0 && regno < 16)
+// OBSOLETE     {
+// OBSOLETE       unsigned char l[4];
+// OBSOLETE 
+// OBSOLETE       frame_register_read (deprecated_selected_frame, regno, l + 0);
+// OBSOLETE       frame_register_read (deprecated_selected_frame, regno + 1, l + 2);
+// OBSOLETE       printf_unfiltered ("\t");
+// OBSOLETE       printf_unfiltered ("0x%02x%02x%02x%02x", l[0], l[1], l[2], l[3]);
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE   if ((regno & 3) == 0 && regno < 16)
+// OBSOLETE     {
+// OBSOLETE       unsigned char l[8];
+// OBSOLETE 
+// OBSOLETE       frame_register_read (deprecated_selected_frame, regno, l + 0);
+// OBSOLETE       frame_register_read (deprecated_selected_frame, regno + 1, l + 2);
+// OBSOLETE       frame_register_read (deprecated_selected_frame, regno + 2, l + 4);
+// OBSOLETE       frame_register_read (deprecated_selected_frame, regno + 3, l + 6);
+// OBSOLETE 
+// OBSOLETE       printf_unfiltered ("\t");
+// OBSOLETE       printf_unfiltered ("0x%02x%02x%02x%02x%02x%02x%02x%02x",
+// OBSOLETE                          l[0], l[1], l[2], l[3], l[4], l[5], l[6], l[7]);
+// OBSOLETE     }
+// OBSOLETE   if (regno == 15)
+// OBSOLETE     {
+// OBSOLETE       unsigned short rval;
+// OBSOLETE       int i;
+// OBSOLETE 
+// OBSOLETE       frame_register_read (deprecated_selected_frame, regno, (char *) (&rval));
+// OBSOLETE 
+// OBSOLETE       printf_unfiltered ("\n");
+// OBSOLETE       for (i = 0; i < 10; i += 2)
+// OBSOLETE    {
+// OBSOLETE      printf_unfiltered ("(sp+%d=%04x)", i,
+// OBSOLETE                         (unsigned int)read_memory_short (rval + i));
+// OBSOLETE    }
+// OBSOLETE     }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static void
+// OBSOLETE z8k_print_registers_info (struct gdbarch *gdbarch,
+// OBSOLETE                      struct ui_file *file,
+// OBSOLETE                      struct frame_info *frame,
+// OBSOLETE                      int regnum, int print_all)
+// OBSOLETE {
+// OBSOLETE   int i;
+// OBSOLETE   const int numregs = NUM_REGS + NUM_PSEUDO_REGS;
+// OBSOLETE   char *raw_buffer = alloca (MAX_REGISTER_RAW_SIZE);
+// OBSOLETE   char *virtual_buffer = alloca (MAX_REGISTER_VIRTUAL_SIZE);
+// OBSOLETE 
+// OBSOLETE   for (i = 0; i < numregs; i++)
+// OBSOLETE     {
+// OBSOLETE       /* Decide between printing all regs, non-float / vector regs, or
+// OBSOLETE          specific reg.  */
+// OBSOLETE       if (regnum == -1)
+// OBSOLETE    {
+// OBSOLETE      if (!print_all)
+// OBSOLETE        {
+// OBSOLETE          if (TYPE_CODE (REGISTER_VIRTUAL_TYPE (i)) == TYPE_CODE_FLT)
+// OBSOLETE            continue;
+// OBSOLETE          if (TYPE_VECTOR (REGISTER_VIRTUAL_TYPE (i)))
+// OBSOLETE            continue;
+// OBSOLETE        }
+// OBSOLETE    }
+// OBSOLETE       else
+// OBSOLETE    {
+// OBSOLETE      if (i != regnum)
+// OBSOLETE        continue;
+// OBSOLETE    }
+// OBSOLETE 
+// OBSOLETE       /* If the register name is empty, it is undefined for this
+// OBSOLETE          processor, so don't display anything.  */
+// OBSOLETE       if (REGISTER_NAME (i) == NULL || *(REGISTER_NAME (i)) == '\0')
+// OBSOLETE    continue;
+// OBSOLETE 
+// OBSOLETE       fputs_filtered (REGISTER_NAME (i), file);
+// OBSOLETE       print_spaces_filtered (15 - strlen (REGISTER_NAME (i)), file);
+// OBSOLETE 
+// OBSOLETE       /* Get the data in raw format.  */
+// OBSOLETE       if (! frame_register_read (frame, i, raw_buffer))
+// OBSOLETE    {
+// OBSOLETE      fprintf_filtered (file, "*value not available*\n");
+// OBSOLETE      continue;
+// OBSOLETE    }
+// OBSOLETE 
+// OBSOLETE       /* FIXME: cagney/2002-08-03: This code shouldn't be necessary.
+// OBSOLETE          The function frame_register_read() should have returned the
+// OBSOLETE          pre-cooked register so no conversion is necessary.  */
+// OBSOLETE       /* Convert raw data to virtual format if necessary.  */
+// OBSOLETE       if (REGISTER_CONVERTIBLE (i))
+// OBSOLETE    {
+// OBSOLETE      REGISTER_CONVERT_TO_VIRTUAL (i, REGISTER_VIRTUAL_TYPE (i),
+// OBSOLETE                                   raw_buffer, virtual_buffer);
+// OBSOLETE    }
+// OBSOLETE       else
+// OBSOLETE    {
+// OBSOLETE      memcpy (virtual_buffer, raw_buffer,
+// OBSOLETE              REGISTER_VIRTUAL_SIZE (i));
+// OBSOLETE    }
+// OBSOLETE 
+// OBSOLETE       /* If virtual format is floating, print it that way, and in raw
+// OBSOLETE          hex.  */
+// OBSOLETE       if (TYPE_CODE (REGISTER_VIRTUAL_TYPE (i)) == TYPE_CODE_FLT)
+// OBSOLETE    {
+// OBSOLETE      int j;
+// OBSOLETE 
+// OBSOLETE      val_print (REGISTER_VIRTUAL_TYPE (i), virtual_buffer, 0, 0,
+// OBSOLETE                 file, 0, 1, 0, Val_pretty_default);
+// OBSOLETE 
+// OBSOLETE      fprintf_filtered (file, "\t(raw 0x");
+// OBSOLETE      for (j = 0; j < REGISTER_RAW_SIZE (i); j++)
+// OBSOLETE        {
+// OBSOLETE          int idx;
+// OBSOLETE          if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
+// OBSOLETE            idx = j;
+// OBSOLETE          else
+// OBSOLETE            idx = REGISTER_RAW_SIZE (i) - 1 - j;
+// OBSOLETE          fprintf_filtered (file, "%02x", (unsigned char) raw_buffer[idx]);
+// OBSOLETE        }
+// OBSOLETE      fprintf_filtered (file, ")");
+// OBSOLETE    }
+// OBSOLETE       else
+// OBSOLETE    {
+// OBSOLETE      /* Print the register in hex.  */
+// OBSOLETE      val_print (REGISTER_VIRTUAL_TYPE (i), virtual_buffer, 0, 0,
+// OBSOLETE                 file, 'x', 1, 0, Val_pretty_default);
+// OBSOLETE           /* If not a vector register, print it also according to its
+// OBSOLETE              natural format.  */
+// OBSOLETE      if (TYPE_VECTOR (REGISTER_VIRTUAL_TYPE (i)) == 0)
+// OBSOLETE        {
+// OBSOLETE          fprintf_filtered (file, "\t");
+// OBSOLETE          val_print (REGISTER_VIRTUAL_TYPE (i), virtual_buffer, 0, 0,
+// OBSOLETE                     file, 0, 1, 0, Val_pretty_default);
+// OBSOLETE        }
+// OBSOLETE    }
+// OBSOLETE 
+// OBSOLETE       /* Some z8k specific info.  */
+// OBSOLETE       z8k_print_register_hook (i);
+// OBSOLETE 
+// OBSOLETE       fprintf_filtered (file, "\n");
+// OBSOLETE     }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE z8k_do_registers_info (int regnum, int all)
+// OBSOLETE {
+// OBSOLETE   z8k_print_registers_info (current_gdbarch, gdb_stdout,
+// OBSOLETE                        deprecated_selected_frame, regnum, all);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE z8k_pop_frame (void)
+// OBSOLETE {
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE struct cmd_list_element *setmemorylist;
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE z8k_set_pointer_size (int newsize)
+// OBSOLETE {
+// OBSOLETE   static int oldsize = 0;
+// OBSOLETE 
+// OBSOLETE   if (oldsize != newsize)
+// OBSOLETE     {
+// OBSOLETE       printf_unfiltered ("pointer size set to %d bits\n", newsize);
+// OBSOLETE       oldsize = newsize;
+// OBSOLETE       if (newsize == 32)
+// OBSOLETE    {
+// OBSOLETE      BIG = 1;
+// OBSOLETE    }
+// OBSOLETE       else
+// OBSOLETE    {
+// OBSOLETE      BIG = 0;
+// OBSOLETE    }
+// OBSOLETE       /* FIXME: This code should be using the GDBARCH framework to
+// OBSOLETE          handle changed type sizes.  If this problem is ever fixed
+// OBSOLETE          (the direct reference to _initialize_gdbtypes() below
+// OBSOLETE          eliminated) then Makefile.in should be updated so that
+// OBSOLETE          z8k-tdep.c is again compiled with -Werror. */
+// OBSOLETE       _initialize_gdbtypes ();
+// OBSOLETE     }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static void
+// OBSOLETE segmented_command (char *args, int from_tty)
+// OBSOLETE {
+// OBSOLETE   z8k_set_pointer_size (32);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static void
+// OBSOLETE unsegmented_command (char *args, int from_tty)
+// OBSOLETE {
+// OBSOLETE   z8k_set_pointer_size (16);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static void
+// OBSOLETE set_memory (char *args, int from_tty)
+// OBSOLETE {
+// OBSOLETE   printf_unfiltered ("\"set memory\" must be followed by the name of a memory subcommand.\n");
+// OBSOLETE   help_list (setmemorylist, "set memory ", -1, gdb_stdout);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE _initialize_z8ktdep (void)
+// OBSOLETE {
+// OBSOLETE   tm_print_insn = gdb_print_insn_z8k;
+// OBSOLETE 
+// OBSOLETE   add_prefix_cmd ("memory", no_class, set_memory,
+// OBSOLETE              "set the memory model", &setmemorylist, "set memory ", 0,
+// OBSOLETE              &setlist);
+// OBSOLETE   add_cmd ("segmented", class_support, segmented_command,
+// OBSOLETE       "Set segmented memory model.", &setmemorylist);
+// OBSOLETE   add_cmd ("unsegmented", class_support, unsegmented_command,
+// OBSOLETE       "Set unsegmented memory model.", &setmemorylist);
+// OBSOLETE 
+// OBSOLETE }
This page took 0.07357 seconds and 4 git commands to generate.