/* Support for reading/writing gcore files. Copyright (C) 2009-2021 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 3 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, see . */ #if !defined (GCORE_H) #define GCORE_H 1 #include "gdb_bfd.h" #include "gdbsupport/gdb_signals.h" struct gdbarch; struct thread_info; extern gdb_bfd_ref_ptr create_gcore_bfd (const char *filename); extern void write_gcore_file (bfd *obfd); extern int objfile_find_memory_regions (struct target_ops *self, find_memory_region_ftype func, void *obfd); /* Add content to *NOTE_DATA (and update *NOTE_SIZE) to describe the registers of thread INFO. Report the thread as having stopped with STOP_SIGNAL. The core file is being written to OFD, and GDBARCH is the architecture for which the core file is being generated. */ extern void gcore_build_thread_register_notes (struct gdbarch *gdbarch, struct thread_info *info, gdb_signal stop_signal, bfd *obfd, gdb::unique_xmalloc_ptr *note_data, int *note_size); /* Find the signalled thread. In case there's more than one signalled thread, prefer the current thread, if it is signalled. If no thread was signalled, default to the current thread, unless it has exited, in which case return NULL. */ extern thread_info *gcore_find_signalled_thread (); #endif /* GCORE_H */