This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 1/3] Move core_bfd to program space
- From: Pedro Alves <palves at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Thu, 3 May 2018 17:22:32 +0100
- Subject: [PATCH 1/3] Move core_bfd to program space
- References: <20180503162234.15371-1-palves@redhat.com>
From: Tom Tromey <tromey@redhat.com>
This moves the core_bfd global to be a field of the program space. It
then replaces core_bfd with a macro to avoid a massive patch -- the
same approach taken for various other program space fields.
This is a basic transformation for multi-target work.
yyyy-mm-dd Tom Tromey <tromey@redhat.com>
Pedro Alves <tromey@redhat.com>
* corefile.c (core_bfd): Remove.
* gdbcore.h (core_bfd): Now a macro.
* progspace.h (struct program_space) <cbfd>: New field.
---
gdb/corefile.c | 4 ----
gdb/gdbcore.h | 2 +-
gdb/progspace.h | 3 +++
3 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/gdb/corefile.c b/gdb/corefile.c
index 114de83640..e0c7540140 100644
--- a/gdb/corefile.c
+++ b/gdb/corefile.c
@@ -49,10 +49,6 @@ static hook_type *exec_file_extra_hooks; /* Array of additional
hooks. */
static int exec_file_hook_count = 0; /* Size of array. */
-/* Binary file diddling handle for the core file. */
-
-bfd *core_bfd = NULL;
-
/* Backward compatability with old way of specifying core files. */
diff --git a/gdb/gdbcore.h b/gdb/gdbcore.h
index 401c213d48..d06ccc3507 100644
--- a/gdb/gdbcore.h
+++ b/gdb/gdbcore.h
@@ -133,7 +133,7 @@ extern void specify_exec_file_hook (void (*hook) (const char *filename));
/* Binary File Diddler for the core file. */
-extern bfd *core_bfd;
+#define core_bfd (current_program_space->cbfd)
/* corelow.c target. It is never NULL after GDB initialization. */
diff --git a/gdb/progspace.h b/gdb/progspace.h
index 67c0a240da..835fcfdd5d 100644
--- a/gdb/progspace.h
+++ b/gdb/progspace.h
@@ -157,6 +157,9 @@ struct program_space
It needs to be freed by xfree. It is not NULL iff EBFD is not NULL. */
char *pspace_exec_filename = NULL;
+ /* Binary file diddling handle for the core file. */
+ bfd *cbfd = NULL;
+
/* The address space attached to this program space. More than one
program space may be bound to the same address space. In the
traditional unix-like debugging scenario, this will usually
--
2.14.3