summaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-01-21 02:38:23 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-01-21 02:38:23 +0000
commit64cc696c54434b71f255e03a20862d64761cfd52 (patch)
treebdb6fe3d95bb4b4678bc9a53a93fdf303c1d5aa5 /gcc/java
parent2855a5671ff789bbffc7ad9c4a01a8d7d2d2d6e6 (diff)
downloadgcc-64cc696c54434b71f255e03a20862d64761cfd52.tar.gz
2005-01-20 Andrew Pinski <pinskia@gcc.gnu.org>
PR java/18091: * jcf-write.c (perform_relocations): Don't call memcpy if source and destination are the same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94007 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog6
-rw-r--r--gcc/java/jcf-write.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 23ebb806428..e9ddb8bc818 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,9 @@
+2005-01-20 Andrew Pinski <pinskia@gcc.gnu.org>
+
+ PR java/18091:
+ * jcf-write.c (perform_relocations): Don't call memcpy if source
+ and destination are the same.
+
2005-01-17 Tom Tromey <tromey@redhat.com>
* verify-impl.c (get_short): Sign extend.
diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c
index 638f47baf85..8b6dc7de328 100644
--- a/gcc/java/jcf-write.c
+++ b/gcc/java/jcf-write.c
@@ -1,5 +1,5 @@
/* Write out a Java(TM) class file.
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This file is part of GCC.
@@ -2794,7 +2794,9 @@ perform_relocations (struct jcf_partial *state)
int n = (old_ptr - old_buffer) - start;
new_ptr -= n;
old_ptr -= n;
- if (n > 0)
+ /* Don't "copy" bytes in place, this causes valgrind
+ warnings. */
+ if (n > 0 && new_ptr != old_ptr)
memcpy (new_ptr, old_ptr, n);
if (old_ptr == old_buffer)
break;