aboutsummaryrefslogtreecommitdiff
path: root/gdb/target.c
diff options
context:
space:
mode:
authorGary Benson <gbenson@redhat.com>2014-09-11 11:19:56 +0100
committerGary Benson <gbenson@redhat.com>2014-09-11 11:19:56 +0100
commit721ec300e1e27c2fa7540ef97f39b6c5ce65083f (patch)
treea0dfc0a39a7bbce24a32af6bed353ba57675eafc /gdb/target.c
parentc5e92cca56da9153985d4c15dab243e383f66919 (diff)
downloadgdb-721ec300e1e27c2fa7540ef97f39b6c5ce65083f.zip
gdb-721ec300e1e27c2fa7540ef97f39b6c5ce65083f.tar.gz
gdb-721ec300e1e27c2fa7540ef97f39b6c5ce65083f.tar.bz2
Introduce target/target.h
This introduces target/target.h. This file declares some functions that the shared code can use and that clients must implement. It also changes some shared code to use these functions. gdb/ChangeLog: * target/target.h: New file. * Makefile.in (HFILES_NO_SRCDIR): Add target/target.h. * target.h: Include target/target.h. (target_read_memory, target_write_memory): Don't declare. * target.c (target_read_uint32): New function. * common/agent.c: Include target/target.h. [!GDBSERVER]: Don't include target.h. (helper_thread_id): Type changed to uint32_t. (agent_get_helper_thread_id): Use target_read_uint32. (agent_run_command): Always use target_read_memory and target_write_memory. (agent_capability): Type changed to uint32_t. (agent_capability_check): Use target_read_uint32. gdb/gdbserver/ChangeLog: * target.h: Include target/target.h. * target.c (target_read_memory, target_read_uint32) (target_write_memory): New functions.
Diffstat (limited to 'gdb/target.c')
-rw-r--r--gdb/target.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/gdb/target.c b/gdb/target.c
index 8bf6031..711e7cb 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -1269,6 +1269,22 @@ target_read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
return TARGET_XFER_E_IO;
}
+/* See target/target.h. */
+
+int
+target_read_uint32 (CORE_ADDR memaddr, uint32_t *result)
+{
+ gdb_byte buf[4];
+ int r;
+
+ r = target_read_memory (memaddr, buf, sizeof buf);
+ if (r != 0)
+ return r;
+ *result = extract_unsigned_integer (buf, sizeof buf,
+ gdbarch_byte_order (target_gdbarch ()));
+ return 0;
+}
+
/* Like target_read_memory, but specify explicitly that this is a read
from the target's raw memory. That is, this read bypasses the
dcache, breakpoint shadowing, etc. */