projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Multi-target support
[deliverable/binutils-gdb.git]
/
gdb
/
gdbserver
/
target.c
diff --git
a/gdb/gdbserver/target.c
b/gdb/gdbserver/target.c
index 2587d8aa55040e66546ded8f053e9ade89ad22bb..a4593cf6df91c1f58951aa17b95d7ddbe0d55cbb 100644
(file)
--- a/
gdb/gdbserver/target.c
+++ b/
gdb/gdbserver/target.c
@@
-1,5
+1,5
@@
/* Target operations for the remote server for GDB.
/* Target operations for the remote server for GDB.
- Copyright (C) 2002-20
19
Free Software Foundation, Inc.
+ Copyright (C) 2002-20
20
Free Software Foundation, Inc.
Contributed by MontaVista Software.
Contributed by MontaVista Software.
@@
-20,8
+20,9
@@
#include "server.h"
#include "tracepoint.h"
#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 ()
int
set_desired_thread ()
@@
-118,7
+119,7
@@
done_accessing_memory (void)
/* Restore the previous selected thread. */
cs.general_thread = prev_general_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
}
int
@@
-146,25
+147,19
@@
target_read_uint32 (CORE_ADDR memaddr, uint32_t *result)
return read_inferior_memory (memaddr, (gdb_byte *) result, sizeof (*result));
}
return read_inferior_memory (memaddr, (gdb_byte *) result, sizeof (*result));
}
+/* See target/target.h. */
+
int
int
-
write_inferior
_memory (CORE_ADDR memaddr, const unsigned char *myaddr,
-
in
t 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. */
{
/* 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);
}
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)
ptid_t
mywait (ptid_t ptid, struct target_waitstatus *ourstatus, int options,
int connected_wait)
@@
-210,7
+205,7
@@
void
target_stop_and_wait (ptid_t ptid)
{
struct target_waitstatus status;
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;
struct thread_resume resume_info;
resume_info.thread = ptid;
@@
-218,7
+213,7
@@
target_stop_and_wait (ptid_t ptid)
resume_info.sig = GDB_SIGNAL_0;
(*the_target->resume) (&resume_info, 1);
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;
}
mywait (ptid, &status, 0, 0);
non_stop = was_non_stop;
}
@@
-289,9
+284,9
@@
start_non_stop (int nonstop)
}
void
}
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));
}
memcpy (the_target, target, sizeof (*the_target));
}
This page took
0.027084 seconds
and
4
git commands to generate.