binutils-gdb/gdb/gcore.h
Simon Marchi 695fd5ec12 gdb: make find_memory_region_ftype a function_view
Make it a function_view and remove the `void *` parameter.  Convert the
callers (in gcore.c) to use lambda functions that capture `obfd`.

The target_debug_print_find_memory_region_ftype debug printer isn't
terribly useful, but I don't see a good way to print a function_view
with what we have right now.

Since find_memory_region_ftype needs to be seen by both gdbarch.h and
target.h, I chose to move the typedef to a new file
(find-memory-region.h), that is included by both.

Change-Id: I9d24d31da31e5fe0439124cec1a9757ad226b222
Approved-By: Tom Tromey <tom@tromey.com>
2026-03-19 10:06:28 -04:00

40 lines
1.4 KiB
C

/* Support for reading/writing gcore files.
Copyright (C) 2009-2026 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 <http://www.gnu.org/licenses/>. */
#ifndef GDB_GCORE_H
#define GDB_GCORE_H
#include "find-memory-region.h"
#include "gdb_bfd.h"
struct thread_info;
extern gdb_bfd_ref_ptr create_gcore_bfd (const char *filename);
extern void write_gcore_file (bfd *obfd);
extern bool objfile_find_memory_regions (struct target_ops *self,
find_memory_region_ftype func);
/* 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 /* GDB_GCORE_H */