This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] remove using_exec_ops global
- From: Tom Tromey <tromey at redhat dot com>
- To: gdb-patches at sourceware dot org
- Cc: Tom Tromey <tromey at redhat dot com>
- Date: Fri, 18 Jul 2014 10:25:03 -0600
- Subject: [PATCH] remove using_exec_ops global
- Authentication-results: sourceware.org; auth=none
This removes the using_exec_ops global from exec.c, in favor of
querying the target stack directly using target_is_pushed. This is
more in keeping with other code in gdb, and is also more future-proof
as it is more multi-target-ready.
Built and regtested on x86-64 Fedora 20.
2014-07-18 Tom Tromey <tromey@redhat.com>
* exec.c (using_exec_ops): Remove.
(exec_close_1): Update. Remove extraneous block, reindent.
(add_target_sections): Use target_is_pushed.
---
gdb/ChangeLog | 6 ++++++
gdb/exec.c | 32 +++++++++++---------------------
2 files changed, 17 insertions(+), 21 deletions(-)
diff --git a/gdb/exec.c b/gdb/exec.c
index 7ba2720..8b6f588 100644
--- a/gdb/exec.c
+++ b/gdb/exec.c
@@ -63,9 +63,6 @@ void _initialize_exec (void);
static struct target_ops exec_ops;
-/* True if the exec target is pushed on the stack. */
-static int using_exec_ops;
-
/* Whether to open exec and core files read-only or read-write. */
int write_files = 0;
@@ -115,22 +112,18 @@ exec_close (void)
static void
exec_close_1 (struct target_ops *self)
{
- using_exec_ops = 0;
+ struct program_space *ss;
+ struct cleanup *old_chain;
+ old_chain = save_current_program_space ();
+ ALL_PSPACES (ss)
{
- struct program_space *ss;
- struct cleanup *old_chain;
-
- old_chain = save_current_program_space ();
- ALL_PSPACES (ss)
- {
- set_current_program_space (ss);
- clear_section_table (current_target_sections);
- exec_close ();
- }
-
- do_cleanups (old_chain);
+ set_current_program_space (ss);
+ clear_section_table (current_target_sections);
+ exec_close ();
}
+
+ do_cleanups (old_chain);
}
void
@@ -445,11 +438,8 @@ add_target_sections (void *owner,
/* If these are the first file sections we can provide memory
from, push the file_stratum target. */
- if (!using_exec_ops)
- {
- using_exec_ops = 1;
- push_target (&exec_ops);
- }
+ if (!target_is_pushed (&exec_ops))
+ push_target (&exec_ops);
}
}
--
1.9.3