X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Fgdbcore.h;h=4b36d6968aa535b0b2fedd803d348ebf3f918726;hb=37cc8bfee6166ea05f1fa2e7d9f0f4d90663b7fc;hp=734e7dfc760338baf969e60fda0baa53f3a2cae3;hpb=1f602b35ffde92822ea8a9e7b40ee5e836889c7c;p=binutils-gdb.git diff --git a/gdb/gdbcore.h b/gdb/gdbcore.h index 734e7dfc760..4b36d6968aa 100644 --- a/gdb/gdbcore.h +++ b/gdb/gdbcore.h @@ -1,14 +1,14 @@ /* Machine independent variables that describe the core file under GDB. - Copyright 1986, 1987, 1989, 1990, 1991, 1992, 1993, 1994, 1995, - 1996, 1997, 1998, 1999, 2000, 2001, 2004 Free Software Foundation, - Inc. + Copyright (C) 1986, 1987, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, + 1997, 1998, 1999, 2000, 2001, 2004, 2007, 2008, 2009, 2010 + 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 + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -17,9 +17,7 @@ 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. */ + along with this program. If not, see . */ /* Interface routines for core, executable, etc. */ @@ -27,8 +25,10 @@ #define GDBCORE_H 1 struct type; +struct regcache; #include "bfd.h" +#include "exec.h" /* Return the name of the executable file as a string. ERR nonzero means get error if there is none specified; @@ -40,36 +40,31 @@ extern char *get_exec_file (int err); extern int have_core_file_p (void); -/* Read "memory data" from whatever target or inferior we have. - Returns zero if successful, errno value if not. EIO is used for - address out of bounds. If breakpoints are inserted, returns shadow - contents, not the breakpoints themselves. From breakpoint.c. */ - -/* NOTE: cagney/2004-06-10: Code reading from a live inferior can use - the get_frame_memory methods, code reading from an exec can use the - target methods. */ - -extern int deprecated_read_memory_nobpt (CORE_ADDR memaddr, char *myaddr, - unsigned len); - /* Report a memory error with error(). */ extern void memory_error (int status, CORE_ADDR memaddr); /* Like target_read_memory, but report an error if can't read. */ -extern void read_memory (CORE_ADDR memaddr, char *myaddr, int len); +extern void read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, int len); + +/* Like target_read_stack, but report an error if can't read. */ + +extern void read_stack (CORE_ADDR memaddr, gdb_byte *myaddr, int len); /* Read an integer from debugged memory, given address and number of bytes. */ -extern LONGEST read_memory_integer (CORE_ADDR memaddr, int len); -extern int safe_read_memory_integer (CORE_ADDR memaddr, int len, LONGEST *return_value); +extern LONGEST read_memory_integer (CORE_ADDR memaddr, + int len, enum bfd_endian byte_order); +extern int safe_read_memory_integer (CORE_ADDR memaddr, int len, + enum bfd_endian byte_order, LONGEST *return_value); /* Read an unsigned integer from debugged memory, given address and number of bytes. */ -extern ULONGEST read_memory_unsigned_integer (CORE_ADDR memaddr, int len); +extern ULONGEST read_memory_unsigned_integer (CORE_ADDR memaddr, + int len, enum bfd_endian byte_order); /* Read a null-terminated string from the debuggee's memory, given address, * a buffer into which to place the string, and the maximum available space */ @@ -86,36 +81,32 @@ CORE_ADDR read_memory_typed_address (CORE_ADDR addr, struct type *type); byteswapping, alignment, different sizes for host vs. target types, etc. */ -extern void write_memory (CORE_ADDR memaddr, char *myaddr, int len); +extern void write_memory (CORE_ADDR memaddr, const gdb_byte *myaddr, int len); /* Store VALUE at ADDR in the inferior as a LEN-byte unsigned integer. */ extern void write_memory_unsigned_integer (CORE_ADDR addr, int len, - ULONGEST value); + enum bfd_endian byte_order, + ULONGEST value); /* Store VALUE at ADDR in the inferior as a LEN-byte unsigned integer. */ extern void write_memory_signed_integer (CORE_ADDR addr, int len, + enum bfd_endian byte_order, LONGEST value); - -extern void generic_search (int len, char *data, char *mask, - CORE_ADDR startaddr, int increment, - CORE_ADDR lorange, CORE_ADDR hirange, - CORE_ADDR * addr_found, char *data_found); /* Hook for `exec_file_command' command to call. */ extern void (*deprecated_exec_file_display_hook) (char *filename); /* Hook for "file_command", which is more useful than above - (because it is invoked AFTER symbols are read, not before) */ + (because it is invoked AFTER symbols are read, not before). */ extern void (*deprecated_file_changed_hook) (char *filename); extern void specify_exec_file_hook (void (*hook) (char *filename)); -/* Binary File Diddlers for the exec and core files */ +/* Binary File Diddler for the core file. */ extern bfd *core_bfd; -extern bfd *exec_bfd; /* Whether to open exec and core files read-only or read-write. */ @@ -123,25 +114,12 @@ extern int write_files; extern void core_file_command (char *filename, int from_tty); -extern void exec_open (char *filename, int from_tty); - extern void exec_file_attach (char *filename, int from_tty); extern void exec_file_clear (int from_tty); extern void validate_files (void); -extern CORE_ADDR register_addr (int regno, CORE_ADDR blockend); - -#if !defined (KERNEL_U_ADDR) -extern CORE_ADDR kernel_u_addr; -#define KERNEL_U_ADDR kernel_u_addr -#endif - -/* The target vector for core files. */ - -extern struct target_ops core_ops; - /* The current default bfd target. */ extern char *gnutarget; @@ -176,8 +154,8 @@ struct core_fns int (*core_sniffer) (struct core_fns *, bfd *); - /* Extract the register values out of the core file and store them where - `read_register' will find them. + /* Extract the register values out of the core file and supply them + into REGCACHE. CORE_REG_SECT points to the register values themselves, read into memory. @@ -197,7 +175,8 @@ struct core_fns registers in a large upage-plus-stack ".reg" section. Original upage address X is at location core_reg_sect+x+reg_addr. */ - void (*core_read_registers) (char *core_reg_sect, + void (*core_read_registers) (struct regcache *regcache, + char *core_reg_sect, unsigned core_reg_size, int which, CORE_ADDR reg_addr); @@ -216,4 +195,6 @@ extern void deprecated_add_core_fns (struct core_fns *cf); extern int default_core_sniffer (struct core_fns *cf, bfd * abfd); extern int default_check_format (bfd * abfd); +struct target_section *deprecated_core_resize_section_table (int num_added); + #endif /* !defined (GDBCORE_H) */