diff options
author | Tom Tromey <tromey@adacore.com> | 2019-03-04 13:37:59 -0700 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2019-03-05 14:11:17 -0700 |
commit | 06b5b831a09417bac37b44599dc35d4b904700c5 (patch) | |
tree | 6e27113c46d98cd58a6950974eaacbdd46f118d1 /gdb/target.c | |
parent | ff6c8b354d853d40a4982dcf1338b9350060b75f (diff) | |
download | gdb-06b5b831a09417bac37b44599dc35d4b904700c5.zip gdb-06b5b831a09417bac37b44599dc35d4b904700c5.tar.gz gdb-06b5b831a09417bac37b44599dc35d4b904700c5.tar.bz2 |
Change the_dummy_target to be a global
While debugging gdb, I printed the target stack and got:
(top-gdb) p g_target_stack
$10 = {
m_top = thread_stratum,
m_stack = {0x142b0b0, 0x13da600 <exec_ops>, 0x1c70690, 0x13d63b0 <ravenscar_ops>, 0x0, 0x0, 0x0}
}
(This is clearly from before the change to make ravenscar
multi-target-capable.)
Here, 0x142b0b0 is the singleton dummy target. It seems to me that
since this is always a singleton, it would be a bit nicer if it were a
global, so that it would be noted in the above.
This patch implements this idea, and now I get:
(top-gdb) p g_target_stack
$2 = {
m_top = dummy_stratum,
m_stack = {0x1f1b040 <the_dummy_target>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
}
I did not do the same for the debug target. It didn't seem as useful
to me.
gdb/ChangeLog
2019-03-05 Tom Tromey <tromey@adacore.com>
* target.c (the_dummy_target): Move later. Change type to
"dummy_target".
(initialize_targets): Don't initialize the_dummy_target.
Diffstat (limited to 'gdb/target.c')
-rw-r--r-- | gdb/target.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gdb/target.c b/gdb/target.c index fe7cb08..8579c19 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -106,10 +106,8 @@ static enum exec_direction_kind default_execution_direction static std::unordered_map<const target_info *, target_open_ftype *> target_factories; -/* The initial current target, so that there is always a semi-valid - current target. */ +/* The singleton debug target. */ -static struct target_ops *the_dummy_target; static struct target_ops *the_debug_target; /* The target stack. */ @@ -3239,6 +3237,10 @@ dummy_make_corefile_notes (struct target_ops *self, #include "target-delegates.c" +/* The initial current target, so that there is always a semi-valid + current target. */ + +static dummy_target the_dummy_target; static const target_info dummy_target_info = { "None", @@ -3976,8 +3978,7 @@ set_write_memory_permission (const char *args, int from_tty, void initialize_targets (void) { - the_dummy_target = new dummy_target (); - push_target (the_dummy_target); + push_target (&the_dummy_target); the_debug_target = new debug_target (); |