This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH obv/c++ 2/4] sparc64-tdep.c: Don't assign using memcpy return
- From: Simon Marchi <simon dot marchi at polymtl dot ca>
- To: gdb-patches at sourceware dot org
- Cc: Simon Marchi <simon dot marchi at polymtl dot ca>
- Date: Sat, 24 Oct 2015 18:39:14 -0400
- Subject: [PATCH obv/c++ 2/4] sparc64-tdep.c: Don't assign using memcpy return
- Authentication-results: sourceware.org; auth=none
- References: <1445726356-12506-1-git-send-email-simon dot marchi at polymtl dot ca>
This:
valbuf = memcpy (buf, valbuf, len);
causes a build failure in C++, because memcpy returns the value of
"buf" as a void *. Instead of adding a cast, we can just do the
assignment separately.
gdb/ChangeLog:
* sparc64-tdep.c (sparc64_store_arguments): Split assignment of
valbuf.
---
gdb/ChangeLog | 5 +++++
gdb/sparc64-tdep.c | 3 ++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0a8a693..e86cbad 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2015-10-24 Simon Marchi <simon.marchi@polymtl.ca>
+ * sparc64-tdep.c (sparc64_store_arguments): Split assignment of
+ valbuf.
+
+2015-10-24 Simon Marchi <simon.marchi@polymtl.ca>
+
* ia64-tdep.c (ia64_pseudo_register_write): Remove cast.
(ia64_push_dummy_call): Remove cast and change type of "to" to
array of gdb_byte.
diff --git a/gdb/sparc64-tdep.c b/gdb/sparc64-tdep.c
index 4c05277..a23740e 100644
--- a/gdb/sparc64-tdep.c
+++ b/gdb/sparc64-tdep.c
@@ -890,7 +890,8 @@ sparc64_store_arguments (struct regcache *regcache, int nargs,
/* Structure, Union or long double Complex arguments. */
gdb_assert (len <= 16);
memset (buf, 0, sizeof (buf));
- valbuf = memcpy (buf, valbuf, len);
+ memcpy (buf, valbuf, len);
+ valbuf = buf;
if (element % 2 && sparc64_16_byte_align_p (type))
element++;
--
2.6.2