aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/jcf-write.c
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@gcc.gnu.org>2005-01-20 18:38:23 -0800
committerTom Tromey <tromey@gcc.gnu.org>2005-01-21 02:38:23 +0000
commit155d49d7d7ecbc06cb5d4ee86e243a291ae9e6cc (patch)
treebdb6fe3d95bb4b4678bc9a53a93fdf303c1d5aa5 /gcc/java/jcf-write.c
parent4ef69b8352c4307faf514fb8a8cdaf902e69accc (diff)
downloadgcc-155d49d7d7ecbc06cb5d4ee86e243a291ae9e6cc.zip
gcc-155d49d7d7ecbc06cb5d4ee86e243a291ae9e6cc.tar.gz
gcc-155d49d7d7ecbc06cb5d4ee86e243a291ae9e6cc.tar.bz2
re PR java/18091 (Valgrind errors building libjava)
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. From-SVN: r94007
Diffstat (limited to 'gcc/java/jcf-write.c')
-rw-r--r--gcc/java/jcf-write.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c
index 638f47b..8b6dc7d 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;