diff options
Diffstat (limited to 'sysdeps/i386/i586/memset.S')
-rw-r--r-- | sysdeps/i386/i586/memset.S | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sysdeps/i386/i586/memset.S b/sysdeps/i386/i586/memset.S index 8b292e92fa..931832b566 100644 --- a/sysdeps/i386/i586/memset.S +++ b/sysdeps/i386/i586/memset.S @@ -21,6 +21,7 @@ #include <sysdep.h> #include "asm-syntax.h" +#include "bp-sym.h" #include "bp-asm.h" /* BEWARE: `#ifdef memset' means that memset is redefined as `bzero' */ @@ -37,18 +38,18 @@ #endif .text -ENTRY (memset) +ENTRY (BP_SYM (memset)) ENTER pushl %edi movl DEST(%esp), %edi movl LEN(%esp), %edx + CHECK_BOUNDS_BOTH_WIDE (%edi, DEST(%esp), %edx) #if BZERO_P xorl %eax, %eax /* we fill with 0 */ #else movb CHR(%esp), %al - movb %al, %ah movl %eax, %ecx shll $16, %eax @@ -101,7 +102,8 @@ L(2): shrl $2, %ecx /* convert byte count to longword count */ #if !BZERO_P /* Load result (only if used as memset). */ - movl DEST(%esp), %eax + movl DEST(%esp), %eax /* start address of destination is result */ + RETURN_BOUNDED_POINTER (DEST(%esp)) #endif popl %edi @@ -111,4 +113,4 @@ L(2): shrl $2, %ecx /* convert byte count to longword count */ #else RET_PTR #endif -END (memset) +END (BP_SYM (memset)) |