This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 1/2] sim: export cb_get_string for people to use
- From: Mike Frysinger <vapier at gentoo dot org>
- To: gdb-patches at sourceware dot org
- Cc: toolchain-devel at blackfin dot uclinux dot org
- Date: Thu, 26 May 2011 15:41:17 -0400
- Subject: [PATCH 1/2] sim: export cb_get_string for people to use
The common sim code provides a useful "get_string" function which reads
a C string out of the target's memory space. So rename and export it
for other people to use.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
include/gdb/:
2011-05-26 Mike Frysinger <vapier@gentoo.org>
* callback.h (cb_get_string): New prototype.
sim/common/:
2011-05-26 Mike Frysinger <vapier@gentoo.org>
* syscall.c (cb_get_string): Rename from "get_string".
(get_path): Rename get_string call to cb_get_string.
---
include/gdb/callback.h | 4 ++++
sim/common/syscall.c | 6 +++---
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/include/gdb/callback.h b/include/gdb/callback.h
index 296dfc3..f888957 100644
--- a/include/gdb/callback.h
+++ b/include/gdb/callback.h
@@ -329,6 +329,10 @@ int cb_is_stdin (host_callback *, int);
int cb_is_stdout (host_callback *, int);
int cb_is_stderr (host_callback *, int);
+/* Read a string out of the target. */
+int cb_get_string PARAMS ((host_callback *, CB_SYSCALL *, char *, int,
+ unsigned long));
+
/* Perform a system call. */
CB_RC cb_syscall (host_callback *, CB_SYSCALL *);
diff --git a/sim/common/syscall.c b/sim/common/syscall.c
index 28816c0..1dfe7aa 100644
--- a/sim/common/syscall.c
+++ b/sim/common/syscall.c
@@ -76,8 +76,8 @@ char *simulator_sysroot = "";
/* Utility of cb_syscall to fetch a path name or other string from the target.
The result is 0 for success or a host errno value. */
-static int
-get_string (cb, sc, buf, buflen, addr)
+int
+cb_get_string (cb, sc, buf, buflen, addr)
host_callback *cb;
CB_SYSCALL *sc;
char *buf;
@@ -121,7 +121,7 @@ get_path (cb, sc, addr, bufp)
int result;
int sysroot_len = strlen (simulator_sysroot);
- result = get_string (cb, sc, buf, MAX_PATH_LEN - sysroot_len, addr);
+ result = cb_get_string (cb, sc, buf, MAX_PATH_LEN - sysroot_len, addr);
if (result == 0)
{
/* Prepend absolute paths with simulator_sysroot. Relative paths
--
1.7.5.rc3