aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/i386/i586
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-02-10 14:55:44 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-02-23 14:18:18 -0300
commit0f88a5c66e1cbb574bf37d953bf7155c0a1f5ae7 (patch)
tree201168eb1e5bd955582a6d3541e3f44c61afbb56 /sysdeps/i386/i586
parentdbf37d6d0eccc01e6f5574a01eae64bb54a491ba (diff)
downloadglibc-0f88a5c66e1cbb574bf37d953bf7155c0a1f5ae7.tar
glibc-0f88a5c66e1cbb574bf37d953bf7155c0a1f5ae7.tar.gz
glibc-0f88a5c66e1cbb574bf37d953bf7155c0a1f5ae7.tar.bz2
glibc-0f88a5c66e1cbb574bf37d953bf7155c0a1f5ae7.zip
i686: Remove bzero optimizations
The symbol is not present in current POSIX specification and compiler already generates memset call.
Diffstat (limited to 'sysdeps/i386/i586')
-rw-r--r--sysdeps/i386/i586/bzero.S4
-rw-r--r--sysdeps/i386/i586/memset.S16
2 files changed, 3 insertions, 17 deletions
diff --git a/sysdeps/i386/i586/bzero.S b/sysdeps/i386/i586/bzero.S
deleted file mode 100644
index 2a106719a4..0000000000
--- a/sysdeps/i386/i586/bzero.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#define USE_AS_BZERO
-#define memset __bzero
-#include <sysdeps/i386/i586/memset.S>
-weak_alias (__bzero, bzero)
diff --git a/sysdeps/i386/i586/memset.S b/sysdeps/i386/i586/memset.S
index ae09c3b40a..672af41398 100644
--- a/sysdeps/i386/i586/memset.S
+++ b/sysdeps/i386/i586/memset.S
@@ -23,15 +23,11 @@
#define PARMS 4+4 /* space for 1 saved reg */
#define RTN PARMS
#define DEST RTN
-#ifdef USE_AS_BZERO
-# define LEN DEST+4
-#else
-# define CHR DEST+4
-# define LEN CHR+4
-#endif
+#define CHR DEST+4
+#define LEN CHR+4
.text
-#if defined SHARED && IS_IN (libc) && !defined USE_AS_BZERO
+#if defined SHARED && IS_IN (libc)
ENTRY (__memset_chk)
movl 12(%esp), %eax
cmpl %eax, 16(%esp)
@@ -46,15 +42,11 @@ ENTRY (memset)
movl DEST(%esp), %edi
cfi_rel_offset (edi, 0)
movl LEN(%esp), %edx
-#ifdef USE_AS_BZERO
- xorl %eax, %eax /* we fill with 0 */
-#else
movb CHR(%esp), %al
movb %al, %ah
movl %eax, %ecx
shll $16, %eax
movw %cx, %ax
-#endif
cld
/* If less than 36 bytes to write, skip tricky code (it wouldn't work). */
@@ -100,10 +92,8 @@ L(2): shrl $2, %ecx /* convert byte count to longword count */
rep
stosb
-#ifndef USE_AS_BZERO
/* Load result (only if used as memset). */
movl DEST(%esp), %eax /* start address of destination is result */
-#endif
popl %edi
cfi_adjust_cfa_offset (-4)
cfi_restore (edi)