diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-04-25 22:10:09 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-04-25 22:10:09 +0000 |
commit | de732108dddc7254366a437fae458ecac7d45b84 (patch) | |
tree | d173fea0e1c74ffccdea7d6235fde816391f9e5d /gdb/core-aout.c | |
parent | ef783a7dfcaf475fef1fc46bc987bfd5e8b66839 (diff) | |
download | fsf-binutils-gdb-de732108dddc7254366a437fae458ecac7d45b84.zip fsf-binutils-gdb-de732108dddc7254366a437fae458ecac7d45b84.tar.gz fsf-binutils-gdb-de732108dddc7254366a437fae458ecac7d45b84.tar.bz2 |
* core-aout.c: Delete file.
* Makefile.in (ALLDEPFILES): Remove core-aout.c.
(core-aout.o): Delete rule.
* gdbcore.h (kernel_u_addr, KERNEL_U_ADDR): Remove.
* config/alpha/nm-linux.h (U_REGS_OFFSET): Remove.
* arm-linux-nat.c (arm_linux_kernel_u_size): Remove.
* config/arm/nm-linux.h (U_REGS_OFFSET, KERNEL_U_SIZE,
KERNEL_U_ADDR): Remove.
* i386-linux-nat.c (register_u_addr, kernel_u_size): Remove.
(cannot_fetch_register, cannot_store_register): Remove.
(fetch_register): Inline cannot_fetch_register and register_addr.
(store_register): Inline cannot_store_register and register_addr.
* config/i386/linux.mh (NATDEPFILES): Remove core-aout.o.
* config/i386/nm-linux.h (KERNEL_U_SIZE, KERNEL_U_ADDR,
REGISTER_U_ADDR, CANNOT_FETCH_REGISTER, CANNOT_STORE_REGISTER):
Remove.
* m68klinux-nat.c (m68k_linux_register_u_addr, kernel_u_size): Remove.
(fetch_register): Inline register_addr.
(store_register): Inline register_addr.
* config/m68k/linux.mh (NATDEPFILES): Remove core-aout.o.
* config/m68k/nm-linux.h (KERNEL_U_SIZE, KERNEL_U_ADDR,
U_REGS_OFFSET, REGISTER_U_ADDR): Remove.
* config/mips/nm-irix5.h (REGISTER_U_ADDR): Remove.
* config/mips/nm-linux.h (KERNEL_U_SIZE, U_REGS_OFFSET,
REGISTER_U_ADDR): Remove.
* hppa-linux-nat.c (register_addr): Rename to ...
(hppa_linux_register_addr): ... this. Make static.
(fetch_register, store_register): Adapt callers.
* config/pa/nm-linux.h (U_REGS_OFFSET): Remove.
* ppc-linux-nat.c (kernel_u_size): Remove.
* config/powerpc/nm-linux.h (KERNEL_U_SIZE, KERNEL_U_ADDR): Remove.
* vax-nat.c (vax_kernel_u_addr, vax_register_u_addr): Make static.
* config/vax/vax.mh (NATDEPFILES): Remove core-aout.o.
(NAT_FILE): Remove.
* config/vax/nm-vax.h: Delete file.
Diffstat (limited to 'gdb/core-aout.c')
-rw-r--r-- | gdb/core-aout.c | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/gdb/core-aout.c b/gdb/core-aout.c deleted file mode 100644 index 873896a..0000000 --- a/gdb/core-aout.c +++ /dev/null @@ -1,144 +0,0 @@ -/* Extract registers from a "standard" core file, for GDB. - Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, - 1999, 2000, 2001, 2007 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., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ - -/* Typically used on systems that have a.out format executables. - corefile.c is supposed to contain the more machine-independent - aspects of reading registers from core files, while this file is - more machine specific. */ - -#include "defs.h" - -#ifdef HAVE_PTRACE_H -#include <ptrace.h> -#else -#ifdef HAVE_SYS_PTRACE_H -#include <sys/ptrace.h> -#endif -#endif - -#include <sys/types.h> -#include <sys/param.h> -#include "gdbcore.h" -#include "value.h" -#include "regcache.h" - -/* These are needed on various systems to expand REGISTER_U_ADDR. */ -#include "gdb_dirent.h" -#include <sys/file.h> -#include "gdb_stat.h" -#include <sys/user.h> - -#ifndef CORE_REGISTER_ADDR -#define CORE_REGISTER_ADDR(regno, regptr) register_addr(regno, regptr) -#endif /* CORE_REGISTER_ADDR */ - -#ifdef NEED_SYS_CORE_H -#include <sys/core.h> -#endif - -static void fetch_core_registers (char *, unsigned, int, CORE_ADDR); - -void _initialize_core_aout (void); - -/* Extract the register values out of the core file and store - them where `read_register' will find them. - - CORE_REG_SECT points to the register values themselves, read into memory. - CORE_REG_SIZE is the size of that area. - WHICH says which set of registers we are handling (0 = int, 2 = float - on machines where they are discontiguous). - REG_ADDR is the offset from u.u_ar0 to the register values relative to - core_reg_sect. This is used with old-fashioned core files to - locate the registers in a large upage-plus-stack ".reg" section. - Original upage address X is at location core_reg_sect+x+reg_addr. - */ - -static void -fetch_core_registers (char *core_reg_sect, unsigned core_reg_size, int which, - CORE_ADDR reg_addr) -{ - int regno; - CORE_ADDR addr; - int bad_reg = -1; - CORE_ADDR reg_ptr = -reg_addr; /* Original u.u_ar0 is -reg_addr. */ - int numregs = NUM_REGS; - - /* If u.u_ar0 was an absolute address in the core file, relativize it now, - so we can use it as an offset into core_reg_sect. When we're done, - "register 0" will be at core_reg_sect+reg_ptr, and we can use - CORE_REGISTER_ADDR to offset to the other registers. If this is a modern - core file without a upage, reg_ptr will be zero and this is all a big - NOP. */ - if (reg_ptr > core_reg_size) - reg_ptr -= KERNEL_U_ADDR; - - for (regno = 0; regno < numregs; regno++) - { - addr = CORE_REGISTER_ADDR (regno, reg_ptr); - if (addr >= core_reg_size - && bad_reg < 0) - bad_reg = regno; - else - regcache_raw_supply (current_regcache, regno, core_reg_sect + addr); - } - - if (bad_reg >= 0) - error (_("Register %s not found in core file."), REGISTER_NAME (bad_reg)); -} - - -#ifdef REGISTER_U_ADDR - -/* 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 (int regno, CORE_ADDR blockend) -{ - CORE_ADDR addr; - - if (regno < 0 || regno >= NUM_REGS) - error (_("Invalid register number %d."), regno); - - REGISTER_U_ADDR (addr, blockend, regno); - - return addr; -} - -#endif /* REGISTER_U_ADDR */ - - -/* Register that we are able to handle aout (trad-core) file formats. */ - -static struct core_fns aout_core_fns = -{ - bfd_target_unknown_flavour, /* core_flavour */ - default_check_format, /* check_format */ - default_core_sniffer, /* core_sniffer */ - fetch_core_registers, /* core_read_registers */ - NULL /* next */ -}; - -void -_initialize_core_aout (void) -{ - deprecated_add_core_fns (&aout_core_fns); -} |