aboutsummaryrefslogtreecommitdiff
path: root/gdbserver/linux-low.cc
diff options
context:
space:
mode:
authorTankut Baris Aktemur <tankut.baris.aktemur@intel.com>2020-02-17 16:12:02 +0100
committerTankut Baris Aktemur <tankut.baris.aktemur@intel.com>2020-02-20 17:35:18 +0100
commitc9b7b80460e47ea4554960af6814de71b3e427cb (patch)
tree46a37f8679442430281c5ea253bcb51a0e49ce2b /gdbserver/linux-low.cc
parent8247b8236bc5528993d9b2938bc0544a5acea21d (diff)
downloadgdb-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.cc29
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,