/* Target operations for the remote server for GDB.
- Copyright (C) 2002-2019 Free Software Foundation, Inc.
+ Copyright (C) 2002-2020 Free Software Foundation, Inc.
Contributed by MontaVista Software.
#include "server.h"
#include "tracepoint.h"
+#include "gdbsupport/byte-vector.h"
-struct target_ops *the_target;
+process_stratum_target *the_target;
int
set_desired_thread ()
/* Restore the previous selected thread. */
cs.general_thread = prev_general_thread;
- switch_to_thread (cs.general_thread);
+ switch_to_thread (the_target, cs.general_thread);
}
int
return read_inferior_memory (memaddr, (gdb_byte *) result, sizeof (*result));
}
+/* See target/target.h. */
+
int
-write_inferior_memory (CORE_ADDR memaddr, const unsigned char *myaddr,
- int len)
+target_write_memory (CORE_ADDR memaddr, const unsigned char *myaddr,
+ ssize_t len)
{
/* Make a copy of the data because check_mem_write may need to
update it. */
- std::vector<unsigned char> buffer (myaddr, myaddr + len);
+ gdb::byte_vector buffer (myaddr, myaddr + len);
check_mem_write (memaddr, buffer.data (), myaddr, len);
return (*the_target->write_memory) (memaddr, buffer.data (), len);
}
-/* See target/target.h. */
-
-int
-target_write_memory (CORE_ADDR memaddr, const gdb_byte *myaddr, ssize_t len)
-{
- return write_inferior_memory (memaddr, myaddr, len);
-}
-
ptid_t
mywait (ptid_t ptid, struct target_waitstatus *ourstatus, int options,
int connected_wait)
target_stop_and_wait (ptid_t ptid)
{
struct target_waitstatus status;
- int was_non_stop = non_stop;
+ bool was_non_stop = non_stop;
struct thread_resume resume_info;
resume_info.thread = ptid;
resume_info.sig = GDB_SIGNAL_0;
(*the_target->resume) (&resume_info, 1);
- non_stop = 1;
+ non_stop = true;
mywait (ptid, &status, 0, 0);
non_stop = was_non_stop;
}
}
void
-set_target_ops (struct target_ops *target)
+set_target_ops (process_stratum_target *target)
{
- the_target = XNEW (struct target_ops);
+ the_target = XNEW (process_stratum_target);
memcpy (the_target, target, sizeof (*the_target));
}