diff options
Diffstat (limited to 'libc/sysdeps/i386/i586/memcpy.S')
-rw-r--r-- | libc/sysdeps/i386/i586/memcpy.S | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/libc/sysdeps/i386/i586/memcpy.S b/libc/sysdeps/i386/i586/memcpy.S index 206715482..49f165241 100644 --- a/libc/sysdeps/i386/i586/memcpy.S +++ b/libc/sysdeps/i386/i586/memcpy.S @@ -19,19 +19,17 @@ #include <sysdep.h> #include "asm-syntax.h" -#include "bp-sym.h" -#include "bp-asm.h" /* 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 */ +#define PARMS 4+8 /* space for 2 saved regs */ #define RTN PARMS -#define DEST RTN+RTN_SIZE -#define SRC DEST+PTR_SIZE -#define LEN SRC+PTR_SIZE +#define DEST RTN +#define SRC DEST+4 +#define LEN SRC+4 .text #if defined PIC && !defined NOT_IN_libc @@ -41,8 +39,7 @@ ENTRY (__memcpy_chk) jb HIDDEN_JUMPTARGET (__chk_fail) END (__memcpy_chk) #endif -ENTRY (BP_SYM (memcpy)) - ENTER +ENTRY (memcpy) pushl %edi cfi_adjust_cfa_offset (4) @@ -54,8 +51,6 @@ ENTRY (BP_SYM (memcpy)) movl SRC(%esp), %esi cfi_rel_offset (esi, 0) movl LEN(%esp), %ecx - CHECK_BOUNDS_BOTH_WIDE (%edi, DEST(%esp), %ecx) - CHECK_BOUNDS_BOTH_WIDE (%esi, SRC(%esp), %ecx) movl %edi, %eax /* We need this in any case. */ @@ -127,9 +122,8 @@ L(1): rep; movsb cfi_adjust_cfa_offset (-4) cfi_restore (edi) - LEAVE - RET_PTR -END (BP_SYM (memcpy)) + ret +END (memcpy) #if !MEMPCPY_P libc_hidden_builtin_def (memcpy) #endif |