X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Fgdbcore.h;h=7b18e5e93f8f32900176876cbd81c4a0c4637a58;hb=387e00f3b3e6ea3719f144d7090c1a242174be4d;hp=401c213d4824ec6c22c4dd6c3a5ca31a3b0a4ebf;hpb=d9f719f1adb653ab40a55e4c1b8c300215b400ff;p=binutils-gdb.git diff --git a/gdb/gdbcore.h b/gdb/gdbcore.h index 401c213d482..7b18e5e93f8 100644 --- a/gdb/gdbcore.h +++ b/gdb/gdbcore.h @@ -1,6 +1,6 @@ /* Machine independent variables that describe the core file under GDB. - Copyright (C) 1986-2018 Free Software Foundation, Inc. + Copyright (C) 1986-2022 Free Software Foundation, Inc. This file is part of GDB. @@ -87,12 +87,6 @@ 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. */ - -extern void read_memory_string (CORE_ADDR, char *, int); - /* Read the pointer of type TYPE at ADDR, and return the address it represents. */ @@ -112,13 +106,13 @@ extern void write_memory_with_notification (CORE_ADDR memaddr, /* Store VALUE at ADDR in the inferior as a LEN-byte unsigned integer. */ extern void write_memory_unsigned_integer (CORE_ADDR addr, int len, - enum bfd_endian byte_order, + 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); + enum bfd_endian byte_order, + LONGEST value); /* Hook for `exec_file_command' command to call. */ @@ -133,15 +127,11 @@ extern void specify_exec_file_hook (void (*hook) (const char *filename)); /* Binary File Diddler for the core file. */ -extern bfd *core_bfd; - -/* corelow.c target. It is never NULL after GDB initialization. */ - -extern struct target_ops *the_core_target; +#define core_bfd (current_program_space->cbfd.get ()) /* Whether to open exec and core files read-only or read-write. */ -extern int write_files; +extern bool write_files; /* Open and set up the core file bfd. */ @@ -161,75 +151,17 @@ extern void exec_file_locate_attach (int pid, int defer_bp_reset, int from_tty); extern void validate_files (void); +/* Give the user a message if the current exec file does not match the exec + file determined from the target. In case of mismatch, ask the user + if the exec file determined from target must be loaded. */ +extern void validate_exec_file (int from_tty); + /* The current default bfd target. */ -extern char *gnutarget; +extern const char *gnutarget; extern void set_gnutarget (const char *); -/* Structure to keep track of core register reading functions for - various core file types. */ - -struct core_fns - { - - /* BFD flavour that a core file handler is prepared to read. This - can be used by the handler's core tasting function as a first - level filter to reject BFD's that don't have the right - flavour. */ - - enum bfd_flavour core_flavour; - - /* Core file handler function to call to recognize corefile - formats that BFD rejects. Some core file format just don't fit - into the BFD model, or may require other resources to identify - them, that simply aren't available to BFD (such as symbols from - another file). Returns nonzero if the handler recognizes the - format, zero otherwise. */ - - int (*check_format) (bfd *); - - /* Core file handler function to call to ask if it can handle a - given core file format or not. Returns zero if it can't, - nonzero otherwise. */ - - int (*core_sniffer) (struct core_fns *, bfd *); - - /* 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. - - CORE_REG_SIZE is the size of that area. - - WHICH says which set of registers we are handling: - 0 --- integer registers - 2 --- floating-point registers, on machines where they are - discontiguous - 3 --- extended floating-point registers, on machines where - these are present in yet a third area. (GNU/Linux uses - this to get at the SSE registers.) - - 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. */ - - void (*core_read_registers) (struct regcache *regcache, - char *core_reg_sect, - unsigned core_reg_size, - int which, CORE_ADDR reg_addr); - - /* Finds the next struct core_fns. They are allocated and - initialized in whatever module implements the functions pointed - to; an initializer calls deprecated_add_core_fns to add them to - the global chain. */ - - struct core_fns *next; - - }; - /* Build either a single-thread or multi-threaded section name for PTID. @@ -273,10 +205,4 @@ private: std::string m_storage; }; -/* NOTE: cagney/2004-04-05: Replaced by "regset.h" and - regset_from_core_section(). */ -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); - #endif /* !defined (GDBCORE_H) */