This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

PATCH: memcpy doubles as mempcy, not bcopy


This was a pretty stupid, but had no impact non-BP code, and still
doesn't...

Here's where the file is included from:
i586/mempcpy.S:#include <sysdeps/i386/i586/memcpy.S>

OK?

2000-06-25  Greg McGary  <greg@mcgary.org>

	* sysdeps/i386/i586/memcpy.S: redefine memcpy as mempcpy,
	not as bcopy.

Index: memcpy.S
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/i386/i586/memcpy.S,v
retrieving revision 1.2
diff -u -p -r1.2 memcpy.S
--- memcpy.S	2000/06/09 06:14:39	1.2
+++ memcpy.S	2000/06/26 00:11:55
@@ -22,16 +22,14 @@
 #include "asm-syntax.h"
 #include "bp-asm.h"
 
-/* BEWARE: `#ifdef memset' means that memset is redefined as `bzero' */
-#define BCOPY_P (defined memcpy)
+/* BEWARE: `#ifdef memcpy' means that memcpy is redefined as `mempcpy',
+   and the return value is the byte after the last one copied in
+   the destination. */
+#define MEMPCPY_P (defined memcpy)
 
 #define PARMS	LINKAGE+8	/* space for 2 saved regs */
-#if BCOPY_P
-# define DEST	PARMS
-#else
-# define RTN	PARMS
-# define DEST	RTN+RTN_SIZE
-#endif
+#define RTN	PARMS
+#define DEST	RTN+RTN_SIZE
 #define SRC	DEST+PTR_SIZE
 #define LEN	SRC+PTR_SIZE
 
@@ -99,13 +97,13 @@ L(3):	movl	28(%edi), %edx
 
 	/* Correct extra loop counter modification.  */
 L(2):	addl	$32, %ecx
-#if !BCOPY_P
+#if !MEMPCPY_P
 	movl	DEST(%esp), %eax
 #endif
 
 L(1):	rep; movsb
 
-#if BCOPY_P
+#if MEMPCPY_P
 	movl	%edi, %eax
 #endif
 
@@ -113,9 +111,5 @@ L(1):	rep; movsb
 	popl	%edi
 
 	LEAVE
-#if BCOPY_P
-	ret
-#else
 	RET_PTR
-#endif
 END (memcpy)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]