diff options
author | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:34:07 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:34:07 +0000 |
commit | 071ea11e85eb9d529cc5eb3d35f6247466a21b99 (patch) | |
tree | 5deda65b8d7b04d1f4cbc534c3206d328e1267ec /gdb/delta68-nat.c | |
parent | 1730ec6b1848f0f32154277f788fb29f88d8475b (diff) | |
download | gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.zip gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.tar.gz gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.tar.bz2 |
Initial creation of sourceware repository
Diffstat (limited to 'gdb/delta68-nat.c')
-rw-r--r-- | gdb/delta68-nat.c | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/gdb/delta68-nat.c b/gdb/delta68-nat.c deleted file mode 100644 index 3995b23..0000000 --- a/gdb/delta68-nat.c +++ /dev/null @@ -1,91 +0,0 @@ -/* Functions specific to running gdb native on a Motorola Delta Series sysV68. - Copyright (C) 1993, 1997-98, 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 "defs.h" -#include <sys/signal.h> /* for MAXSIG in sys/user.h */ -#include <sys/types.h> /* for ushort in sys/dir.h */ -#include <sys/dir.h> /* for struct direct in sys/user.h */ -#include <sys/user.h> - -#include <nlist.h> - -#if !defined (offsetof) -#define offsetof(TYPE, MEMBER) ((unsigned long) &((TYPE *)0)->MEMBER) -#endif - -/* Return the address in the core dump or inferior of register REGNO. - BLOCKEND is the address of the end of the user structure. */ - -CORE_ADDR -register_addr (regno, blockend) - int regno; - CORE_ADDR blockend; -{ - static int sysv68reg[] = - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, -1, 15, 16 }; - - if (regno >= 0 && regno < sizeof(sysv68reg) / sizeof(sysv68reg[0])) - return blockend + sysv68reg[regno] * 4; - else if (regno < FPC_REGNUM) - return offsetof (struct user, u_fpu.regs.reg[regno - FP0_REGNUM][0]); - else if (regno == FPC_REGNUM) - return offsetof (struct user, u_fpu.regs.control); - else if (regno == FPS_REGNUM) - return offsetof (struct user, u_fpu.regs.status); - else if (regno == FPI_REGNUM) - return offsetof (struct user, u_fpu.regs.iaddr); - else - { - fprintf_unfiltered (gdb_stderr, "\ -Internal error: invalid register number %d in REGISTER_U_ADDR\n", - regno); - return blockend; - } -} - -CORE_ADDR kernel_u_addr; - -/* Read the value of the u area from the kernel. */ -void -_initialize_delta68_nat () -{ - struct nlist nl[2]; - - nl[0].n_name = "u"; - nl[1].n_name = NULL; - if (nlist ("/sysV68", nl) == 0 && nl[0].n_scnum != 0) - kernel_u_addr = nl[0].n_value; - else - { - perror ("Cannot get kernel u area address"); - exit (1); - } -} - -clear_insn_cache () -{ -#ifdef MCT_TEXT /* in sys/signal.h on sysV68 R3V7.1 */ - memctl(0, 4096, MCT_TEXT); -#endif -} - -kernel_u_size () -{ - return sizeof (struct user); -} |