diff options
author | Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> | 2020-02-17 16:12:02 +0100 |
---|---|---|
committer | Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> | 2020-02-20 17:35:18 +0100 |
commit | c9b7b80460e47ea4554960af6814de71b3e427cb (patch) | |
tree | 46a37f8679442430281c5ea253bcb51a0e49ce2b /gdbserver/linux-low.cc | |
parent | 8247b8236bc5528993d9b2938bc0544a5acea21d (diff) | |
download | gdb-c9b7b80460e47ea4554960af6814de71b3e427cb.zip gdb-c9b7b80460e47ea4554960af6814de71b3e427cb.tar.gz gdb-c9b7b80460e47ea4554960af6814de71b3e427cb.tar.bz2 |
gdbserver: turn target ops 'multifs_{open, readlink, unlink}' into methods
gdbserver/ChangeLog:
2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
Turn process_stratum_target's multifs_open, multifs_readlink,
multifs_unlink ops into methods of process_target.
* target.h (struct process_stratum_target): Remove the target ops.
(class process_target): Add the target ops. Also add
'supports_multifs'.
* target.cc: Include "fcntl.h", "unistd.h", "sys/types.h", and
"sys/stat.h".
(process_target::supports_multifs): Define.
(process_target::multifs_open): Define.
(process_target::multifs_readlink): Define.
(process_target::multifs_unlink): Define.
Update the derived classes and callers below.
* hostio.cc (handle_setfs): Update.
(handle_open): Update.
(handle_unlink): Update.
(handle_readlink): Update.
* linux-low.cc (linux_target_ops): Update.
(linux_process_target::supports_multifs): Define.
(linux_process_target::multifs_open): Define.
(linux_process_target::multifs_readlink): Define.
(linux_process_target::multifs_unlink): Define.
* linux-low.h (class linux_process_target): Update.
* lynx-low.cc (lynx_target_ops): Update.
* nto-low.cc (nto_target_ops): Update.
* win32-low.cc (win32_target_ops): Update.
Diffstat (limited to 'gdbserver/linux-low.cc')
-rw-r--r-- | gdbserver/linux-low.cc | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc index 118aee9..c49ba89 100644 --- a/gdbserver/linux-low.cc +++ b/gdbserver/linux-low.cc @@ -6453,6 +6453,32 @@ linux_process_target::pid_to_exec_file (int pid) return linux_proc_pid_to_exec_file (pid); } +bool +linux_process_target::supports_multifs () +{ + return true; +} + +int +linux_process_target::multifs_open (int pid, const char *filename, + int flags, mode_t mode) +{ + return linux_mntns_open_cloexec (pid, filename, flags, mode); +} + +int +linux_process_target::multifs_unlink (int pid, const char *filename) +{ + return linux_mntns_unlink (pid, filename); +} + +ssize_t +linux_process_target::multifs_readlink (int pid, const char *filename, + char *buf, size_t bufsiz) +{ + return linux_mntns_readlink (pid, filename, buf, bufsiz); +} + #if defined PT_GETDSBT || defined PTRACE_GETFDPIC struct target_loadseg { @@ -7483,9 +7509,6 @@ linux_get_hwcap2 (int wordsize) static linux_process_target the_linux_target; static process_stratum_target linux_target_ops = { - linux_mntns_open_cloexec, - linux_mntns_unlink, - linux_mntns_readlink, linux_breakpoint_kind_from_pc, linux_sw_breakpoint_from_kind, linux_proc_tid_get_name, |