summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/powerpc/memmove.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 8a10d6ab09..6f0b685d90 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-12 Andreas Schwab <schwab@linux-m68k.org>
+
+ * sysdeps/powerpc/memmove.c (MEMMOVE): Don't return a value if
+ used as bcopy.
+
2012-05-12 Thomas Schwinge <thomas@codesourcery.com>
* io/dup3.c (dup3): Rename to __dup3, add weak alias for dup3.
diff --git a/sysdeps/powerpc/memmove.c b/sysdeps/powerpc/memmove.c
index 89182838e9..1617ecea95 100644
--- a/sysdeps/powerpc/memmove.c
+++ b/sysdeps/powerpc/memmove.c
@@ -50,12 +50,12 @@ MEMMOVE (a1, a2, len)
unsigned long int srcp = (long int) src;
/* If there is no overlap between ranges, call the builtin memcpy. */
- if ( (dstp >= (srcp + len)) || (srcp > (dstp + len)) )
- return __builtin_memcpy (dest, src, len);
+ if (dstp >= srcp + len || srcp > dstp + len)
+ __builtin_memcpy (dest, src, len);
/* This test makes the forward copying code be used whenever possible.
Reduces the working set. */
- if (dstp - srcp >= len) /* *Unsigned* compare! */
+ else if (dstp - srcp >= len) /* *Unsigned* compare! */
{
/* Copy from the beginning to the end. */