[ob/pushed] gdbserver/proc-service.c: bogus return value conversion

Pedro Alves palves@redhat.com
Thu Aug 27 12:37:00 GMT 2015


And while I have the C++ branch checked out, I pushed this easy one
to master...

>From 9d7993743ade7a632835b8809a400d01cc270c80 Mon Sep 17 00:00:00 2001
From: Pedro Alves <palves@redhat.com>
Subject: [PATCH] gdbserver/proc-service.c: bogus return value conversion

Building in C++ mode shows:

   int write_inferior_memory (CORE_ADDR memaddr, const unsigned char *myaddr,
       ^
  src/gdb/gdbserver/proc-service.c:93:64: error: invalid conversion from ‘int’ to ‘ps_err_e’ [-fpermissive]
     return write_inferior_memory ((unsigned long) addr, buf, size);
								  ^

It only works today by accident, write_inferior_memory does not return
a ps_err_e.

gdb/gdbserver/ChangeLog:
2015-08-27  Pedro Alves  <palves@redhat.com>

	* proc-service.c (ps_pdwrite): Return PS_ERR/PS_OK explicily.
---
 gdb/gdbserver/ChangeLog      | 4 ++++
 gdb/gdbserver/proc-service.c | 4 +++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 5b9b170..0be3030 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,7 @@
+2015-08-27  Pedro Alves  <palves@redhat.com>
+
+	* proc-service.c (ps_pdwrite): Return PS_ERR/PS_OK explicily.
+
 2015-08-26  Simon Marchi  <simon.marchi@ericsson.com>
 
 	* ax.c (gdb_parse_agent_expr): Likewise.
diff --git a/gdb/gdbserver/proc-service.c b/gdb/gdbserver/proc-service.c
index f36e3fb..128939d 100644
--- a/gdb/gdbserver/proc-service.c
+++ b/gdb/gdbserver/proc-service.c
@@ -90,7 +90,9 @@ ps_err_e
 ps_pdwrite (gdb_ps_prochandle_t ph, psaddr_t addr,
 	    gdb_ps_write_buf_t buf, gdb_ps_size_t size)
 {
-  return write_inferior_memory ((unsigned long) addr, buf, size);
+  if (write_inferior_memory ((unsigned long) addr, buf, size) != 0)
+    return PS_ERR;
+  return PS_OK;
 }
 
 /* Get the general registers of LWP LWPID within the target process PH
-- 
1.9.3



More information about the Gdb-patches mailing list