diff options
Diffstat (limited to 'libc/sysdeps/i386/i686/memcpy.S')
-rw-r--r-- | libc/sysdeps/i386/i686/memcpy.S | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/libc/sysdeps/i386/i686/memcpy.S b/libc/sysdeps/i386/i686/memcpy.S index e6dc87d77..bb05c3d0b 100644 --- a/libc/sysdeps/i386/i686/memcpy.S +++ b/libc/sysdeps/i386/i686/memcpy.S @@ -20,14 +20,12 @@ #include <sysdep.h> #include "asm-syntax.h" -#include "bp-sym.h" -#include "bp-asm.h" -#define PARMS LINKAGE /* no space for saved regs */ +#define PARMS 4 /* no space for 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 @@ -37,8 +35,7 @@ ENTRY_CHK (__memcpy_chk) jb HIDDEN_JUMPTARGET (__chk_fail) END_CHK (__memcpy_chk) #endif -ENTRY (BP_SYM (memcpy)) - ENTER +ENTRY (memcpy) movl %edi, %eax movl DEST(%esp), %edi @@ -81,10 +78,8 @@ ENTRY (BP_SYM (memcpy)) .Lend: movl %eax, %edi movl %edx, %esi movl DEST(%esp), %eax - RETURN_BOUNDED_POINTER (DEST(%esp)) - LEAVE - RET_PTR + ret /* When we come here the pointers do not have the same alignment or the length is too short. No need to optimize for @@ -99,5 +94,5 @@ ENTRY (BP_SYM (memcpy)) 2: rep movsl jmp .Lend -END (BP_SYM (memcpy)) +END (memcpy) libc_hidden_builtin_def (memcpy) |