diff options
author | Pedro Alves <palves@redhat.com> | 2018-11-30 14:53:40 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2018-11-30 16:28:11 +0000 |
commit | f3d11a9a96465432c01678445fc2fe84f2ef94f7 (patch) | |
tree | 44b4e3a90e2036c740b8119ff1f5da097e2ba2e9 /gdb/process-stratum-target.h | |
parent | 3b3dac9b3fd916d73726c7e5508f057574f74d19 (diff) | |
download | gdb-f3d11a9a96465432c01678445fc2fe84f2ef94f7.zip gdb-f3d11a9a96465432c01678445fc2fe84f2ef94f7.tar.gz gdb-f3d11a9a96465432c01678445fc2fe84f2ef94f7.tar.bz2 |
Convert default_child_has_foo functions to process_stratum_target methods
This patch converts the default_child_has_foo functions to
process_stratum_target methods. This simplifies "regular"
non-inf_child process_stratum targets, since they no longer have to
override the target_ops::has_foo methods to call the default_child_foo
functions. A couple targets need to override the new defaults
(corelow and tracefiles), but it still seems like a good tradeoff,
since those are expected to be little different (target doesn't run).
gdb/ChangeLog:
2018-11-30 Pedro Alves <palves@redhat.com>
* corelow.c (core_target) <has_all_memory, has_execution>: New
overrides.
* inf-child.c (inf_child_target::has_all_memory)
(inf_child_target::has_memory, inf_child_target::has_stack)
(inf_child_target::has_registers)
(inf_child_target::has_execution): Delete.
* inf-child.h (inf_child_target) <has_all_memory, has_memory,
has_stack, has_registers, has_execution>: Delete.
* process-stratum-target.c
(process_stratum_target::has_all_memory)
(process_stratum_target::has_memory)
(process_stratum_target::has_stack)
(process_stratum_target::has_registers)
(process_stratum_target::has_execution): New.
* process-stratum-target.h (process_stratum_target)
<has_all_memory, has_memory, has_stack, has_registers,
has_execution>: New method overrides.
* ravenscar-thread.c (ravenscar_thread_target) <has_all_memory,
has_memory, has_stack, has_registers, has_execution>: Delete.
* remote-sim.c (gdbsim_target) <has_stack, has_registers,
has_execution>: Delete.
* remote.c (remote_target) <has_all_memory, has_memory, has_stack,
has_registers, has_execution>: Delete.
* target.c (default_child_has_all_memory)
(default_child_has_memory, default_child_has_stack)
(default_child_has_registers, default_child_has_execution):
Delete.
* target.h (default_child_has_all_memory)
(default_child_has_memory, default_child_has_stack)
(default_child_has_registers, default_child_has_execution):
Delete.
* tracefile.h (tracefile_target) <has_execution>: New override.
Diffstat (limited to 'gdb/process-stratum-target.h')
-rw-r--r-- | gdb/process-stratum-target.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/process-stratum-target.h b/gdb/process-stratum-target.h index 0a799f7..74640aa 100644 --- a/gdb/process-stratum-target.h +++ b/gdb/process-stratum-target.h @@ -46,6 +46,14 @@ public: /* This default implementation always returns target_gdbarch (). */ struct gdbarch *thread_architecture (ptid_t ptid) override; + + /* Default implementations for process_stratum targets. Return true + if there's a selected inferior, false otherwise. */ + bool has_all_memory () override; + bool has_memory () override; + bool has_stack () override; + bool has_registers () override; + bool has_execution (ptid_t the_ptid) override; }; #endif /* !defined (PROCESS_STRATUM_TARGET_H) */ |