This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH v2] 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: Sat, 28 May 2011 11:00:45 -0400
- Subject: [PATCH v2] sim: export cb_get_string for people to use
- References: <1306438878-14479-1-git-send-email-vapier@gentoo.org>
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.
---
v2
- drop PARAMS
include/gdb/callback.h | 3 +++
sim/common/syscall.c | 6 +++---
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/include/gdb/callback.h b/include/gdb/callback.h
index 296dfc3..6ffb56e 100644
--- a/include/gdb/callback.h
+++ b/include/gdb/callback.h
@@ -329,6 +329,9 @@ 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 (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