X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fgdbcore.h;h=3f8179144b685a5bbdd566eefb19fd58ac4ff85a;hb=2117c711ae07700adb57ea5b5ca61e4c32d7e3d2;hp=776ce9f92bc5fb6e84395be2936954139c2caf6b;hpb=0b30217134add051e159a192066a1e568ebd837f;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/gdbcore.h b/gdb/gdbcore.h index 776ce9f92b..3f8179144b 100644 --- a/gdb/gdbcore.h +++ b/gdb/gdbcore.h @@ -1,7 +1,6 @@ /* Machine independent variables that describe the core file under GDB. - Copyright (C) 1986-1987, 1989-2001, 2004, 2007-2012 Free Software - Foundation, Inc. + Copyright (C) 1986-2014 Free Software Foundation, Inc. This file is part of GDB. @@ -28,6 +27,7 @@ struct regcache; #include "bfd.h" #include "exec.h" +#include "target.h" /* Return the name of the executable file as a string. ERR nonzero means get error if there is none specified; @@ -41,15 +41,25 @@ extern int have_core_file_p (void); /* Report a memory error with error(). */ -extern void memory_error (int status, CORE_ADDR memaddr); +extern void memory_error (enum target_xfer_status status, CORE_ADDR memaddr); + +/* The string 'memory_error' would use as exception message. Space + for the result is malloc'd, caller must free. */ + +extern char *memory_error_message (enum target_xfer_status err, + struct gdbarch *gdbarch, CORE_ADDR memaddr); /* Like target_read_memory, but report an error if can't read. */ -extern void read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, int len); +extern void read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t 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); +extern void read_stack (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len); + +/* Like target_read_code, but report an error if can't read. */ + +extern void read_code (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len); /* Read an integer from debugged memory, given address and number of bytes. */ @@ -67,6 +77,19 @@ extern ULONGEST read_memory_unsigned_integer (CORE_ADDR memaddr, int len, enum bfd_endian byte_order); +/* Read an integer from debugged code memory, given address, + number of bytes, and byte order for code. */ + +extern LONGEST read_code_integer (CORE_ADDR memaddr, int len, + enum bfd_endian byte_order); + +/* Read an unsigned integer from debugged code memory, given address, + number of bytes, and byte order for code. */ + +extern ULONGEST read_code_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. */ @@ -83,7 +106,14 @@ 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, const gdb_byte *myaddr, int len); +extern void write_memory (CORE_ADDR memaddr, const gdb_byte *myaddr, + ssize_t len); + +/* Same as write_memory, but notify 'memory_changed' observers. */ + +extern void write_memory_with_notification (CORE_ADDR memaddr, + const bfd_byte *myaddr, + ssize_t 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, @@ -199,6 +229,4 @@ 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) */