diff options
author | nobody <> | 2003-03-03 20:50:21 +0000 |
---|---|---|
committer | nobody <> | 2003-03-03 20:50:21 +0000 |
commit | 900958cda09af0ca2839cc7e2a7c46355b051c83 (patch) | |
tree | 45e564da9eaed919ca56fc52f793cb0578b02a8b /gdb/config | |
parent | cddd45abf62af6ed70c8c67601a9f09da0a939b0 (diff) | |
download | binutils-gdb-900958cda09af0ca2839cc7e2a7c46355b051c83.tar.gz |
This commit was manufactured by cvs2svn to create branchcagney_offbyone-20030303-branchpoint
'cagney_offbyone-20030303-branch'.
Sprout from interps-20030202-branch 2003-02-02 23:00:07 UTC nobody 'This commit was manufactured by cvs2svn to create branch'
Cherrypick from master 2003-03-03 20:50:20 UTC Andrew Cagney <cagney@redhat.com> '2003-03-03 Andrew Cagney <cagney@redhat.com>':
ChangeLog
Makefile.def
Makefile.in
Makefile.tpl
bfd/ChangeLog
bfd/Makefile.am
bfd/Makefile.in
bfd/archures.c
bfd/bfd-in.h
bfd/bfd-in2.h
bfd/bfd.c
bfd/coff-h8300.c
bfd/coff-ppc.c
bfd/coffcode.h
bfd/config.bfd
bfd/cpu-arm.c
bfd/doc/ChangeLog
bfd/doc/bfd.texinfo
bfd/doc/fdl.texi
bfd/ecoff.c
bfd/elf-bfd.h
bfd/elf-eh-frame.c
bfd/elf.c
bfd/elf32-arm.h
bfd/elf32-cris.c
bfd/elf32-hppa.c
bfd/elf32-i386.c
bfd/elf32-m68k.c
bfd/elf32-mips.c
bfd/elf32-ppc.c
bfd/elf32-ppc.h
bfd/elf32-s390.c
bfd/elf32-sh.c
bfd/elf32-sparc.c
bfd/elf32-vax.c
bfd/elf64-alpha.c
bfd/elf64-hppa.c
bfd/elf64-mips.c
bfd/elf64-mmix.c
bfd/elf64-ppc.c
bfd/elf64-ppc.h
bfd/elf64-s390.c
bfd/elf64-sparc.c
bfd/elf64-x86-64.c
bfd/elfcore.h
bfd/elflink.c
bfd/elflink.h
bfd/elfn32-mips.c
bfd/elfxx-ia64.c
bfd/elfxx-mips.c
bfd/format.c
bfd/ieee.c
bfd/libbfd.h
bfd/libcoff.h
bfd/mmo.c
bfd/oasys.c
bfd/po/da.po
bfd/reloc.c
bfd/section.c
bfd/syms.c
bfd/targets.c
bfd/version.h
config.guess
config.sub
configure
configure.in
gdb/ChangeLog
gdb/MAINTAINERS
gdb/Makefile.in
gdb/NEWS
gdb/PROBLEMS
gdb/TODO
gdb/acinclude.m4
gdb/aclocal.m4
gdb/ada-exp.y
gdb/ada-lang.c
gdb/ada-lang.h
gdb/ada-typeprint.c
gdb/alpha-tdep.c
gdb/arch-utils.c
gdb/arm-linux-tdep.c
gdb/arm-tdep.c
gdb/avr-tdep.c
gdb/ax-gdb.c
gdb/block.c
gdb/block.h
gdb/blockframe.c
gdb/breakpoint.c
gdb/breakpoint.h
gdb/buildsym.c
gdb/buildsym.h
gdb/c-exp.y
gdb/c-valprint.c
gdb/cli-out.c
gdb/cli-out.h
gdb/cli/cli-cmds.c
gdb/cli/cli-decode.c
gdb/cli/cli-dump.c
gdb/cli/cli-interp.c
gdb/cli/cli-script.c
gdb/cli/cli-setshow.c
gdb/coff-pe-read.c
gdb/coff-pe-read.h
gdb/coffread.c
gdb/config.in
gdb/config/djgpp/fnchange.lst
gdb/config/h8500/h8500.mt
gdb/config/h8500/tm-h8500.h
gdb/config/i386/nm-i386.h
gdb/config/i386/nm-i386sco5.h
gdb/config/i386/nm-i386sol2.h
gdb/config/i386/tm-ptx.h
gdb/config/ia64/tm-ia64.h
gdb/config/m32r/m32r.mt
gdb/config/m32r/tm-m32r.h
gdb/config/mn10200/mn10200.mt
gdb/config/mn10200/tm-mn10200.h
gdb/config/pa/tm-hppa.h
gdb/config/pa/tm-hppa64.h
gdb/config/s390/nm-linux.h
gdb/config/sparc/nm-sun4sol2.h
gdb/config/sparc/tm-sp64.h
gdb/config/sparc/tm-sparc.h
gdb/config/z8k/tm-z8k.h
gdb/config/z8k/z8k.mt
gdb/configure
gdb/configure.host
gdb/configure.in
gdb/configure.tgt
gdb/cp-valprint.c
gdb/cris-tdep.c
gdb/d10v-tdep.c
gdb/dbxread.c
gdb/defs.h
gdb/disasm.c
gdb/doc/ChangeLog
gdb/doc/Makefile.in
gdb/doc/gdb.texinfo
gdb/doc/gdbint.texinfo
gdb/doublest.c
gdb/dwarf2cfi.c
gdb/dwarf2expr.c
gdb/dwarf2expr.h
gdb/dwarf2loc.c
gdb/dwarf2loc.h
gdb/dwarf2read.c
gdb/dwarfread.c
gdb/elfread.c
gdb/event-top.c
gdb/event-top.h
gdb/expprint.c
gdb/f-exp.y
gdb/f-lang.c
gdb/f-valprint.c
gdb/findvar.c
gdb/frame.c
gdb/frame.h
gdb/frv-tdep.c
gdb/gdb.c
gdb/gdb_mbuild.sh
gdb/gdb_thread_db.h
gdb/gdbarch.c
gdb/gdbarch.h
gdb/gdbarch.sh
gdb/gdbtypes.c
gdb/gdbtypes.h
gdb/gnu-v2-abi.c
gdb/h8300-tdep.c
gdb/h8500-tdep.c
gdb/hppa-tdep.c
gdb/hpread.c
gdb/hpux-thread.c
gdb/i386-interix-tdep.c
gdb/i386-linux-tdep.c
gdb/i386-tdep.c
gdb/i386bsd-tdep.c
gdb/ia64-linux-nat.c
gdb/ia64-tdep.c
gdb/infcmd.c
gdb/inflow.c
gdb/inflow.h
gdb/infptrace.c
gdb/infrun.c
gdb/inftarg.c
gdb/infttrace.c
gdb/interps.c
gdb/interps.h
gdb/jv-exp.y
gdb/jv-lang.c
gdb/jv-typeprint.c
gdb/jv-valprint.c
gdb/linespec.c
gdb/linux-proc.c
gdb/lynx-nat.c
gdb/m2-exp.y
gdb/m32r-rom.c
gdb/m32r-stub.c
gdb/m32r-tdep.c
gdb/m68hc11-tdep.c
gdb/m68k-tdep.c
gdb/main.c
gdb/main.h
gdb/maint.c
gdb/mcore-tdep.c
gdb/mdebugread.c
gdb/mi/ChangeLog
gdb/mi/gdbmi.texinfo
gdb/mi/mi-cmd-env.c
gdb/mi/mi-cmd-stack.c
gdb/mi/mi-cmds.c
gdb/mi/mi-cmds.h
gdb/mi/mi-console.c
gdb/mi/mi-console.h
gdb/mi/mi-interp.c
gdb/mi/mi-main.c
gdb/mi/mi-main.h
gdb/minsyms.c
gdb/mips-tdep.c
gdb/mipsread.c
gdb/mn10200-tdep.c
gdb/mn10300-tdep.c
gdb/monitor.c
gdb/nlmread.c
gdb/ns32k-tdep.c
gdb/objc-exp.y
gdb/objc-lang.c
gdb/objc-lang.h
gdb/objfiles.c
gdb/objfiles.h
gdb/observer.c
gdb/observer.h
gdb/osabi.c
gdb/p-exp.y
gdb/p-valprint.c
gdb/parse.c
gdb/parser-defs.h
gdb/ppc-linux-nat.c
gdb/ppc-linux-tdep.c
gdb/printcmd.c
gdb/proc-api.c
gdb/procfs.c
gdb/rdi-share/ardi.c
gdb/regcache.c
gdb/regcache.h
gdb/remote-e7000.c
gdb/remote-sim.c
gdb/remote.c
gdb/rs6000-tdep.c
gdb/s390-tdep.c
gdb/sh-tdep.c
gdb/sol-thread.c
gdb/solib-sunos.c
gdb/solib.c
gdb/solist.h
gdb/somread.c
gdb/somsolib.c
gdb/sparc-nat.c
gdb/sparc-tdep.c
gdb/stabsread.c
gdb/stack.c
gdb/symfile.c
gdb/symfile.h
gdb/symm-nat.c
gdb/symmisc.c
gdb/symtab.c
gdb/symtab.h
gdb/target.c
gdb/target.h
gdb/testsuite/ChangeLog
gdb/testsuite/Makefile.in
gdb/testsuite/configure.in
gdb/testsuite/gdb.base/advance.c
gdb/testsuite/gdb.base/advance.exp
gdb/testsuite/gdb.base/dump.exp
gdb/testsuite/gdb.base/exprs.exp
gdb/testsuite/gdb.base/funcargs.exp
gdb/testsuite/gdb.base/list.exp
gdb/testsuite/gdb.base/maint.exp
gdb/testsuite/gdb.base/ptype.exp
gdb/testsuite/gdb.base/restore.c
gdb/testsuite/gdb.base/until.exp
gdb/testsuite/gdb.base/watchpoint.exp
gdb/testsuite/gdb.c++/anon-union.exp
gdb/testsuite/gdb.c++/classes.exp
gdb/testsuite/gdb.c++/cplusfuncs.exp
gdb/testsuite/gdb.c++/inherit.exp
gdb/testsuite/gdb.c++/local.cc
gdb/testsuite/gdb.c++/local.exp
gdb/testsuite/gdb.c++/overload.cc
gdb/testsuite/gdb.c++/overload.exp
gdb/testsuite/gdb.c++/ovldbreak.exp
gdb/testsuite/gdb.c++/pr-1023.cc
gdb/testsuite/gdb.c++/pr-1023.exp
gdb/testsuite/gdb.c++/templates.exp
gdb/testsuite/gdb.c++/virtfunc.exp
gdb/testsuite/gdb.disasm/Makefile.in
gdb/testsuite/gdb.disasm/mn10200.exp
gdb/testsuite/gdb.mi/ChangeLog
gdb/testsuite/gdb.mi/mi-cli.exp
gdb/testsuite/gdb.mi/mi-syn-frame.c
gdb/testsuite/gdb.mi/mi-syn-frame.exp
gdb/testsuite/gdb.trace/Makefile.in
gdb/testsuite/lib/gdb.exp
gdb/thread.c
gdb/top.c
gdb/tracepoint.c
gdb/tui/ChangeLog
gdb/tui/tui-hooks.c
gdb/tui/tui-interp.c
gdb/tui/tui.c
gdb/tui/tuiData.h
gdb/tui/tuiIO.c
gdb/typeprint.c
gdb/ui-out.c
gdb/ui-out.h
gdb/utils.c
gdb/v850-tdep.c
gdb/valops.c
gdb/value.h
gdb/values.c
gdb/vax-tdep.c
gdb/version.in
gdb/win32-nat.c
gdb/wrapper.h
gdb/x86-64-linux-nat.c
gdb/x86-64-tdep.c
gdb/xcoffread.c
gdb/xstormy16-tdep.c
gdb/z8k-tdep.c
include/ChangeLog
include/elf/ChangeLog
include/elf/arm.h
include/elf/ia64.h
include/elf/ppc.h
include/elf/ppc64.h
include/gdb/ChangeLog
include/gdb/remote-sim.h
include/libiberty.h
include/opcode/ChangeLog
include/opcode/h8300.h
libiberty/ChangeLog
libiberty/Makefile.in
libiberty/acconfig.h
libiberty/aclocal.m4
libiberty/config.in
libiberty/configure
libiberty/configure.in
libiberty/cplus-dem.c
libiberty/functions.texi
libiberty/libiberty.texi
libiberty/lrealpath.c
libiberty/make-relative-prefix.c
libiberty/physmem.c
libtool.m4
ltcf-cxx.sh
ltcf-gcj.sh
ltconfig
opcodes/ChangeLog
opcodes/fr30-desc.c
opcodes/hppa-dis.c
opcodes/i386-dis.c
opcodes/mips-dis.c
readline/ChangeLog.gdb
readline/Makefile.in
readline/aclocal.m4
readline/config.h.in
readline/configure
readline/rlmbutil.h
readline/shlib/Makefile.in
sim/ChangeLog
sim/arm/ChangeLog
sim/arm/armos.c
sim/arm/wrapper.c
sim/common/ChangeLog
sim/common/Make-common.in
sim/common/nrun.c
sim/common/sim-base.h
sim/common/sim-engine.c
sim/common/sim-engine.h
sim/common/sim-hload.c
sim/common/sim-module.c
sim/common/sim-utils.h
sim/d10v/ChangeLog
sim/d10v/interp.c
sim/erc32/ChangeLog
sim/erc32/interf.c
sim/h8300/ChangeLog
sim/h8300/compile.c
sim/h8500/ChangeLog
sim/h8500/compile.c
sim/i960/ChangeLog
sim/i960/sim-if.c
sim/m32r/ChangeLog
sim/m32r/sim-if.c
sim/m68hc11/ChangeLog
sim/m68hc11/Makefile.in
sim/m68hc11/interp.c
sim/mcore/ChangeLog
sim/mcore/interp.c
sim/mips/ChangeLog
sim/mips/interp.c
sim/mn10200/ChangeLog
sim/mn10200/interp.c
sim/mn10300/ChangeLog
sim/mn10300/am33.igen
sim/mn10300/dv-mn103tim.c
sim/mn10300/interp.c
sim/ppc/ChangeLog
sim/ppc/sim_calls.c
sim/sh/ChangeLog
sim/sh/gencode.c
sim/sh/interp.c
sim/v850/ChangeLog
sim/v850/interp.c
sim/z8k/ChangeLog
sim/z8k/iface.c
Delete:
gdb/config/i386/gdbserve.mt
gdb/config/i386/i386sco5.mt
gdb/config/i386/i386v4.mt
gdb/config/i386/i386v42mp.mt
gdb/config/m68k/nm-apollo68b.h
gdb/config/m68k/nm-hp300bsd.h
gdb/config/m68k/tm-apollo68b.h
gdb/config/m68k/tm-es1800.h
gdb/config/m68k/tm-hp300bsd.h
gdb/config/m68k/tm-mac.h
gdb/config/m68k/xm-apollo68b.h
gdb/config/pa/hpux1020.mt
gdb/config/pa/hpux11.mt
gdb/config/pa/hpux11w.mt
gdb/config/powerpc/gdbserve.mt
gdb/config/powerpc/ppcle-eabi.mt
gdb/config/powerpc/ppcle-sim.mt
gdb/config/powerpc/tm-ppc-sim.h
gdb/config/sparc/sp64sim.mt
gdb/config/sparc/tm-sp64sim.h
sim/common/sim-break.c
sim/common/sim-break.h
Diffstat (limited to 'gdb/config')
40 files changed, 1096 insertions, 1567 deletions
diff --git a/gdb/config/djgpp/fnchange.lst b/gdb/config/djgpp/fnchange.lst index 5792b35439a..b426652e364 100644 --- a/gdb/config/djgpp/fnchange.lst +++ b/gdb/config/djgpp/fnchange.lst @@ -248,6 +248,8 @@ @V@/gdb/testsuite/gdb.c++/overload.exp @V@/gdb/testsuite/gdb.cxx/overload.exp @V@/gdb/testsuite/gdb.c++/ovldbreak.cc @V@/gdb/testsuite/gdb.cxx/ovldbreak.cc @V@/gdb/testsuite/gdb.c++/ovldbreak.exp @V@/gdb/testsuite/gdb.cxx/ovldbreak.exp +@V@/gdb/testsuite/gdb.c++/pr-1023.cc @V@/gdb/testsuite/gdb.cxx/pr-1023.cc +@V@/gdb/testsuite/gdb.c++/pr-1023.exp @V@/gdb/testsuite/gdb.cxx/pr-1023.exp @V@/gdb/testsuite/gdb.c++/pr-574.cc @V@/gdb/testsuite/gdb.cxx/pr-574.cc @V@/gdb/testsuite/gdb.c++/pr-574.exp @V@/gdb/testsuite/gdb.cxx/pr-574.exp @V@/gdb/testsuite/gdb.c++/printmethod.cc @V@/gdb/testsuite/gdb.cxx/printmethod.cc diff --git a/gdb/config/h8500/h8500.mt b/gdb/config/h8500/h8500.mt index 35f6b4ddc86..64608a08957 100644 --- a/gdb/config/h8500/h8500.mt +++ b/gdb/config/h8500/h8500.mt @@ -1,6 +1,6 @@ -# Target: H8500 with HMS monitor and H8 simulator -TDEPFILES= h8500-tdep.o monitor.o remote-hms.o dsrec.o -TM_FILE= tm-h8500.h - -SIM_OBS = remote-sim.o -SIM = ../sim/h8500/libsim.a +# OBSOLETE # Target: H8500 with HMS monitor and H8 simulator +# OBSOLETE TDEPFILES= h8500-tdep.o monitor.o remote-hms.o dsrec.o +# OBSOLETE TM_FILE= tm-h8500.h +# OBSOLETE +# OBSOLETE SIM_OBS = remote-sim.o +# OBSOLETE SIM = ../sim/h8500/libsim.a diff --git a/gdb/config/h8500/tm-h8500.h b/gdb/config/h8500/tm-h8500.h index 591556554a4..4d0f6407fa5 100644 --- a/gdb/config/h8500/tm-h8500.h +++ b/gdb/config/h8500/tm-h8500.h @@ -1,295 +1,295 @@ -/* Parameters for execution on a H8/500 series machine. - - Copyright 1993, 1994, 1995, 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. */ - -#include "regcache.h" - -/* 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) - -/* Contributed by Steve Chamberlain sac@cygnus.com */ - -#define GDB_TARGET_IS_H8500 - -/* Define the sizes of integers and pointers. */ - -#define TARGET_INT_BIT 16 - -#define TARGET_LONG_BIT 32 - -#define TARGET_PTR_BIT (minimum_mode ? 16 : 32) - -/* 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) (h8500_skip_prologue (ip)) -extern CORE_ADDR h8500_skip_prologue (CORE_ADDR); - -/* 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. */ - -#define SAVED_PC_AFTER_CALL(frame) saved_pc_after_call() -extern CORE_ADDR saved_pc_after_call (void); - -/* Stack grows downward. */ - -#define INNER_THAN(lhs,rhs) ((lhs) < (rhs)) - -/* Illegal instruction - used by the simulator for breakpoint - detection */ - -#define BREAKPOINT {0x0b} - -/* 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 long - -/* Say how much memory is needed to store a copy of the register set */ - -#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. */ - -#define REGISTER_RAW_SIZE(N) h8500_register_size(N) -extern int h8500_register_size (int regno); - -#define REGISTER_SIZE 4 - -#define REGISTER_VIRTUAL_SIZE(N) h8500_register_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) h8500_register_virtual_type(N) -extern struct type *h8500_register_virtual_type (int regno); - -/* Initializer for an array of names of registers. - Entries beyond the first NUM_REGS are ignored. */ - -#define REGISTER_NAMES \ - { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \ - "pr0","pr1","pr2","pr3","pr4","pr5","pr6","pr7", \ - "cp", "dp", "ep", "tp", "sr", "pc"} - -/* 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 R0_REGNUM 0 -#define R1_REGNUM 1 -#define R2_REGNUM 2 -#define R3_REGNUM 3 -#define R4_REGNUM 4 -#define R5_REGNUM 5 -#define R6_REGNUM 6 -#define R7_REGNUM 7 - -#define PR0_REGNUM 8 -#define PR1_REGNUM 9 -#define PR2_REGNUM 10 -#define PR3_REGNUM 11 -#define PR4_REGNUM 12 -#define PR5_REGNUM 13 -#define PR6_REGNUM 14 -#define PR7_REGNUM 15 - -#define SEG_C_REGNUM 16 /* Segment registers */ -#define SEG_D_REGNUM 17 -#define SEG_E_REGNUM 18 -#define SEG_T_REGNUM 19 - -#define CCR_REGNUM 20 /* Contains processor status */ -#define PC_REGNUM 21 /* Contains program counter */ - -#define NUM_REGS 22 - -#define SP_REGNUM PR7_REGNUM /* Contains address of top of stack */ -#define FP_REGNUM PR6_REGNUM /* Contains address of executing stack frame */ - -#define PTR_SIZE (minimum_mode ? 2 : 4) -#define PTR_MASK (minimum_mode ? 0x0000ffff : 0x00ffffff) - -/* 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) \ - { write_register (0, (ADDR)); 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. */ - -#define DEPRECATED_EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \ - memcpy (VALBUF, (char *)(REGBUF), 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) \ - deprecated_write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE)) - -/* 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)) - - -/* 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)) - -/* Any function with a frame looks like this - SECOND ARG - FIRST ARG - RET PC - SAVED R2 - SAVED R3 - SAVED FP <-FP POINTS HERE - LOCALS0 - LOCALS1 <-SP POINTS HERE - - */ - -#define INIT_EXTRA_FRAME_INFO(fromleaf, fci) ; -/* (fci)->frame |= read_register(SEG_T_REGNUM) << 16; */ - -#define FRAME_CHAIN(FRAME) h8500_frame_chain(FRAME) -struct frame_info; -extern CORE_ADDR h8500_frame_chain (struct frame_info *); - -#define FRAME_SAVED_PC(FRAME) frame_saved_pc(FRAME) -extern CORE_ADDR frame_saved_pc (struct frame_info *frame); - -#define FRAME_ARGS_ADDRESS(fi) (get_frame_base (fi)) - -#define FRAME_LOCALS_ADDRESS(fi) (get_frame_base (fi)) - -/* 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. */ - -#define FRAME_NUM_ARGS(fi) (-1) - -/* Return number of bytes at start of arglist that are not really args. */ - -#define FRAME_ARGS_SKIP 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. */ - -#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \ - frame_find_saved_regs(frame_info, &(frame_saved_regs)) -struct frame_saved_regs; -extern void frame_find_saved_regs (struct frame_info *frame_info, - struct frame_saved_regs *frame_saved_regs); - - -/* Discard from the stack the innermost frame, restoring all registers. */ - -#define POP_FRAME { h8500_pop_frame (); } -extern void h8500_pop_frame (void); - -#define SHORT_INT_MAX 32767 -#define SHORT_INT_MIN -32768 - -typedef unsigned short INSN_WORD; - -extern CORE_ADDR h8500_addr_bits_remove (CORE_ADDR); -#define ADDR_BITS_REMOVE(addr) h8500_addr_bits_remove (addr) - -#define read_memory_short(x) (read_memory_integer(x,2) & 0xffff) - -extern void h8500_do_registers_info (int regnum, int all); -#define DEPRECATED_DO_REGISTERS_INFO(REGNUM,ALL) \ - h8500_do_registers_info (REGNUM, ALL) - -extern int minimum_mode; - -#define CALL_DUMMY_LENGTH 10 - -/* Fake variables to make it easy to use 24 bit register pointers */ - -#define IS_TRAPPED_INTERNALVAR h8500_is_trapped_internalvar -extern int h8500_is_trapped_internalvar (char *name); - -#define VALUE_OF_TRAPPED_INTERNALVAR h8500_value_of_trapped_internalvar -extern struct value *h8500_value_of_trapped_internalvar ( /* struct internalvar *var */ ); - -#define SET_TRAPPED_INTERNALVAR h8500_set_trapped_internalvar -extern void h8500_set_trapped_internalvar ( /* struct internalvar *var, value newval, int bitpos, int bitsize, int offset */ ); - -extern CORE_ADDR h8500_read_sp (void); -extern void h8500_write_sp (CORE_ADDR); - -extern CORE_ADDR h8500_read_fp (void); - -extern CORE_ADDR h8500_read_pc (ptid_t); -extern void h8500_write_pc (CORE_ADDR, ptid_t); - -#define TARGET_READ_SP() h8500_read_sp() -#define TARGET_WRITE_SP(x) h8500_write_sp(x) - -#define TARGET_READ_PC(pid) h8500_read_pc(pid) -#define TARGET_WRITE_PC(x,pid) h8500_write_pc(x,pid) - -#define TARGET_READ_FP() h8500_read_fp() +// OBSOLETE /* Parameters for execution on a H8/500 series machine. +// OBSOLETE +// OBSOLETE Copyright 1993, 1994, 1995, 1998, 1999, 2000, 2001, 2002, 2003 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 #include "regcache.h" +// 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 /* Contributed by Steve Chamberlain sac@cygnus.com */ +// OBSOLETE +// OBSOLETE #define GDB_TARGET_IS_H8500 +// OBSOLETE +// OBSOLETE /* Define the sizes of integers and pointers. */ +// OBSOLETE +// OBSOLETE #define TARGET_INT_BIT 16 +// OBSOLETE +// OBSOLETE #define TARGET_LONG_BIT 32 +// OBSOLETE +// OBSOLETE #define TARGET_PTR_BIT (minimum_mode ? 16 : 32) +// 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) (h8500_skip_prologue (ip)) +// OBSOLETE extern CORE_ADDR h8500_skip_prologue (CORE_ADDR); +// 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 #define SAVED_PC_AFTER_CALL(frame) saved_pc_after_call() +// OBSOLETE extern CORE_ADDR saved_pc_after_call (void); +// OBSOLETE +// OBSOLETE /* Stack grows downward. */ +// OBSOLETE +// OBSOLETE #define INNER_THAN(lhs,rhs) ((lhs) < (rhs)) +// OBSOLETE +// OBSOLETE /* Illegal instruction - used by the simulator for breakpoint +// OBSOLETE detection */ +// OBSOLETE +// OBSOLETE #define BREAKPOINT {0x0b} +// 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 long +// OBSOLETE +// OBSOLETE /* Say how much memory is needed to store a copy of the register set */ +// OBSOLETE +// 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. */ +// OBSOLETE +// OBSOLETE #define REGISTER_RAW_SIZE(N) h8500_register_size(N) +// OBSOLETE extern int h8500_register_size (int regno); +// OBSOLETE +// OBSOLETE #define REGISTER_SIZE 4 +// OBSOLETE +// OBSOLETE #define REGISTER_VIRTUAL_SIZE(N) h8500_register_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) h8500_register_virtual_type(N) +// OBSOLETE extern struct type *h8500_register_virtual_type (int regno); +// OBSOLETE +// OBSOLETE /* Initializer for an array of names of registers. +// OBSOLETE Entries beyond the first NUM_REGS are ignored. */ +// OBSOLETE +// OBSOLETE #define REGISTER_NAMES \ +// OBSOLETE { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \ +// OBSOLETE "pr0","pr1","pr2","pr3","pr4","pr5","pr6","pr7", \ +// OBSOLETE "cp", "dp", "ep", "tp", "sr", "pc"} +// OBSOLETE +// OBSOLETE /* Register numbers of various important registers. Note that some of +// OBSOLETE these values are "real" register numbers, and correspond to the +// OBSOLETE general registers of the machine, and some are "phony" register +// OBSOLETE numbers which are too large to be actual register numbers as far as +// OBSOLETE the user is concerned but do serve to get the desired values when +// OBSOLETE passed to read_register. */ +// OBSOLETE +// OBSOLETE #define R0_REGNUM 0 +// OBSOLETE #define R1_REGNUM 1 +// OBSOLETE #define R2_REGNUM 2 +// OBSOLETE #define R3_REGNUM 3 +// OBSOLETE #define R4_REGNUM 4 +// OBSOLETE #define R5_REGNUM 5 +// OBSOLETE #define R6_REGNUM 6 +// OBSOLETE #define R7_REGNUM 7 +// OBSOLETE +// OBSOLETE #define PR0_REGNUM 8 +// OBSOLETE #define PR1_REGNUM 9 +// OBSOLETE #define PR2_REGNUM 10 +// OBSOLETE #define PR3_REGNUM 11 +// OBSOLETE #define PR4_REGNUM 12 +// OBSOLETE #define PR5_REGNUM 13 +// OBSOLETE #define PR6_REGNUM 14 +// OBSOLETE #define PR7_REGNUM 15 +// OBSOLETE +// OBSOLETE #define SEG_C_REGNUM 16 /* Segment registers */ +// OBSOLETE #define SEG_D_REGNUM 17 +// OBSOLETE #define SEG_E_REGNUM 18 +// OBSOLETE #define SEG_T_REGNUM 19 +// OBSOLETE +// OBSOLETE #define CCR_REGNUM 20 /* Contains processor status */ +// OBSOLETE #define PC_REGNUM 21 /* Contains program counter */ +// OBSOLETE +// OBSOLETE #define NUM_REGS 22 +// OBSOLETE +// OBSOLETE #define SP_REGNUM PR7_REGNUM /* Contains address of top of stack */ +// OBSOLETE #define FP_REGNUM PR6_REGNUM /* Contains address of executing stack frame */ +// OBSOLETE +// OBSOLETE #define PTR_SIZE (minimum_mode ? 2 : 4) +// OBSOLETE #define PTR_MASK (minimum_mode ? 0x0000ffff : 0x00ffffff) +// 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) \ +// OBSOLETE { write_register (0, (ADDR)); 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. */ +// OBSOLETE +// OBSOLETE #define DEPRECATED_EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \ +// OBSOLETE memcpy (VALBUF, (char *)(REGBUF), 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) \ +// OBSOLETE deprecated_write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE)) +// 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 +// 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 +// OBSOLETE #define FRAMELESS_FUNCTION_INVOCATION(FI) \ +// OBSOLETE (frameless_look_for_prologue (FI)) +// OBSOLETE +// OBSOLETE /* Any function with a frame looks like this +// OBSOLETE SECOND ARG +// OBSOLETE FIRST ARG +// OBSOLETE RET PC +// OBSOLETE SAVED R2 +// OBSOLETE SAVED R3 +// OBSOLETE SAVED FP <-FP POINTS HERE +// OBSOLETE LOCALS0 +// OBSOLETE LOCALS1 <-SP POINTS HERE +// OBSOLETE +// OBSOLETE */ +// OBSOLETE +// OBSOLETE #define INIT_EXTRA_FRAME_INFO(fromleaf, fci) ; +// OBSOLETE /* (fci)->frame |= read_register(SEG_T_REGNUM) << 16; */ +// OBSOLETE +// OBSOLETE #define FRAME_CHAIN(FRAME) h8500_frame_chain(FRAME) +// OBSOLETE struct frame_info; +// OBSOLETE extern CORE_ADDR h8500_frame_chain (struct frame_info *); +// OBSOLETE +// OBSOLETE #define FRAME_SAVED_PC(FRAME) frame_saved_pc(FRAME) +// OBSOLETE extern CORE_ADDR frame_saved_pc (struct frame_info *frame); +// OBSOLETE +// OBSOLETE #define FRAME_ARGS_ADDRESS(fi) (get_frame_base (fi)) +// OBSOLETE +// OBSOLETE #define FRAME_LOCALS_ADDRESS(fi) (get_frame_base (fi)) +// 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 +// OBSOLETE #define FRAME_NUM_ARGS(fi) (-1) +// OBSOLETE +// OBSOLETE /* Return number of bytes at start of arglist that are not really args. */ +// OBSOLETE +// OBSOLETE #define FRAME_ARGS_SKIP 0 +// 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 #define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \ +// OBSOLETE frame_find_saved_regs(frame_info, &(frame_saved_regs)) +// OBSOLETE struct frame_saved_regs; +// OBSOLETE extern void frame_find_saved_regs (struct frame_info *frame_info, +// OBSOLETE struct frame_saved_regs *frame_saved_regs); +// OBSOLETE +// OBSOLETE +// OBSOLETE /* Discard from the stack the innermost frame, restoring all registers. */ +// OBSOLETE +// OBSOLETE #define POP_FRAME { h8500_pop_frame (); } +// OBSOLETE extern void h8500_pop_frame (void); +// OBSOLETE +// OBSOLETE #define SHORT_INT_MAX 32767 +// OBSOLETE #define SHORT_INT_MIN -32768 +// OBSOLETE +// OBSOLETE typedef unsigned short INSN_WORD; +// OBSOLETE +// OBSOLETE extern CORE_ADDR h8500_addr_bits_remove (CORE_ADDR); +// OBSOLETE #define ADDR_BITS_REMOVE(addr) h8500_addr_bits_remove (addr) +// OBSOLETE +// OBSOLETE #define read_memory_short(x) (read_memory_integer(x,2) & 0xffff) +// OBSOLETE +// OBSOLETE extern void h8500_do_registers_info (int regnum, int all); +// OBSOLETE #define DEPRECATED_DO_REGISTERS_INFO(REGNUM,ALL) \ +// OBSOLETE h8500_do_registers_info (REGNUM, ALL) +// OBSOLETE +// OBSOLETE extern int minimum_mode; +// OBSOLETE +// OBSOLETE #define CALL_DUMMY_LENGTH 10 +// OBSOLETE +// OBSOLETE /* Fake variables to make it easy to use 24 bit register pointers */ +// OBSOLETE +// OBSOLETE #define IS_TRAPPED_INTERNALVAR h8500_is_trapped_internalvar +// OBSOLETE extern int h8500_is_trapped_internalvar (char *name); +// OBSOLETE +// OBSOLETE #define VALUE_OF_TRAPPED_INTERNALVAR h8500_value_of_trapped_internalvar +// OBSOLETE extern struct value *h8500_value_of_trapped_internalvar ( /* struct internalvar *var */ ); +// OBSOLETE +// OBSOLETE #define SET_TRAPPED_INTERNALVAR h8500_set_trapped_internalvar +// OBSOLETE extern void h8500_set_trapped_internalvar ( /* struct internalvar *var, value newval, int bitpos, int bitsize, int offset */ ); +// OBSOLETE +// OBSOLETE extern CORE_ADDR h8500_read_sp (void); +// OBSOLETE extern void h8500_write_sp (CORE_ADDR); +// OBSOLETE +// OBSOLETE extern CORE_ADDR h8500_read_fp (void); +// OBSOLETE +// OBSOLETE extern CORE_ADDR h8500_read_pc (ptid_t); +// OBSOLETE extern void h8500_write_pc (CORE_ADDR, ptid_t); +// OBSOLETE +// OBSOLETE #define TARGET_READ_SP() h8500_read_sp() +// OBSOLETE #define TARGET_WRITE_SP(x) h8500_write_sp(x) +// OBSOLETE +// OBSOLETE #define TARGET_READ_PC(pid) h8500_read_pc(pid) +// OBSOLETE #define TARGET_WRITE_PC(x,pid) h8500_write_pc(x,pid) +// OBSOLETE +// OBSOLETE #define TARGET_READ_FP() h8500_read_fp() diff --git a/gdb/config/i386/gdbserve.mt b/gdb/config/i386/gdbserve.mt deleted file mode 100644 index d8a7cbaf43d..00000000000 --- a/gdb/config/i386/gdbserve.mt +++ /dev/null @@ -1,3 +0,0 @@ -# Target: GDBSERVE.NLM running on a i386 -TDEPFILES= i386.o -CPU_FILE= i386 diff --git a/gdb/config/i386/i386sco5.mt b/gdb/config/i386/i386sco5.mt deleted file mode 100644 index 11ab55f2c2f..00000000000 --- a/gdb/config/i386/i386sco5.mt +++ /dev/null @@ -1,3 +0,0 @@ -# Target: Intel 386 running SCO Open Server 5 -TDEPFILES= i386-tdep.o i387-tdep.o -TM_FILE= tm-i386.h diff --git a/gdb/config/i386/i386v4.mt b/gdb/config/i386/i386v4.mt deleted file mode 100644 index d1b8c26726c..00000000000 --- a/gdb/config/i386/i386v4.mt +++ /dev/null @@ -1,3 +0,0 @@ -# Target: Intel 386 running SVR4 -TDEPFILES= i386-tdep.o i387-tdep.o -TM_FILE= tm-i386.h diff --git a/gdb/config/i386/i386v42mp.mt b/gdb/config/i386/i386v42mp.mt deleted file mode 100644 index 1a0ac88d81c..00000000000 --- a/gdb/config/i386/i386v42mp.mt +++ /dev/null @@ -1,3 +0,0 @@ -# Target: Intel 386 running SVR4.2MP -TDEPFILES= i386-tdep.o i387-tdep.o -TM_FILE= tm-i386.h diff --git a/gdb/config/i386/nm-i386.h b/gdb/config/i386/nm-i386.h index eed05a476fa..97a70539b0f 100644 --- a/gdb/config/i386/nm-i386.h +++ b/gdb/config/i386/nm-i386.h @@ -93,7 +93,7 @@ extern int i386_remove_hw_breakpoint (CORE_ADDR addr, void *shadow); one that caused the trap. Therefore we don't need to step over it. But we do need to reset the status register to avoid another trap. */ -#define HAVE_CONTINUABLE_WATCHPOINT +#define HAVE_CONTINUABLE_WATCHPOINT 1 #define STOPPED_BY_WATCHPOINT(W) (i386_stopped_data_address () != 0) diff --git a/gdb/config/i386/nm-i386sco5.h b/gdb/config/i386/nm-i386sco5.h index 37a4b16d44b..65f317621e6 100644 --- a/gdb/config/i386/nm-i386sco5.h +++ b/gdb/config/i386/nm-i386sco5.h @@ -63,7 +63,7 @@ extern int kernel_u_size (void); /* After a watchpoint trap, the PC points to the instruction which caused the trap. But we can continue over it without disabling the trap. */ -#define HAVE_CONTINUABLE_WATCHPOINT +#define HAVE_CONTINUABLE_WATCHPOINT 1 #define HAVE_STEPPABLE_WATCHPOINT #define STOPPED_BY_WATCHPOINT(W) \ diff --git a/gdb/config/i386/nm-i386sol2.h b/gdb/config/i386/nm-i386sol2.h index 8a51942791f..aeb89a26f6f 100644 --- a/gdb/config/i386/nm-i386sol2.h +++ b/gdb/config/i386/nm-i386sol2.h @@ -32,7 +32,7 @@ /* When a hardware watchpoint fires off the PC will be left at the instruction following the one which caused the watchpoint. It will *NOT* be necessary for GDB to step over the watchpoint. */ -#define HAVE_CONTINUABLE_WATCHPOINT +#define HAVE_CONTINUABLE_WATCHPOINT 1 /* Solaris x86 2.6 and 2.7 targets have a kernel bug when stepping over an instruction that causes a page fault without triggering diff --git a/gdb/config/i386/tm-ptx.h b/gdb/config/i386/tm-ptx.h index 6a7529887ba..80026e3568e 100644 --- a/gdb/config/i386/tm-ptx.h +++ b/gdb/config/i386/tm-ptx.h @@ -136,8 +136,8 @@ extern int ptx_register_u_addr (int, int); /* Largest value REGISTER_RAW_SIZE can have. */ -#undef MAX_REGISTER_RAW_SIZE -#define MAX_REGISTER_RAW_SIZE 10 +#undef DEPRECATED_MAX_REGISTER_RAW_SIZE +#define DEPRECATED_MAX_REGISTER_RAW_SIZE 10 /* Nonzero if register N requires conversion from raw format to virtual format. */ diff --git a/gdb/config/ia64/tm-ia64.h b/gdb/config/ia64/tm-ia64.h index d08e59bccd5..9ebe9ae7a9a 100644 --- a/gdb/config/ia64/tm-ia64.h +++ b/gdb/config/ia64/tm-ia64.h @@ -66,7 +66,7 @@ /* Largest value REGISTER_RAW_SIZE can have. */ -#define MAX_REGISTER_RAW_SIZE 16 +#define DEPRECATED_MAX_REGISTER_RAW_SIZE 16 #define GDBSERVER_RESUME_REGS { IA64_IP_REGNUM, IA64_PSR_REGNUM, SP_REGNUM, IA64_BSP_REGNUM, IA64_CFM_REGNUM } diff --git a/gdb/config/m32r/m32r.mt b/gdb/config/m32r/m32r.mt index a200853b602..a2816084290 100644 --- a/gdb/config/m32r/m32r.mt +++ b/gdb/config/m32r/m32r.mt @@ -1,5 +1,5 @@ -# Target: Mitsubishi m32r processor -TDEPFILES= m32r-tdep.o monitor.o m32r-rom.o dsrec.o -TM_FILE= tm-m32r.h -SIM_OBS = remote-sim.o -SIM = ../sim/m32r/libsim.a +# OBSOLETE # Target: Mitsubishi m32r processor +# OBSOLETE TDEPFILES= m32r-tdep.o monitor.o m32r-rom.o dsrec.o +# OBSOLETE TM_FILE= tm-m32r.h +# OBSOLETE SIM_OBS = remote-sim.o +# OBSOLETE SIM = ../sim/m32r/libsim.a diff --git a/gdb/config/m32r/tm-m32r.h b/gdb/config/m32r/tm-m32r.h index aa9249996ab..89af4e3ab31 100644 --- a/gdb/config/m32r/tm-m32r.h +++ b/gdb/config/m32r/tm-m32r.h @@ -1,231 +1,231 @@ -/* Parameters for execution on a Mitsubishi m32r processor. - Copyright 1996, 1997, 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. */ - -#include "regcache.h" - -/* Used by mswin. */ -#define TARGET_M32R 1 - -/* mvs_check REGISTER_NAMES */ -#define REGISTER_NAMES \ -{ "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \ - "r8", "r9", "r10", "r11", "r12", "fp", "lr", "sp", \ - "psw", "cbr", "spi", "spu", "bpc", "pc", "accl", "acch", \ - /* "cond", "sm", "bsm", "ie", "bie", "bcarry", */ \ -} -/* mvs_check NUM_REGS */ -#define NUM_REGS 24 - -/* mvs_check REGISTER_SIZE */ -#define REGISTER_SIZE 4 -/* mvs_check MAX_REGISTER_RAW_SIZE */ -#define MAX_REGISTER_RAW_SIZE 4 - -/* mvs_check *_REGNUM */ -#define R0_REGNUM 0 -#define STRUCT_RETURN_REGNUM 0 -#define ARG0_REGNUM 0 -#define ARGLAST_REGNUM 3 -#define V0_REGNUM 0 -#define V1_REGNUM 1 -#define FP_REGNUM 13 -#define RP_REGNUM 14 -#define SP_REGNUM 15 -#define PSW_REGNUM 16 -#define CBR_REGNUM 17 -#define SPI_REGNUM 18 -#define SPU_REGNUM 19 -#define BPC_REGNUM 20 -#define PC_REGNUM 21 -#define ACCL_REGNUM 22 -#define ACCH_REGNUM 23 - -/* mvs_check REGISTER_BYTES */ -#define REGISTER_BYTES (NUM_REGS * 4) - -/* mvs_check REGISTER_VIRTUAL_TYPE */ -#define REGISTER_VIRTUAL_TYPE(REG) builtin_type_int - -/* mvs_check REGISTER_BYTE */ -#define REGISTER_BYTE(REG) ((REG) * 4) -/* mvs_check REGISTER_VIRTUAL_SIZE */ -#define REGISTER_VIRTUAL_SIZE(REG) 4 -/* mvs_check REGISTER_RAW_SIZE */ -#define REGISTER_RAW_SIZE(REG) 4 - -/* mvs_check MAX_REGISTER_VIRTUAL_SIZE */ -#define MAX_REGISTER_VIRTUAL_SIZE 4 - -/* mvs_check BREAKPOINT */ -#define BREAKPOINT {0x10, 0xf1} - -/* mvs_no_check FUNCTION_START_OFFSET */ -#define FUNCTION_START_OFFSET 0 - -/* mvs_check DECR_PC_AFTER_BREAK */ -#define DECR_PC_AFTER_BREAK 0 - -/* mvs_check INNER_THAN */ -#define INNER_THAN(lhs,rhs) ((lhs) < (rhs)) - -/* mvs_check SAVED_PC_AFTER_CALL */ -#define SAVED_PC_AFTER_CALL(fi) read_register (RP_REGNUM) - -struct frame_info; -struct frame_saved_regs; -struct type; -struct value; - -/* Define other aspects of the stack frame. - We keep the offsets of all saved registers, 'cause we need 'em a lot! - We also keep the current size of the stack frame, and whether - the frame pointer is valid (for frameless functions, and when we're - still in the prologue of a function with a frame) */ - -/* mvs_check EXTRA_FRAME_INFO */ -#define EXTRA_FRAME_INFO \ - struct frame_saved_regs fsr; \ - int framesize; \ - int using_frame_pointer; - - -extern void m32r_init_extra_frame_info (struct frame_info *fi); -/* mvs_check INIT_EXTRA_FRAME_INFO */ -#define INIT_EXTRA_FRAME_INFO(fromleaf, fi) m32r_init_extra_frame_info (fi) -/* mvs_no_check DEPRECATED_INIT_FRAME_PC */ -#define DEPRECATED_INIT_FRAME_PC init_frame_pc_noop - -extern void -m32r_frame_find_saved_regs (struct frame_info *fi, - struct frame_saved_regs *regaddr); - -/* 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. */ - -/* mvs_check FRAME_FIND_SAVED_REGS */ -#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \ - m32r_frame_find_saved_regs(frame_info, &(frame_saved_regs)) - -extern CORE_ADDR m32r_frame_chain (struct frame_info *fi); -/* mvs_check FRAME_CHAIN */ -#define FRAME_CHAIN(fi) m32r_frame_chain (fi) - -extern CORE_ADDR m32r_find_callers_reg (struct frame_info *fi, int regnum); -extern CORE_ADDR m32r_frame_saved_pc (struct frame_info *); -/* mvs_check FRAME_SAVED_PC */ -#define FRAME_SAVED_PC(fi) m32r_frame_saved_pc (fi) - -/* mvs_check DEPRECATED_EXTRACT_RETURN_VALUE */ -#define DEPRECATED_EXTRACT_RETURN_VALUE(TYPE, REGBUF, VALBUF) \ - memcpy ((VALBUF), \ - (char *)(REGBUF) + REGISTER_BYTE (V0_REGNUM) + \ - ((TYPE_LENGTH (TYPE) > 4 ? 8 : 4) - TYPE_LENGTH (TYPE)), \ - TYPE_LENGTH (TYPE)) - -/* mvs_check DEPRECATED_STORE_RETURN_VALUE */ -#define DEPRECATED_STORE_RETURN_VALUE(TYPE, VALBUF) \ - deprecated_write_register_bytes(REGISTER_BYTE (V0_REGNUM) + \ - ((TYPE_LENGTH (TYPE) > 4 ? 8:4) - TYPE_LENGTH (TYPE)),\ - (VALBUF), TYPE_LENGTH (TYPE)); - -extern CORE_ADDR m32r_skip_prologue (CORE_ADDR pc); -/* mvs_check SKIP_PROLOGUE */ -#define SKIP_PROLOGUE(pc) (m32r_skip_prologue (pc)) - -/* mvs_no_check FRAME_ARGS_SKIP */ -#define FRAME_ARGS_SKIP 0 - -/* mvs_no_check FRAME_ARGS_ADDRESS */ -#define FRAME_ARGS_ADDRESS(fi) ((fi)->frame) -/* mvs_no_check FRAME_LOCALS_ADDRESS */ -#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame) -/* mvs_no_check FRAME_NUM_ARGS */ -#define FRAME_NUM_ARGS(fi) (-1) - -extern void m32r_write_sp (CORE_ADDR val); -#define TARGET_WRITE_SP m32r_write_sp - - - - - - -/* struct passing and returning stuff */ -#define STORE_STRUCT_RETURN(STRUCT_ADDR, SP) \ - write_register (0, STRUCT_ADDR) - -extern use_struct_convention_fn m32r_use_struct_convention; -#define USE_STRUCT_CONVENTION(GCC_P, TYPE) m32r_use_struct_convention (GCC_P, TYPE) - -#define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \ - extract_address (REGBUF + REGISTER_BYTE (V0_REGNUM), \ - REGISTER_RAW_SIZE (V0_REGNUM)) - -#define REG_STRUCT_HAS_ADDR(gcc_p,type) (TYPE_LENGTH (type) > 8) - - -/* generic dummy frame stuff */ - -#define PUSH_DUMMY_FRAME generic_push_dummy_frame () -#define DEPRECATED_PC_IN_CALL_DUMMY(PC, SP, FP) generic_pc_in_call_dummy (PC, SP, FP) - - -/* target-specific dummy_frame stuff */ - -extern struct frame_info *m32r_pop_frame (struct frame_info *frame); -/* mvs_check POP_FRAME */ -#define POP_FRAME m32r_pop_frame (get_current_frame ()) - -/* mvs_no_check STACK_ALIGN */ -/* #define STACK_ALIGN(x) ((x + 3) & ~3) */ - -extern CORE_ADDR m32r_push_return_address (CORE_ADDR, CORE_ADDR); -extern CORE_ADDR m32r_push_arguments (int nargs, - struct value **args, - CORE_ADDR sp, - unsigned char struct_return, - CORE_ADDR struct_addr); - - - -/* mvs_no_check PUSH_ARGUMENTS */ -#define PUSH_ARGUMENTS(NARGS, ARGS, SP, STRUCT_RETURN, STRUCT_ADDR) \ - (m32r_push_arguments (NARGS, ARGS, SP, STRUCT_RETURN, STRUCT_ADDR)) - -#define PUSH_RETURN_ADDRESS(PC, SP) m32r_push_return_address (PC, SP) - -/* override the standard get_saved_register function with - one that takes account of generic CALL_DUMMY frames */ -#define GET_SAVED_REGISTER(raw_buffer, optimized, addrp, frame, regnum, lval) \ - deprecated_generic_get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval) - - -#define DEPRECATED_USE_GENERIC_DUMMY_FRAMES 1 -#define CALL_DUMMY {0} -#define CALL_DUMMY_LENGTH (0) -#define CALL_DUMMY_START_OFFSET (0) -#define CALL_DUMMY_BREAKPOINT_OFFSET (0) -#define FIX_CALL_DUMMY(DUMMY1, STARTADDR, FUNADDR, NARGS, ARGS, TYPE, GCCP) -#define CALL_DUMMY_LOCATION AT_ENTRY_POINT -#define CALL_DUMMY_ADDRESS() entry_point_address () +// OBSOLETE /* Parameters for execution on a Mitsubishi m32r processor. +// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +// OBSOLETE 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 #include "regcache.h" +// OBSOLETE +// OBSOLETE /* Used by mswin. */ +// OBSOLETE #define TARGET_M32R 1 +// OBSOLETE +// OBSOLETE /* mvs_check REGISTER_NAMES */ +// OBSOLETE #define REGISTER_NAMES \ +// OBSOLETE { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \ +// OBSOLETE "r8", "r9", "r10", "r11", "r12", "fp", "lr", "sp", \ +// OBSOLETE "psw", "cbr", "spi", "spu", "bpc", "pc", "accl", "acch", \ +// OBSOLETE /* "cond", "sm", "bsm", "ie", "bie", "bcarry", */ \ +// OBSOLETE } +// OBSOLETE /* mvs_check NUM_REGS */ +// OBSOLETE #define NUM_REGS 24 +// OBSOLETE +// OBSOLETE /* mvs_check REGISTER_SIZE */ +// OBSOLETE #define REGISTER_SIZE 4 +// OBSOLETE /* mvs_check MAX_REGISTER_RAW_SIZE */ +// OBSOLETE #define MAX_REGISTER_RAW_SIZE 4 +// OBSOLETE +// OBSOLETE /* mvs_check *_REGNUM */ +// OBSOLETE #define R0_REGNUM 0 +// OBSOLETE #define STRUCT_RETURN_REGNUM 0 +// OBSOLETE #define ARG0_REGNUM 0 +// OBSOLETE #define ARGLAST_REGNUM 3 +// OBSOLETE #define V0_REGNUM 0 +// OBSOLETE #define V1_REGNUM 1 +// OBSOLETE #define FP_REGNUM 13 +// OBSOLETE #define RP_REGNUM 14 +// OBSOLETE #define SP_REGNUM 15 +// OBSOLETE #define PSW_REGNUM 16 +// OBSOLETE #define CBR_REGNUM 17 +// OBSOLETE #define SPI_REGNUM 18 +// OBSOLETE #define SPU_REGNUM 19 +// OBSOLETE #define BPC_REGNUM 20 +// OBSOLETE #define PC_REGNUM 21 +// OBSOLETE #define ACCL_REGNUM 22 +// OBSOLETE #define ACCH_REGNUM 23 +// OBSOLETE +// OBSOLETE /* mvs_check REGISTER_BYTES */ +// OBSOLETE #define REGISTER_BYTES (NUM_REGS * 4) +// OBSOLETE +// OBSOLETE /* mvs_check REGISTER_VIRTUAL_TYPE */ +// OBSOLETE #define REGISTER_VIRTUAL_TYPE(REG) builtin_type_int +// OBSOLETE +// OBSOLETE /* mvs_check REGISTER_BYTE */ +// OBSOLETE #define REGISTER_BYTE(REG) ((REG) * 4) +// OBSOLETE /* mvs_check REGISTER_VIRTUAL_SIZE */ +// OBSOLETE #define REGISTER_VIRTUAL_SIZE(REG) 4 +// OBSOLETE /* mvs_check REGISTER_RAW_SIZE */ +// OBSOLETE #define REGISTER_RAW_SIZE(REG) 4 +// OBSOLETE +// OBSOLETE /* mvs_check MAX_REGISTER_VIRTUAL_SIZE */ +// OBSOLETE #define MAX_REGISTER_VIRTUAL_SIZE 4 +// OBSOLETE +// OBSOLETE /* mvs_check BREAKPOINT */ +// OBSOLETE #define BREAKPOINT {0x10, 0xf1} +// OBSOLETE +// OBSOLETE /* mvs_no_check FUNCTION_START_OFFSET */ +// OBSOLETE #define FUNCTION_START_OFFSET 0 +// OBSOLETE +// OBSOLETE /* mvs_check DECR_PC_AFTER_BREAK */ +// OBSOLETE #define DECR_PC_AFTER_BREAK 0 +// OBSOLETE +// OBSOLETE /* mvs_check INNER_THAN */ +// OBSOLETE #define INNER_THAN(lhs,rhs) ((lhs) < (rhs)) +// OBSOLETE +// OBSOLETE /* mvs_check SAVED_PC_AFTER_CALL */ +// OBSOLETE #define SAVED_PC_AFTER_CALL(fi) read_register (RP_REGNUM) +// OBSOLETE +// OBSOLETE struct frame_info; +// OBSOLETE struct frame_saved_regs; +// OBSOLETE struct type; +// OBSOLETE struct value; +// OBSOLETE +// OBSOLETE /* Define other aspects of the stack frame. +// OBSOLETE We keep the offsets of all saved registers, 'cause we need 'em a lot! +// OBSOLETE We also keep the current size of the stack frame, and whether +// OBSOLETE the frame pointer is valid (for frameless functions, and when we're +// OBSOLETE still in the prologue of a function with a frame) */ +// OBSOLETE +// OBSOLETE /* mvs_check EXTRA_FRAME_INFO */ +// OBSOLETE #define EXTRA_FRAME_INFO \ +// OBSOLETE struct frame_saved_regs fsr; \ +// OBSOLETE int framesize; \ +// OBSOLETE int using_frame_pointer; +// OBSOLETE +// OBSOLETE +// OBSOLETE extern void m32r_init_extra_frame_info (struct frame_info *fi); +// OBSOLETE /* mvs_check INIT_EXTRA_FRAME_INFO */ +// OBSOLETE #define INIT_EXTRA_FRAME_INFO(fromleaf, fi) m32r_init_extra_frame_info (fi) +// OBSOLETE /* mvs_no_check DEPRECATED_INIT_FRAME_PC */ +// OBSOLETE #define DEPRECATED_INIT_FRAME_PC init_frame_pc_noop +// OBSOLETE +// OBSOLETE extern void +// OBSOLETE m32r_frame_find_saved_regs (struct frame_info *fi, +// OBSOLETE struct frame_saved_regs *regaddr); +// 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 /* mvs_check FRAME_FIND_SAVED_REGS */ +// OBSOLETE #define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \ +// OBSOLETE m32r_frame_find_saved_regs(frame_info, &(frame_saved_regs)) +// OBSOLETE +// OBSOLETE extern CORE_ADDR m32r_frame_chain (struct frame_info *fi); +// OBSOLETE /* mvs_check FRAME_CHAIN */ +// OBSOLETE #define FRAME_CHAIN(fi) m32r_frame_chain (fi) +// OBSOLETE +// OBSOLETE extern CORE_ADDR m32r_find_callers_reg (struct frame_info *fi, int regnum); +// OBSOLETE extern CORE_ADDR m32r_frame_saved_pc (struct frame_info *); +// OBSOLETE /* mvs_check FRAME_SAVED_PC */ +// OBSOLETE #define FRAME_SAVED_PC(fi) m32r_frame_saved_pc (fi) +// OBSOLETE +// OBSOLETE /* mvs_check DEPRECATED_EXTRACT_RETURN_VALUE */ +// OBSOLETE #define DEPRECATED_EXTRACT_RETURN_VALUE(TYPE, REGBUF, VALBUF) \ +// OBSOLETE memcpy ((VALBUF), \ +// OBSOLETE (char *)(REGBUF) + REGISTER_BYTE (V0_REGNUM) + \ +// OBSOLETE ((TYPE_LENGTH (TYPE) > 4 ? 8 : 4) - TYPE_LENGTH (TYPE)), \ +// OBSOLETE TYPE_LENGTH (TYPE)) +// OBSOLETE +// OBSOLETE /* mvs_check DEPRECATED_STORE_RETURN_VALUE */ +// OBSOLETE #define DEPRECATED_STORE_RETURN_VALUE(TYPE, VALBUF) \ +// OBSOLETE deprecated_write_register_bytes(REGISTER_BYTE (V0_REGNUM) + \ +// OBSOLETE ((TYPE_LENGTH (TYPE) > 4 ? 8:4) - TYPE_LENGTH (TYPE)),\ +// OBSOLETE (VALBUF), TYPE_LENGTH (TYPE)); +// OBSOLETE +// OBSOLETE extern CORE_ADDR m32r_skip_prologue (CORE_ADDR pc); +// OBSOLETE /* mvs_check SKIP_PROLOGUE */ +// OBSOLETE #define SKIP_PROLOGUE(pc) (m32r_skip_prologue (pc)) +// OBSOLETE +// OBSOLETE /* mvs_no_check FRAME_ARGS_SKIP */ +// OBSOLETE #define FRAME_ARGS_SKIP 0 +// OBSOLETE +// OBSOLETE /* mvs_no_check FRAME_ARGS_ADDRESS */ +// OBSOLETE #define FRAME_ARGS_ADDRESS(fi) ((fi)->frame) +// OBSOLETE /* mvs_no_check FRAME_LOCALS_ADDRESS */ +// OBSOLETE #define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame) +// OBSOLETE /* mvs_no_check FRAME_NUM_ARGS */ +// OBSOLETE #define FRAME_NUM_ARGS(fi) (-1) +// OBSOLETE +// OBSOLETE extern void m32r_write_sp (CORE_ADDR val); +// OBSOLETE #define TARGET_WRITE_SP m32r_write_sp +// OBSOLETE +// OBSOLETE +// OBSOLETE +// OBSOLETE +// OBSOLETE +// OBSOLETE +// OBSOLETE /* struct passing and returning stuff */ +// OBSOLETE #define STORE_STRUCT_RETURN(STRUCT_ADDR, SP) \ +// OBSOLETE write_register (0, STRUCT_ADDR) +// OBSOLETE +// OBSOLETE extern use_struct_convention_fn m32r_use_struct_convention; +// OBSOLETE #define USE_STRUCT_CONVENTION(GCC_P, TYPE) m32r_use_struct_convention (GCC_P, TYPE) +// OBSOLETE +// OBSOLETE #define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \ +// OBSOLETE extract_address (REGBUF + REGISTER_BYTE (V0_REGNUM), \ +// OBSOLETE REGISTER_RAW_SIZE (V0_REGNUM)) +// OBSOLETE +// OBSOLETE #define REG_STRUCT_HAS_ADDR(gcc_p,type) (TYPE_LENGTH (type) > 8) +// OBSOLETE +// OBSOLETE +// OBSOLETE /* generic dummy frame stuff */ +// OBSOLETE +// OBSOLETE #define PUSH_DUMMY_FRAME generic_push_dummy_frame () +// OBSOLETE #define DEPRECATED_PC_IN_CALL_DUMMY(PC, SP, FP) generic_pc_in_call_dummy (PC, SP, FP) +// OBSOLETE +// OBSOLETE +// OBSOLETE /* target-specific dummy_frame stuff */ +// OBSOLETE +// OBSOLETE extern struct frame_info *m32r_pop_frame (struct frame_info *frame); +// OBSOLETE /* mvs_check POP_FRAME */ +// OBSOLETE #define POP_FRAME m32r_pop_frame (get_current_frame ()) +// OBSOLETE +// OBSOLETE /* mvs_no_check STACK_ALIGN */ +// OBSOLETE /* #define STACK_ALIGN(x) ((x + 3) & ~3) */ +// OBSOLETE +// OBSOLETE extern CORE_ADDR m32r_push_return_address (CORE_ADDR, CORE_ADDR); +// OBSOLETE extern CORE_ADDR m32r_push_arguments (int nargs, +// OBSOLETE struct value **args, +// OBSOLETE CORE_ADDR sp, +// OBSOLETE unsigned char struct_return, +// OBSOLETE CORE_ADDR struct_addr); +// OBSOLETE +// OBSOLETE +// OBSOLETE +// OBSOLETE /* mvs_no_check PUSH_ARGUMENTS */ +// OBSOLETE #define PUSH_ARGUMENTS(NARGS, ARGS, SP, STRUCT_RETURN, STRUCT_ADDR) \ +// OBSOLETE (m32r_push_arguments (NARGS, ARGS, SP, STRUCT_RETURN, STRUCT_ADDR)) +// OBSOLETE +// OBSOLETE #define PUSH_RETURN_ADDRESS(PC, SP) m32r_push_return_address (PC, SP) +// OBSOLETE +// OBSOLETE /* override the standard get_saved_register function with +// OBSOLETE one that takes account of generic CALL_DUMMY frames */ +// OBSOLETE #define GET_SAVED_REGISTER(raw_buffer, optimized, addrp, frame, regnum, lval) \ +// OBSOLETE deprecated_generic_get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval) +// OBSOLETE +// OBSOLETE +// OBSOLETE #define DEPRECATED_USE_GENERIC_DUMMY_FRAMES 1 +// OBSOLETE #define CALL_DUMMY {0} +// OBSOLETE #define CALL_DUMMY_LENGTH (0) +// OBSOLETE #define CALL_DUMMY_START_OFFSET (0) +// OBSOLETE #define CALL_DUMMY_BREAKPOINT_OFFSET (0) +// OBSOLETE #define FIX_CALL_DUMMY(DUMMY1, STARTADDR, FUNADDR, NARGS, ARGS, TYPE, GCCP) +// OBSOLETE #define CALL_DUMMY_LOCATION AT_ENTRY_POINT +// OBSOLETE #define CALL_DUMMY_ADDRESS() entry_point_address () diff --git a/gdb/config/m68k/nm-apollo68b.h b/gdb/config/m68k/nm-apollo68b.h deleted file mode 100644 index 75731a73127..00000000000 --- a/gdb/config/m68k/nm-apollo68b.h +++ /dev/null @@ -1,40 +0,0 @@ -/* Macro defintions for an Apollo m68k in BSD mode - Copyright 1992, 1993, 1995, 1998 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. */ - -#define FETCH_INFERIOR_REGISTERS - -/* Tell gdb that we can attach and detach other processes */ -#define ATTACH_DETACH - -#define U_REGS_OFFSET 6 - -/* This is the amount to subtract from u.u_ar0 - to get the offset in the core file of the register values. */ - -#define KERNEL_U_ADDR 0 - -#define REGISTER_U_ADDR(addr, blockend, regno) \ - (addr) = (6 + 4 * (regno)) - -/* Apollos don't really have a USER area,so trying to read it from the - * process address space will fail. It does support a read from a faked - * USER area using the "PEEKUSER" ptrace call. - */ -#define PT_READ_U 3 diff --git a/gdb/config/m68k/nm-hp300bsd.h b/gdb/config/m68k/nm-hp300bsd.h deleted file mode 100644 index e0f7a1124bf..00000000000 --- a/gdb/config/m68k/nm-hp300bsd.h +++ /dev/null @@ -1,90 +0,0 @@ -/* Parameters for Hewlett-Packard 9000/300 native support under bsd. - Copyright 1986, 1987, 1989, 1991, 1992, 1993 - 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. */ - -/* Detect whether this is 4.3 or 4.4. */ - -#include <errno.h> -#include <sys/param.h> -#ifdef BSD4_4 - -/* BSD 4.4 alpha or better */ - -/* We can attach to processes using ptrace. */ - -#define ATTACH_DETACH -#define PTRACE_ATTACH 10 -#define PTRACE_DETACH 11 - -/* The third argument of ptrace is declared as this type. */ - -#define PTRACE_ARG3_TYPE caddr_t - -/* U_REGS_OFFSET is the offset of the registers within the u area for - ptrace purposes. */ -#define U_REGS_OFFSET \ - ptrace (PT_READ_U, PIDGET (inferior_ptid), \ - (PTRACE_ARG3_TYPE) \ - (offsetof (struct user, u_kproc.kp_proc.p_md.md_regs)), 0) \ - - USRSTACK - -/* No user structure in 4.4, registers are relative to kernel stack - which is fixed. */ -#define KERNEL_U_ADDR 0xFFF00000 - -/* FIXME: Is ONE_PROCESS_WRITETEXT still true now that the kernel has - copy-on-write? It not, move it to the 4.3-specific section below - (now it is in xm-hp300bsd.h). */ - -#else - -/* This is BSD 4.3 or something like it. */ - -/* Get kernel u area address at run-time using BSD style nlist (). */ -#define KERNEL_U_ADDR_BSD - -#endif - -/* This was once broken for 4.4, but probably because we had the wrong - KERNEL_U_ADDR. */ - -/* This is a piece of magic that is given a register number REGNO - and as BLOCKEND the address in the system of the end of the user structure - and stores in ADDR the address in the kernel or core dump - of that register. */ - -#define REGISTER_U_ADDR(addr, blockend, regno) \ -{ \ - if (regno < PS_REGNUM) \ - addr = (int) &((struct frame *)(blockend))->f_regs[regno]; \ - else if (regno == PS_REGNUM) \ - addr = (int) &((struct frame *)(blockend))->f_stackadj; \ - else if (regno == PC_REGNUM) \ - addr = (int) &((struct frame *)(blockend))->f_pc; \ - else if (regno < FPC_REGNUM) \ - addr = (int) \ - &((struct user *)0)->u_pcb.pcb_fpregs.fpf_regs[((regno)-FP0_REGNUM)*3];\ - else if (regno == FPC_REGNUM) \ - addr = (int) &((struct user *)0)->u_pcb.pcb_fpregs.fpf_fpcr; \ - else if (regno == FPS_REGNUM) \ - addr = (int) &((struct user *)0)->u_pcb.pcb_fpregs.fpf_fpsr; \ - else \ - addr = (int) &((struct user *)0)->u_pcb.pcb_fpregs.fpf_fpiar; \ -} diff --git a/gdb/config/m68k/tm-apollo68b.h b/gdb/config/m68k/tm-apollo68b.h deleted file mode 100644 index f0b7488f2e0..00000000000 --- a/gdb/config/m68k/tm-apollo68b.h +++ /dev/null @@ -1,59 +0,0 @@ -/* Parameters for execution on Apollo 68k running BSD. - Copyright 1986, 1987, 1989, 1991, 1993, 1994, 1998, 2003 - Free Software Foundation, Inc. - Contributed by Cygnus Support. - - 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. */ - -/* Apollos use vector 0xb for the breakpoint vector */ - -#define BPT_VECTOR 0xb - -#include "m68k/tm-m68k.h" - -/* These are the jmp_buf registers I could guess. There are 13 registers - * in the buffer. There are 8 data registers, 6 general address registers, - * the Frame Pointer, the Stack Pointer, the PC and the SR in the chip. I would - * guess that 12 is the SR, but we don't need that anyway. 0 and 1 have - * me stumped. 4 appears to be a5 for some unknown reason. If you care - * about this, disassemble setjmp to find out. But don't do it with gdb :) - */ - -#undef JB_SP -#undef JB_FP -#undef JB_PC -#undef JB_D0 -#undef JB_D1 -#undef JB_D2 -#undef JB_D3 -#undef JB_D4 -#undef JB_D5 - -#define JB_SP 2 -#define JB_FP 3 -#define JB_PC 5 -#define JB_D0 6 -#define JB_D1 7 -#define JB_D2 8 -#define JB_D3 9 -#define JB_D4 10 -#define JB_D5 11 - -/* How to decide if we're in a shared library function. (Probably a wrong - definintion inherited from the VxWorks config file). */ -#define IN_SOLIB_CALL_TRAMPOLINE(pc, name) (name && strcmp(name, "<end_of_program>") == 0) diff --git a/gdb/config/m68k/tm-es1800.h b/gdb/config/m68k/tm-es1800.h deleted file mode 100644 index 46e4a641f08..00000000000 --- a/gdb/config/m68k/tm-es1800.h +++ /dev/null @@ -1,60 +0,0 @@ -/* Parameters for execution on ES-1800 emulator for 68000. - The code was originally written by Johan Holmberg TT/SJ Ericsson Telecom - AB and later modified by Johan Henriksson TT/SJ. It was adapted to GDB 4.0 - by Jan Norden TX/DK. - Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1996, 2000 - Free Software Foundation, Inc. - - This file is part of GDB. - - GDB 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 1, or (at your option) - any later version. - - GDB 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. */ - -#define GDBINIT_FILENAME ".esgdbinit" - -#define DEFAULT_PROMPT "(esgdb) " - -#include "m68k/tm-m68k.h" - -/* Longjmp stuff borrowed from sun3 configuration. Don't know if correct. - FIXME. */ -/* Offsets (in target ints) into jmp_buf. Not defined by Sun, but at least - documented in a comment in <machine/setjmp.h>! */ - -#define JB_ELEMENT_SIZE 4 - -#define JB_ONSSTACK 0 -#define JB_SIGMASK 1 -#define JB_SP 2 -#define JB_PC 3 -#define JB_PSL 4 -#define JB_D2 5 -#define JB_D3 6 -#define JB_D4 7 -#define JB_D5 8 -#define JB_D6 9 -#define JB_D7 10 -#define JB_A2 11 -#define JB_A3 12 -#define JB_A4 13 -#define JB_A5 14 -#define JB_A6 15 - -/* Figure out where the longjmp will land. Slurp the args out of the stack. - We expect the first arg to be a pointer to the jmp_buf structure from which - we extract the pc (JB_PC) that we will land at. The pc is copied into ADDR. - This routine returns true on success */ - -#define GET_LONGJMP_TARGET(ADDR) m68k_get_longjmp_target(ADDR) diff --git a/gdb/config/m68k/tm-hp300bsd.h b/gdb/config/m68k/tm-hp300bsd.h deleted file mode 100644 index 0a033873f81..00000000000 --- a/gdb/config/m68k/tm-hp300bsd.h +++ /dev/null @@ -1,64 +0,0 @@ -/* Parameters for target machine Hewlett-Packard 9000/300, running bsd. - Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1996 - 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. */ - -/* Configuration file for HP9000/300 series machine running BSD, - including Utah, Mt. Xinu or Berkeley variants. This is NOT for HP-UX. - Problems to hpbsd-bugs@cs.utah.edu. */ - -/* GCC is the only compiler used on this OS. So get this right even if - the code which detects gcc2_compiled. is still broken. */ - -#define BELIEVE_PCC_PROMOTION 1 - -/* Define BPT_VECTOR if it is different than the default. - This is the vector number used by traps to indicate a breakpoint. - - For hp300bsd the normal breakpoint vector is 0x2 (for debugging via - ptrace); for remote kernel debugging the breakpoint vector is 0xf. */ - -#define BPT_VECTOR 0x2 -#define REMOTE_BPT_VECTOR 0xf - -#define TARGET_NBPG 4096 - -/* For 4.4 this would be 2, but it is OK for us to detect an area a - bit bigger than necessary. This way the same gdb binary can target - either 4.3 or 4.4. */ - -#define TARGET_UPAGES 3 - -/* On the HP300, sigtramp is in the u area. Gak! User struct is not - mapped to the same virtual address in user/kernel address space - (hence STACK_END_ADDR as opposed to KERNEL_U_ADDR). This tests - for the whole u area, since we don't necessarily have hp300bsd - include files around. */ - -/* For 4.4, it is actually right 20 bytes *before* STACK_END_ADDR, so - include that in the area we test for. */ - -#define SIGTRAMP_START(pc) (STACK_END_ADDR - 20) -#define SIGTRAMP_END(pc) (STACK_END_ADDR + TARGET_UPAGES * TARGET_NBPG) - -/* Address of end of stack space. */ - -#define STACK_END_ADDR 0xfff00000 - -#include "m68k/tm-m68k.h" diff --git a/gdb/config/m68k/tm-mac.h b/gdb/config/m68k/tm-mac.h deleted file mode 100644 index 270f353297d..00000000000 --- a/gdb/config/m68k/tm-mac.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Target-dependent definitions for Mac running MacOS. - Copyright 1994, 1995 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. */ - -#include "m68k/tm-m68k.h" diff --git a/gdb/config/m68k/xm-apollo68b.h b/gdb/config/m68k/xm-apollo68b.h deleted file mode 100644 index d77509d5a0d..00000000000 --- a/gdb/config/m68k/xm-apollo68b.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Macro definitions for an Apollo m68k in BSD mode - Copyright 1992, 2001 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. */ - -#define ALIGN_STACK_ON_STARTUP diff --git a/gdb/config/mn10200/mn10200.mt b/gdb/config/mn10200/mn10200.mt index c85a2fb6884..be374ec4619 100644 --- a/gdb/config/mn10200/mn10200.mt +++ b/gdb/config/mn10200/mn10200.mt @@ -1,6 +1,6 @@ -# Target: Matsushita mn10200 -TDEPFILES= mn10200-tdep.o -TM_FILE= tm-mn10200.h - -SIM_OBS = remote-sim.o -SIM = ../sim/mn10200/libsim.a +# OBSOLETE # Target: Matsushita mn10200 +# OBSOLETE TDEPFILES= mn10200-tdep.o +# OBSOLETE TM_FILE= tm-mn10200.h +# OBSOLETE +# OBSOLETE SIM_OBS = remote-sim.o +# OBSOLETE SIM = ../sim/mn10200/libsim.a diff --git a/gdb/config/mn10200/tm-mn10200.h b/gdb/config/mn10200/tm-mn10200.h index beb063e2c37..511c1365939 100644 --- a/gdb/config/mn10200/tm-mn10200.h +++ b/gdb/config/mn10200/tm-mn10200.h @@ -1,214 +1,214 @@ -/* Parameters for execution on a Matsushita mn10200 processor. - - Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software - Foundation, Inc. - - Contributed by Geoffrey Noer <noer@cygnus.com> - - 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. */ - -/* FIXME: cagney/2001-03-01: The below macros refer to functions - declared in "regcache.h". The ``correct fix'' is to convert those - macros into functions. */ -#include "regcache.h" -#include "symtab.h" /* For namespace_enum. */ -#include "symfile.h" /* For entry_point_address(). */ - -/* ints are only 16bits on the mn10200. */ -#undef TARGET_INT_BIT -#define TARGET_INT_BIT 16 - -/* The mn10200 doesn't support long long types. */ -#undef TARGET_LONG_LONG_BIT -#define TARGET_LONG_LONG_BIT 32 - -/* The mn10200 doesn't support double or long double either. */ -#undef TARGET_DOUBLE_BIT -#undef TARGET_LONG_DOUBLE_BIT -#define TARGET_DOUBLE_BIT 32 -#define TARGET_LONG_DOUBLE_BIT 32 - -/* Not strictly correct, but the machine independent code is not - ready to handle any of the basic sizes not being a power of two. */ -#undef TARGET_PTR_BIT -#define TARGET_PTR_BIT 32 - -/* The mn10200 really has 24 bit registers but the simulator reads/writes - them as 32bit values, so we claim they're 32bits each. This may have - to be tweaked if the Matsushita emulator/board really deals with them - as 24bits each. */ -#define REGISTER_SIZE 4 - -#define MAX_REGISTER_RAW_SIZE REGISTER_SIZE -#define NUM_REGS 11 - -#define REGISTER_BYTES (NUM_REGS * REGISTER_SIZE) - -#define REGISTER_NAMES \ -{ "d0", "d1", "d2", "d3", "a0", "a1", "a2", "sp", \ - "pc", "mdr", "psw"} - -#define FP_REGNUM 6 -#define SP_REGNUM 7 -#define PC_REGNUM 8 -#define MDR_REGNUM 9 -#define PSW_REGNUM 10 - -/* Treat the registers as 32bit values. */ -#define REGISTER_VIRTUAL_TYPE(REG) builtin_type_long - -#define REGISTER_BYTE(REG) ((REG) * REGISTER_SIZE) -#define REGISTER_VIRTUAL_SIZE(REG) REGISTER_SIZE -#define REGISTER_RAW_SIZE(REG) REGISTER_SIZE - -#define MAX_REGISTER_VIRTUAL_SIZE REGISTER_SIZE - -/* The breakpoint instruction must be the same size as te smallest - instruction in the instruction set. - - The Matsushita mn10x00 processors have single byte instructions - so we need a single byte breakpoint. Matsushita hasn't defined - one, so we defined it ourselves. - - 0xff is the only available single byte insn left on the mn10200. */ -#define BREAKPOINT {0xff} - -#define FUNCTION_START_OFFSET 0 - -#define DECR_PC_AFTER_BREAK 0 - -/* Stacks grow the normal way. */ -#define INNER_THAN(lhs,rhs) ((lhs) < (rhs)) - -#define SAVED_PC_AFTER_CALL(frame) \ - (read_memory_integer (read_register (SP_REGNUM), REGISTER_SIZE) & 0xffffff) - -struct frame_info; -struct frame_saved_regs; -struct type; -struct value; - -#define EXTRA_FRAME_INFO struct frame_saved_regs fsr; int status; int stack_size; - -extern void mn10200_init_extra_frame_info (struct frame_info *); -#define INIT_EXTRA_FRAME_INFO(fromleaf, fi) mn10200_init_extra_frame_info (fi) -#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)) - -extern void mn10200_frame_find_saved_regs (struct frame_info *, - struct frame_saved_regs *); -#define FRAME_FIND_SAVED_REGS(fi, regaddr) regaddr = fi->fsr - -extern CORE_ADDR mn10200_frame_chain (struct frame_info *); -#define FRAME_CHAIN(fi) mn10200_frame_chain (fi) - -extern CORE_ADDR mn10200_find_callers_reg (struct frame_info *, int); -extern CORE_ADDR mn10200_frame_saved_pc (struct frame_info *); -#define FRAME_SAVED_PC(FI) (mn10200_frame_saved_pc (FI)) - -/* 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. */ - -#define DEPRECATED_EXTRACT_RETURN_VALUE(TYPE, REGBUF, VALBUF) \ - { \ - if (TYPE_LENGTH (TYPE) > 8) \ - internal_error (__FILE__, __LINE__, "failed internal consistency check"); \ - else if (TYPE_LENGTH (TYPE) > 2 && TYPE_CODE (TYPE) != TYPE_CODE_PTR) \ - { \ - memcpy (VALBUF, REGBUF + REGISTER_BYTE (0), 2); \ - memcpy (VALBUF + 2, REGBUF + REGISTER_BYTE (1), 2); \ - } \ - else if (TYPE_CODE (TYPE) == TYPE_CODE_PTR)\ - { \ - memcpy (VALBUF, REGBUF + REGISTER_BYTE (4), TYPE_LENGTH (TYPE)); \ - } \ - else \ - { \ - memcpy (VALBUF, REGBUF + REGISTER_BYTE (0), TYPE_LENGTH (TYPE)); \ - } \ - } - -#define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \ - extract_address (REGBUF + REGISTER_BYTE (4), \ - REGISTER_RAW_SIZE (4)) - -#define DEPRECATED_STORE_RETURN_VALUE(TYPE, VALBUF) \ - { \ - if (TYPE_LENGTH (TYPE) > 8) \ - internal_error (__FILE__, __LINE__, "failed internal consistency check"); \ - else if (TYPE_LENGTH (TYPE) > 2 && TYPE_CODE (TYPE) != TYPE_CODE_PTR) \ - { \ - deprecated_write_register_bytes (REGISTER_BYTE (0), VALBUF, 2); \ - deprecated_write_register_bytes (REGISTER_BYTE (1), VALBUF + 2, 2); \ - } \ - else if (TYPE_CODE (TYPE) == TYPE_CODE_PTR)\ - { \ - deprecated_write_register_bytes (REGISTER_BYTE (4), VALBUF, TYPE_LENGTH (TYPE)); \ - } \ - else \ - { \ - deprecated_write_register_bytes (REGISTER_BYTE (0), VALBUF, TYPE_LENGTH (TYPE)); \ - } \ - } - - -extern CORE_ADDR mn10200_store_struct_return (CORE_ADDR addr, CORE_ADDR sp); -#define STORE_STRUCT_RETURN(STRUCT_ADDR, SP) \ - (SP) = mn10200_store_struct_return (STRUCT_ADDR, SP) - -extern CORE_ADDR mn10200_skip_prologue (CORE_ADDR); -#define SKIP_PROLOGUE(pc) (mn10200_skip_prologue (pc)) - -#define FRAME_ARGS_SKIP 0 - -#define FRAME_ARGS_ADDRESS(fi) (get_frame_base (fi)) -#define FRAME_LOCALS_ADDRESS(fi) (get_frame_base (fi)) -#define FRAME_NUM_ARGS(fi) (-1) - -extern void mn10200_pop_frame (struct frame_info *); -#define POP_FRAME mn10200_pop_frame (get_current_frame ()) - -#define DEPRECATED_USE_GENERIC_DUMMY_FRAMES 1 -#define CALL_DUMMY {0} -#define CALL_DUMMY_START_OFFSET (0) -#define CALL_DUMMY_BREAKPOINT_OFFSET (0) -#define CALL_DUMMY_LOCATION AT_ENTRY_POINT -#define FIX_CALL_DUMMY(DUMMY, START, FUNADDR, NARGS, ARGS, TYPE, GCCP) -#define CALL_DUMMY_ADDRESS() entry_point_address () - -extern CORE_ADDR mn10200_push_return_address (CORE_ADDR, CORE_ADDR); -#define PUSH_RETURN_ADDRESS(PC, SP) mn10200_push_return_address (PC, SP) - -#define PUSH_DUMMY_FRAME generic_push_dummy_frame () - -extern CORE_ADDR mn10200_push_arguments (int, struct value **, CORE_ADDR, - unsigned char, CORE_ADDR); -#define PUSH_ARGUMENTS(NARGS, ARGS, SP, STRUCT_RETURN, STRUCT_ADDR) \ - (mn10200_push_arguments (NARGS, ARGS, SP, STRUCT_RETURN, STRUCT_ADDR)) - -#define DEPRECATED_PC_IN_CALL_DUMMY(PC, SP, FP) generic_pc_in_call_dummy (PC, SP, FP) - -#define REG_STRUCT_HAS_ADDR(gcc_p,TYPE) \ - (TYPE_LENGTH (TYPE) > 8) - -extern use_struct_convention_fn mn10200_use_struct_convention; -#define USE_STRUCT_CONVENTION(GCC_P, TYPE) mn10200_use_struct_convention (GCC_P, TYPE) - -/* Define this for Wingdb */ -#define TARGET_MN10200 +// OBSOLETE /* Parameters for execution on a Matsushita mn10200 processor. +// OBSOLETE +// OBSOLETE Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software +// OBSOLETE Foundation, Inc. +// OBSOLETE +// OBSOLETE Contributed by Geoffrey Noer <noer@cygnus.com> +// 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 /* FIXME: cagney/2001-03-01: The below macros refer to functions +// OBSOLETE declared in "regcache.h". The ``correct fix'' is to convert those +// OBSOLETE macros into functions. */ +// OBSOLETE #include "regcache.h" +// OBSOLETE #include "symtab.h" /* For namespace_enum. */ +// OBSOLETE #include "symfile.h" /* For entry_point_address(). */ +// OBSOLETE +// OBSOLETE /* ints are only 16bits on the mn10200. */ +// OBSOLETE #undef TARGET_INT_BIT +// OBSOLETE #define TARGET_INT_BIT 16 +// OBSOLETE +// OBSOLETE /* The mn10200 doesn't support long long types. */ +// OBSOLETE #undef TARGET_LONG_LONG_BIT +// OBSOLETE #define TARGET_LONG_LONG_BIT 32 +// OBSOLETE +// OBSOLETE /* The mn10200 doesn't support double or long double either. */ +// OBSOLETE #undef TARGET_DOUBLE_BIT +// OBSOLETE #undef TARGET_LONG_DOUBLE_BIT +// OBSOLETE #define TARGET_DOUBLE_BIT 32 +// OBSOLETE #define TARGET_LONG_DOUBLE_BIT 32 +// OBSOLETE +// OBSOLETE /* Not strictly correct, but the machine independent code is not +// OBSOLETE ready to handle any of the basic sizes not being a power of two. */ +// OBSOLETE #undef TARGET_PTR_BIT +// OBSOLETE #define TARGET_PTR_BIT 32 +// OBSOLETE +// OBSOLETE /* The mn10200 really has 24 bit registers but the simulator reads/writes +// OBSOLETE them as 32bit values, so we claim they're 32bits each. This may have +// OBSOLETE to be tweaked if the Matsushita emulator/board really deals with them +// OBSOLETE as 24bits each. */ +// OBSOLETE #define REGISTER_SIZE 4 +// OBSOLETE +// OBSOLETE #define MAX_REGISTER_RAW_SIZE REGISTER_SIZE +// OBSOLETE #define NUM_REGS 11 +// OBSOLETE +// OBSOLETE #define REGISTER_BYTES (NUM_REGS * REGISTER_SIZE) +// OBSOLETE +// OBSOLETE #define REGISTER_NAMES \ +// OBSOLETE { "d0", "d1", "d2", "d3", "a0", "a1", "a2", "sp", \ +// OBSOLETE "pc", "mdr", "psw"} +// OBSOLETE +// OBSOLETE #define FP_REGNUM 6 +// OBSOLETE #define SP_REGNUM 7 +// OBSOLETE #define PC_REGNUM 8 +// OBSOLETE #define MDR_REGNUM 9 +// OBSOLETE #define PSW_REGNUM 10 +// OBSOLETE +// OBSOLETE /* Treat the registers as 32bit values. */ +// OBSOLETE #define REGISTER_VIRTUAL_TYPE(REG) builtin_type_long +// OBSOLETE +// OBSOLETE #define REGISTER_BYTE(REG) ((REG) * REGISTER_SIZE) +// OBSOLETE #define REGISTER_VIRTUAL_SIZE(REG) REGISTER_SIZE +// OBSOLETE #define REGISTER_RAW_SIZE(REG) REGISTER_SIZE +// OBSOLETE +// OBSOLETE #define MAX_REGISTER_VIRTUAL_SIZE REGISTER_SIZE +// OBSOLETE +// OBSOLETE /* The breakpoint instruction must be the same size as te smallest +// OBSOLETE instruction in the instruction set. +// OBSOLETE +// OBSOLETE The Matsushita mn10x00 processors have single byte instructions +// OBSOLETE so we need a single byte breakpoint. Matsushita hasn't defined +// OBSOLETE one, so we defined it ourselves. +// OBSOLETE +// OBSOLETE 0xff is the only available single byte insn left on the mn10200. */ +// OBSOLETE #define BREAKPOINT {0xff} +// OBSOLETE +// OBSOLETE #define FUNCTION_START_OFFSET 0 +// OBSOLETE +// OBSOLETE #define DECR_PC_AFTER_BREAK 0 +// OBSOLETE +// OBSOLETE /* Stacks grow the normal way. */ +// OBSOLETE #define INNER_THAN(lhs,rhs) ((lhs) < (rhs)) +// OBSOLETE +// OBSOLETE #define SAVED_PC_AFTER_CALL(frame) \ +// OBSOLETE (read_memory_integer (read_register (SP_REGNUM), REGISTER_SIZE) & 0xffffff) +// OBSOLETE +// OBSOLETE struct frame_info; +// OBSOLETE struct frame_saved_regs; +// OBSOLETE struct type; +// OBSOLETE struct value; +// OBSOLETE +// OBSOLETE #define EXTRA_FRAME_INFO struct frame_saved_regs fsr; int status; int stack_size; +// OBSOLETE +// OBSOLETE extern void mn10200_init_extra_frame_info (struct frame_info *); +// OBSOLETE #define INIT_EXTRA_FRAME_INFO(fromleaf, fi) mn10200_init_extra_frame_info (fi) +// 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 extern void mn10200_frame_find_saved_regs (struct frame_info *, +// OBSOLETE struct frame_saved_regs *); +// OBSOLETE #define FRAME_FIND_SAVED_REGS(fi, regaddr) regaddr = fi->fsr +// OBSOLETE +// OBSOLETE extern CORE_ADDR mn10200_frame_chain (struct frame_info *); +// OBSOLETE #define FRAME_CHAIN(fi) mn10200_frame_chain (fi) +// OBSOLETE +// OBSOLETE extern CORE_ADDR mn10200_find_callers_reg (struct frame_info *, int); +// OBSOLETE extern CORE_ADDR mn10200_frame_saved_pc (struct frame_info *); +// OBSOLETE #define FRAME_SAVED_PC(FI) (mn10200_frame_saved_pc (FI)) +// 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. */ +// OBSOLETE +// OBSOLETE #define DEPRECATED_EXTRACT_RETURN_VALUE(TYPE, REGBUF, VALBUF) \ +// OBSOLETE { \ +// OBSOLETE if (TYPE_LENGTH (TYPE) > 8) \ +// OBSOLETE internal_error (__FILE__, __LINE__, "failed internal consistency check"); \ +// OBSOLETE else if (TYPE_LENGTH (TYPE) > 2 && TYPE_CODE (TYPE) != TYPE_CODE_PTR) \ +// OBSOLETE { \ +// OBSOLETE memcpy (VALBUF, REGBUF + REGISTER_BYTE (0), 2); \ +// OBSOLETE memcpy (VALBUF + 2, REGBUF + REGISTER_BYTE (1), 2); \ +// OBSOLETE } \ +// OBSOLETE else if (TYPE_CODE (TYPE) == TYPE_CODE_PTR)\ +// OBSOLETE { \ +// OBSOLETE memcpy (VALBUF, REGBUF + REGISTER_BYTE (4), TYPE_LENGTH (TYPE)); \ +// OBSOLETE } \ +// OBSOLETE else \ +// OBSOLETE { \ +// OBSOLETE memcpy (VALBUF, REGBUF + REGISTER_BYTE (0), TYPE_LENGTH (TYPE)); \ +// OBSOLETE } \ +// OBSOLETE } +// OBSOLETE +// OBSOLETE #define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \ +// OBSOLETE extract_address (REGBUF + REGISTER_BYTE (4), \ +// OBSOLETE REGISTER_RAW_SIZE (4)) +// OBSOLETE +// OBSOLETE #define DEPRECATED_STORE_RETURN_VALUE(TYPE, VALBUF) \ +// OBSOLETE { \ +// OBSOLETE if (TYPE_LENGTH (TYPE) > 8) \ +// OBSOLETE internal_error (__FILE__, __LINE__, "failed internal consistency check"); \ +// OBSOLETE else if (TYPE_LENGTH (TYPE) > 2 && TYPE_CODE (TYPE) != TYPE_CODE_PTR) \ +// OBSOLETE { \ +// OBSOLETE deprecated_write_register_bytes (REGISTER_BYTE (0), VALBUF, 2); \ +// OBSOLETE deprecated_write_register_bytes (REGISTER_BYTE (1), VALBUF + 2, 2); \ +// OBSOLETE } \ +// OBSOLETE else if (TYPE_CODE (TYPE) == TYPE_CODE_PTR)\ +// OBSOLETE { \ +// OBSOLETE deprecated_write_register_bytes (REGISTER_BYTE (4), VALBUF, TYPE_LENGTH (TYPE)); \ +// OBSOLETE } \ +// OBSOLETE else \ +// OBSOLETE { \ +// OBSOLETE deprecated_write_register_bytes (REGISTER_BYTE (0), VALBUF, TYPE_LENGTH (TYPE)); \ +// OBSOLETE } \ +// OBSOLETE } +// OBSOLETE +// OBSOLETE +// OBSOLETE extern CORE_ADDR mn10200_store_struct_return (CORE_ADDR addr, CORE_ADDR sp); +// OBSOLETE #define STORE_STRUCT_RETURN(STRUCT_ADDR, SP) \ +// OBSOLETE (SP) = mn10200_store_struct_return (STRUCT_ADDR, SP) +// OBSOLETE +// OBSOLETE extern CORE_ADDR mn10200_skip_prologue (CORE_ADDR); +// OBSOLETE #define SKIP_PROLOGUE(pc) (mn10200_skip_prologue (pc)) +// OBSOLETE +// OBSOLETE #define FRAME_ARGS_SKIP 0 +// OBSOLETE +// OBSOLETE #define FRAME_ARGS_ADDRESS(fi) (get_frame_base (fi)) +// OBSOLETE #define FRAME_LOCALS_ADDRESS(fi) (get_frame_base (fi)) +// OBSOLETE #define FRAME_NUM_ARGS(fi) (-1) +// OBSOLETE +// OBSOLETE extern void mn10200_pop_frame (struct frame_info *); +// OBSOLETE #define POP_FRAME mn10200_pop_frame (get_current_frame ()) +// OBSOLETE +// OBSOLETE #define DEPRECATED_USE_GENERIC_DUMMY_FRAMES 1 +// OBSOLETE #define CALL_DUMMY {0} +// OBSOLETE #define CALL_DUMMY_START_OFFSET (0) +// OBSOLETE #define CALL_DUMMY_BREAKPOINT_OFFSET (0) +// OBSOLETE #define CALL_DUMMY_LOCATION AT_ENTRY_POINT +// OBSOLETE #define FIX_CALL_DUMMY(DUMMY, START, FUNADDR, NARGS, ARGS, TYPE, GCCP) +// OBSOLETE #define CALL_DUMMY_ADDRESS() entry_point_address () +// OBSOLETE +// OBSOLETE extern CORE_ADDR mn10200_push_return_address (CORE_ADDR, CORE_ADDR); +// OBSOLETE #define PUSH_RETURN_ADDRESS(PC, SP) mn10200_push_return_address (PC, SP) +// OBSOLETE +// OBSOLETE #define PUSH_DUMMY_FRAME generic_push_dummy_frame () +// OBSOLETE +// OBSOLETE extern CORE_ADDR mn10200_push_arguments (int, struct value **, CORE_ADDR, +// OBSOLETE unsigned char, CORE_ADDR); +// OBSOLETE #define PUSH_ARGUMENTS(NARGS, ARGS, SP, STRUCT_RETURN, STRUCT_ADDR) \ +// OBSOLETE (mn10200_push_arguments (NARGS, ARGS, SP, STRUCT_RETURN, STRUCT_ADDR)) +// OBSOLETE +// OBSOLETE #define DEPRECATED_PC_IN_CALL_DUMMY(PC, SP, FP) generic_pc_in_call_dummy (PC, SP, FP) +// OBSOLETE +// OBSOLETE #define REG_STRUCT_HAS_ADDR(gcc_p,TYPE) \ +// OBSOLETE (TYPE_LENGTH (TYPE) > 8) +// OBSOLETE +// OBSOLETE extern use_struct_convention_fn mn10200_use_struct_convention; +// OBSOLETE #define USE_STRUCT_CONVENTION(GCC_P, TYPE) mn10200_use_struct_convention (GCC_P, TYPE) +// OBSOLETE +// OBSOLETE /* Define this for Wingdb */ +// OBSOLETE #define TARGET_MN10200 diff --git a/gdb/config/pa/hpux1020.mt b/gdb/config/pa/hpux1020.mt deleted file mode 100644 index a856d8c1d1d..00000000000 --- a/gdb/config/pa/hpux1020.mt +++ /dev/null @@ -1,3 +0,0 @@ -# Target: HP PA-RISC running hpux -TDEPFILES= hppa-tdep.o remote-pa.o somsolib.o corelow.o -TM_FILE= tm-hppah.h diff --git a/gdb/config/pa/hpux11.mt b/gdb/config/pa/hpux11.mt deleted file mode 100644 index 405f73a791a..00000000000 --- a/gdb/config/pa/hpux11.mt +++ /dev/null @@ -1,3 +0,0 @@ -# Target: HP PA-RISC running HPUX 11.00 -TDEPFILES= hppa-tdep.o remote-pa.o somsolib.o -TM_FILE= tm-hppah.h diff --git a/gdb/config/pa/hpux11w.mt b/gdb/config/pa/hpux11w.mt deleted file mode 100644 index 4064d20fa75..00000000000 --- a/gdb/config/pa/hpux11w.mt +++ /dev/null @@ -1,3 +0,0 @@ -# Target: HP PA-RISC running HPUX 11.00 -TDEPFILES= hppa-tdep.o remote-pa.o -TM_FILE= tm-hppah.h diff --git a/gdb/config/pa/tm-hppa.h b/gdb/config/pa/tm-hppa.h index 1b9e770f446..dc23a631b35 100644 --- a/gdb/config/pa/tm-hppa.h +++ b/gdb/config/pa/tm-hppa.h @@ -302,13 +302,13 @@ extern int hppa_register_byte (int reg_nr); /* Largest value REGISTER_RAW_SIZE can have. */ #if !GDB_MULTI_ARCH -#define MAX_REGISTER_RAW_SIZE 4 +#define DEPRECATED_MAX_REGISTER_RAW_SIZE 4 #endif /* Largest value REGISTER_VIRTUAL_SIZE can have. */ #if !GDB_MULTI_ARCH -#define MAX_REGISTER_VIRTUAL_SIZE 8 +#define DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE 8 #endif #if !GDB_MULTI_ARCH @@ -383,7 +383,7 @@ extern int hppa_cannot_store_register (int regnum); #endif #if !GDB_MULTI_ARCH -#define INIT_EXTRA_FRAME_INFO(fromleaf, frame) hppa_init_extra_frame_info (fromleaf, frame) +#define DEPRECATED_INIT_EXTRA_FRAME_INFO(fromleaf, frame) hppa_init_extra_frame_info (fromleaf, frame) extern void hppa_init_extra_frame_info (int, struct frame_info *); #endif @@ -453,11 +453,11 @@ extern void hppa_frame_find_saved_regs (struct frame_info *, /* Push an empty stack frame, to record the current PC, etc. */ /* FIXME: brobecker 2002-12-26. This macro definition takes advantage - of the fact that PUSH_DUMMY_FRAME is called within a function where - a variable inf_status of type struct inferior_status * is defined. - Ugh! Until this is fixed, we will not be able to move to multiarch - partial. */ -#define PUSH_DUMMY_FRAME hppa_push_dummy_frame (inf_status) + of the fact that DEPRECATED_PUSH_DUMMY_FRAME is called within a + function where a variable inf_status of type struct inferior_status + * is defined. Ugh! Until this is fixed, we will not be able to + move to multiarch partial. */ +#define DEPRECATED_PUSH_DUMMY_FRAME hppa_push_dummy_frame (inf_status) extern void hppa_push_dummy_frame (struct inferior_status *); /* Discard from the stack the innermost frame, diff --git a/gdb/config/pa/tm-hppa64.h b/gdb/config/pa/tm-hppa64.h index 775055f4a1f..e6177b05943 100644 --- a/gdb/config/pa/tm-hppa64.h +++ b/gdb/config/pa/tm-hppa64.h @@ -51,8 +51,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Largest value REGISTER_RAW_SIZE can have. */ -#undef MAX_REGISTER_RAW_SIZE -#define MAX_REGISTER_RAW_SIZE 8 +#undef DEPRECATED_MAX_REGISTER_RAW_SIZE +#define DEPRECATED_MAX_REGISTER_RAW_SIZE 8 /* Total amount of space needed to store our copies of the machine's register state, the array `registers'. */ diff --git a/gdb/config/powerpc/gdbserve.mt b/gdb/config/powerpc/gdbserve.mt deleted file mode 100644 index 77284077db6..00000000000 --- a/gdb/config/powerpc/gdbserve.mt +++ /dev/null @@ -1,3 +0,0 @@ -# Target: GDBSERVE.NLM running on a Power-PC -TDEPFILES= ppc.o -CPU_FILE= ppc diff --git a/gdb/config/powerpc/ppcle-eabi.mt b/gdb/config/powerpc/ppcle-eabi.mt deleted file mode 100644 index ee05f163797..00000000000 --- a/gdb/config/powerpc/ppcle-eabi.mt +++ /dev/null @@ -1,3 +0,0 @@ -# Target: PowerPC running eabi in little endian mode -TDEPFILES= rs6000-tdep.o monitor.o dsrec.o ppcbug-rom.o ppc-bdm.o ocd.o ppc-sysv-tdep.o solib.o solib-svr4.o -TM_FILE= tm-ppcle-eabi.h diff --git a/gdb/config/powerpc/ppcle-sim.mt b/gdb/config/powerpc/ppcle-sim.mt deleted file mode 100644 index 31cb9006a30..00000000000 --- a/gdb/config/powerpc/ppcle-sim.mt +++ /dev/null @@ -1,6 +0,0 @@ -# Target: PowerPC running eabi in little endian mode under the simulator -TDEPFILES= rs6000-tdep.o monitor.o dsrec.o ppcbug-rom.o ppc-bdm.o ocd.o ppc-sysv-tdep.o solib.o solib-svr4.o -TM_FILE= tm-ppcle-eabi.h - -SIM_OBS = remote-sim.o -SIM = ../sim/ppc/libsim.a diff --git a/gdb/config/powerpc/tm-ppc-sim.h b/gdb/config/powerpc/tm-ppc-sim.h deleted file mode 100644 index 9fa11861e1a..00000000000 --- a/gdb/config/powerpc/tm-ppc-sim.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Macro definitions for Power PC running embedded ABI under the simulator. - Copyright 1995 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. */ - -#ifndef TM_PPC_SIM_H -#define TM_PPC_SIM_H - -#include "powerpc/tm-ppc-eabi.h" - -#endif /* TM_PPC_SIM_H */ diff --git a/gdb/config/s390/nm-linux.h b/gdb/config/s390/nm-linux.h index 3846579923f..727a66ebeaf 100644 --- a/gdb/config/s390/nm-linux.h +++ b/gdb/config/s390/nm-linux.h @@ -51,7 +51,7 @@ extern int kernel_u_size (void); /* WATCHPOINT SPECIFIC STUFF */ #define TARGET_HAS_HARDWARE_WATCHPOINTS -#define HAVE_CONTINUABLE_WATCHPOINT +#define HAVE_CONTINUABLE_WATCHPOINT 1 #define target_insert_watchpoint(addr, len, type) \ s390_insert_watchpoint (PIDGET (inferior_ptid), addr, len, type) diff --git a/gdb/config/sparc/nm-sun4sol2.h b/gdb/config/sparc/nm-sun4sol2.h index 3cad417de2a..8ad58a145e0 100644 --- a/gdb/config/sparc/nm-sun4sol2.h +++ b/gdb/config/sparc/nm-sun4sol2.h @@ -51,7 +51,7 @@ /* When a hardware watchpoint fires off the PC will be left at the instruction following the one which caused the watchpoint. It will *NOT* be necessary for GDB to step over the watchpoint. */ -#define HAVE_CONTINUABLE_WATCHPOINT +#define HAVE_CONTINUABLE_WATCHPOINT 1 extern int procfs_stopped_by_watchpoint (ptid_t); #define STOPPED_BY_WATCHPOINT(W) \ diff --git a/gdb/config/sparc/sp64sim.mt b/gdb/config/sparc/sp64sim.mt deleted file mode 100644 index a9c5ac94cd4..00000000000 --- a/gdb/config/sparc/sp64sim.mt +++ /dev/null @@ -1,13 +0,0 @@ -# Target: SPARC64 (with simulator) -# solib.o and procfs.o taken out for now. We don't have shared libraries yet, -# and the elf version requires procfs.o but the a.out version doesn't. -# Then again, having procfs.o in a target makefile fragment seems wrong. -TDEPFILES = sparc-tdep.o -TM_FILE= tm-sp64.h - -# Need gcc for long long support. -CC = gcc - -MH_CFLAGS = -I${srcdir}/../sim/sp64 -SIM_OBS = remote-sim.o -SIM = ../sim/sp64/libsim.a diff --git a/gdb/config/sparc/tm-sp64.h b/gdb/config/sparc/tm-sp64.h index e8f565692c0..691e38f4e1e 100644 --- a/gdb/config/sparc/tm-sp64.h +++ b/gdb/config/sparc/tm-sp64.h @@ -400,14 +400,14 @@ extern void sp64_extract_return_value (struct type *, char[], char *, int); /* Largest value REGISTER_RAW_SIZE can have. */ /* tm-sparc.h defines this as 8, but play it safe. */ -#undef MAX_REGISTER_RAW_SIZE -#define MAX_REGISTER_RAW_SIZE 8 +#undef DEPRECATED_MAX_REGISTER_RAW_SIZE +#define DEPRECATED_MAX_REGISTER_RAW_SIZE 8 /* Largest value REGISTER_VIRTUAL_SIZE can have. */ /* tm-sparc.h defines this as 8, but play it safe. */ -#undef MAX_REGISTER_VIRTUAL_SIZE -#define MAX_REGISTER_VIRTUAL_SIZE 8 +#undef DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE +#define DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE 8 /* Return the GDB type object for the "standard" data type of data in register N. */ diff --git a/gdb/config/sparc/tm-sp64sim.h b/gdb/config/sparc/tm-sp64sim.h deleted file mode 100644 index bb1263b40db..00000000000 --- a/gdb/config/sparc/tm-sp64sim.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Macro definitions for GDB with the SPARC64 Simulator. - Copyright 1993, 2000 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. */ - -/* ??? This file is based on tm-spc-em.h. Our contents are probably bogus - but it's a good start. */ - -#include "sparc/tm-sp64.h" -#include "config/tm-sunos.h" - -/* Offsets into jmp_buf. Not defined by Sun, but at least documented in a - comment in <machine/setjmp.h>! */ - -#define JB_ELEMENT_SIZE 8 /* Size of each element in jmp_buf */ - -#define JB_ONSSTACK 0 -#define JB_SIGMASK 1 -#define JB_SP 2 -#define JB_PC 3 -#define JB_NPC 4 -#define JB_PSR 5 -#define JB_G1 6 -#define JB_O0 7 -#define JB_WBCNT 8 - -/* Figure out where the longjmp will land. We expect that we have just entered - longjmp and haven't yet setup the stack frame, so the args are still in the - output regs. %o0 (O0_REGNUM) points at the jmp_buf structure from which we - extract the pc (JB_PC) that we will land at. The pc is copied into ADDR. - This routine returns true on success */ - -extern int get_longjmp_target (CORE_ADDR *); - -#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR) diff --git a/gdb/config/sparc/tm-sparc.h b/gdb/config/sparc/tm-sparc.h index 05495ed4886..20d5b376929 100644 --- a/gdb/config/sparc/tm-sparc.h +++ b/gdb/config/sparc/tm-sparc.h @@ -227,11 +227,11 @@ extern int sparc_intreg_size (void); /* Largest value REGISTER_RAW_SIZE can have. */ -#define MAX_REGISTER_RAW_SIZE 8 +#define DEPRECATED_MAX_REGISTER_RAW_SIZE 8 /* Largest value REGISTER_VIRTUAL_SIZE can have. */ -#define MAX_REGISTER_VIRTUAL_SIZE 8 +#define DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE 8 /* Return the GDB type object for the "standard" data type of data in register N. */ @@ -466,9 +466,9 @@ void sparc_get_saved_register (char *raw_buffer, sparc_get_saved_register (RAW_BUFFER, OPTIMIZED, ADDRP, \ FRAME, REGNUM, LVAL) -#define FRAME_INIT_SAVED_REGS(FP) /*no-op */ +#define DEPRECATED_FRAME_INIT_SAVED_REGS(FP) /*no-op */ -#define INIT_EXTRA_FRAME_INFO(FROMLEAF, FCI) \ +#define DEPRECATED_INIT_EXTRA_FRAME_INFO(FROMLEAF, FCI) \ sparc_init_extra_frame_info (FROMLEAF, FCI) extern void sparc_init_extra_frame_info (int, struct frame_info *); @@ -509,8 +509,13 @@ extern CORE_ADDR sparc_frame_saved_pc (struct frame_info *); sparc_print_extra_frame_info (FI) extern void sparc_print_extra_frame_info (struct frame_info *); -/* INIT_EXTRA_FRAME_INFO needs the PC to detect flat frames. */ +/* DEPRECATED_INIT_EXTRA_FRAME_INFO needs the PC to detect flat + frames. */ +/* NOTE: cagney/2002-12-08: Add local declaration of + init_frame_pc_noop() because it isn't possible to include + "arch-utils.h" here. */ +extern CORE_ADDR init_frame_pc_noop (int fromleaf, struct frame_info *prev); #define DEPRECATED_INIT_FRAME_PC(FROMLEAF, PREV) (init_frame_pc_noop (FROMLEAF, PREV)) #define DEPRECATED_INIT_FRAME_PC_FIRST(FROMLEAF, PREV) \ ((FROMLEAF) ? SAVED_PC_AFTER_CALL ((PREV)->next) : \ @@ -578,18 +583,18 @@ extern void sparc_print_extra_frame_info (struct frame_info *); * I understand everything in this picture except what the space * between fp - 0xe0 and fp - 0x140 is used for. Oh, and I don't * understand why there's a large chunk of CALL_DUMMY that never gets - * executed (its function is superceeded by PUSH_DUMMY_FRAME; they - * are designed to do the same thing). + * executed (its function is superceeded by + * DEPRECATED_PUSH_DUMMY_FRAME; they are designed to do the same + * thing). * - * PUSH_DUMMY_FRAME saves the registers above sp' and pushes the - * register file stack down one. + * DEPRECATED_PUSH_DUMMY_FRAME saves the registers above sp' and + * pushes the * register file stack down one. * * call_function then writes CALL_DUMMY, pushes the args onto the * stack, and adjusts the stack pointer. * * run_stack_dummy then starts execution (in the middle of - * CALL_DUMMY, as directed by call_function). - */ + * CALL_DUMMY, as directed by call_function). */ #ifndef CALL_DUMMY /* This sequence of words is the instructions @@ -677,7 +682,7 @@ void sparc_fix_call_dummy (char *dummy, CORE_ADDR pc, CORE_ADDR fun, /* Push an empty stack frame, to record the current PC, etc. */ -#define PUSH_DUMMY_FRAME sparc_push_dummy_frame () +#define DEPRECATED_PUSH_DUMMY_FRAME sparc_push_dummy_frame () #define POP_FRAME sparc_pop_frame () void sparc_push_dummy_frame (void); diff --git a/gdb/config/z8k/tm-z8k.h b/gdb/config/z8k/tm-z8k.h index 86cc4a4b59d..59b6ecbad7b 100644 --- a/gdb/config/z8k/tm-z8k.h +++ b/gdb/config/z8k/tm-z8k.h @@ -1,292 +1,292 @@ -/* 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)) - -/* 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) - - -/* 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 +// 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 +// 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 diff --git a/gdb/config/z8k/z8k.mt b/gdb/config/z8k/z8k.mt index cb8d04376e7..3eb6c7bf4ca 100644 --- a/gdb/config/z8k/z8k.mt +++ b/gdb/config/z8k/z8k.mt @@ -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 |