aboutsummaryrefslogtreecommitdiff
path: root/gdbserver/target.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/target.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/target.cc')
-rw-r--r--gdbserver/target.cc30
1 files changed, 30 insertions, 0 deletions
diff --git a/gdbserver/target.cc b/gdbserver/target.cc
index 3787e94..4c92fa6 100644
--- a/gdbserver/target.cc
+++ b/gdbserver/target.cc
@@ -22,6 +22,10 @@
#include "tracepoint.h"
#include "gdbsupport/byte-vector.h"
#include "hostio.h"
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
process_stratum_target *the_target;
@@ -771,3 +775,29 @@ process_target::pid_to_exec_file (int pid)
{
gdb_assert_not_reached ("target op pid_to_exec_file not supported");
}
+
+bool
+process_target::supports_multifs ()
+{
+ return false;
+}
+
+int
+process_target::multifs_open (int pid, const char *filename,
+ int flags, mode_t mode)
+{
+ return open (filename, flags, mode);
+}
+
+int
+process_target::multifs_unlink (int pid, const char *filename)
+{
+ return unlink (filename);
+}
+
+ssize_t
+process_target::multifs_readlink (int pid, const char *filename,
+ char *buf, size_t bufsiz)
+{
+ return readlink (filename, buf, bufsiz);
+}