From: Andrew Pinski Date: Fri, 21 Jan 2005 02:38:23 +0000 (-0800) Subject: re PR java/18091 (Valgrind errors building libjava) X-Git-Tag: releases/gcc-4.0.0~1395 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=155d49d7d7ecbc06cb5d4ee86e243a291ae9e6cc;p=thirdparty%2Fgcc.git re PR java/18091 (Valgrind errors building libjava) 2005-01-20 Andrew Pinski PR java/18091: * jcf-write.c (perform_relocations): Don't call memcpy if source and destination are the same. From-SVN: r94007 --- diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 23ebb806428c..e9ddb8bc818d 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2005-01-20 Andrew Pinski + + PR java/18091: + * jcf-write.c (perform_relocations): Don't call memcpy if source + and destination are the same. + 2005-01-17 Tom Tromey * verify-impl.c (get_short): Sign extend. diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c index 638f47baf858..8b6dc7de3282 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;