From 155d49d7d7ecbc06cb5d4ee86e243a291ae9e6cc Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Thu, 20 Jan 2005 18:38:23 -0800 Subject: [PATCH] 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 --- gcc/java/ChangeLog | 6 ++++++ gcc/java/jcf-write.c | 6 ++++-- 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 + + 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 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; -- 2.30.2