Remove useless x86 fallbacks.
The NDK ABI requires that you support SSE2, and the build system won't let you build with ARCH_X86_HAVE_SSE2 set to false. So let's stop pretending this constant is actually a variable, and let's remove the corresponding dead code. Also, the USE_SSE2 and USE_SSE3 macros are unused, so let's not bother setting them. Change-Id: I40b501d998530d22518ce1c4d14575513a8125bb
This commit is contained in:
parent
41ba05e22e
commit
7e841ed688
@ -579,26 +579,7 @@ ifeq ($(TARGET_ARCH),arm)
|
||||
libc_common_cflags += -DSOFTFLOAT
|
||||
libc_common_cflags += -fstrict-aliasing
|
||||
libc_crt_target_cflags := -mthumb-interwork
|
||||
endif # !arm
|
||||
|
||||
ifeq ($(TARGET_ARCH),x86)
|
||||
libc_crt_target_cflags := -m32
|
||||
libc_crt_target_ldflags := -melf_i386
|
||||
endif
|
||||
ifeq ($(TARGET_ARCH),x86_64)
|
||||
libc_crt_target_cflags := -m64
|
||||
libc_crt_target_ldflags := -melf_x86_64
|
||||
endif
|
||||
|
||||
ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64))
|
||||
libc_common_cflags += -DSOFTFLOAT
|
||||
ifeq ($(ARCH_X86_HAVE_SSE2),true)
|
||||
libc_crt_target_cflags += -DUSE_SSE2=1
|
||||
endif
|
||||
ifeq ($(ARCH_X86_HAVE_SSSE3),true)
|
||||
libc_crt_target_cflags += -DUSE_SSSE3=1
|
||||
endif
|
||||
endif
|
||||
endif # arm
|
||||
|
||||
ifeq ($(TARGET_ARCH),mips)
|
||||
ifneq ($(ARCH_MIPS_HAS_FPU),true)
|
||||
@ -608,6 +589,18 @@ ifeq ($(TARGET_ARCH),mips)
|
||||
libc_crt_target_cflags := $(TARGET_GLOBAL_CFLAGS)
|
||||
endif # mips
|
||||
|
||||
ifeq ($(TARGET_ARCH),x86)
|
||||
libc_common_cflags += -DSOFTFLOAT
|
||||
libc_crt_target_cflags := -m32
|
||||
libc_crt_target_ldflags := -melf_i386
|
||||
endif # x86
|
||||
|
||||
ifeq ($(TARGET_ARCH),x86_64)
|
||||
libc_common_cflags += -DSOFTFLOAT
|
||||
libc_crt_target_cflags := -m64
|
||||
libc_crt_target_ldflags := -melf_x86_64
|
||||
endif # x86_64
|
||||
|
||||
# Define ANDROID_SMP appropriately.
|
||||
ifeq ($(TARGET_CPU_SMP),true)
|
||||
libc_common_cflags += -DANDROID_SMP=1
|
||||
|
@ -1,44 +0,0 @@
|
||||
/* $OpenBSD: bzero.S,v 1.3 2005/08/07 11:30:38 espie Exp $ */
|
||||
/*
|
||||
* Written by J.T. Conklin <jtc@netbsd.org>.
|
||||
* Public domain.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
ENTRY(bzero)
|
||||
pushl %edi
|
||||
movl 8(%esp),%edi
|
||||
movl 12(%esp),%edx
|
||||
|
||||
cld /* set fill direction forward */
|
||||
xorl %eax,%eax /* set fill data to 0 */
|
||||
|
||||
/*
|
||||
* if the string is too short, it's really not worth the overhead
|
||||
* of aligning to word boundries, etc. So we jump to a plain
|
||||
* unaligned set.
|
||||
*/
|
||||
cmpl $16,%edx
|
||||
jb L1
|
||||
|
||||
movl %edi,%ecx /* compute misalignment */
|
||||
negl %ecx
|
||||
andl $3,%ecx
|
||||
subl %ecx,%edx
|
||||
rep /* zero until word aligned */
|
||||
stosb
|
||||
|
||||
movl %edx,%ecx /* zero by words */
|
||||
shrl $2,%ecx
|
||||
andl $3,%edx
|
||||
rep
|
||||
stosl
|
||||
|
||||
L1: movl %edx,%ecx /* zero remainder by bytes */
|
||||
rep
|
||||
stosb
|
||||
|
||||
popl %edi
|
||||
ret
|
||||
END(bzero)
|
@ -1,56 +0,0 @@
|
||||
/* $OpenBSD: memset.S,v 1.3 2005/08/07 11:30:38 espie Exp $ */
|
||||
/*
|
||||
* Written by J.T. Conklin <jtc@netbsd.org>.
|
||||
* Public domain.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
ENTRY(memset)
|
||||
pushl %edi
|
||||
pushl %ebx
|
||||
movl 12(%esp),%edi
|
||||
movzbl 16(%esp),%eax /* unsigned char, zero extend */
|
||||
movl 20(%esp),%ecx
|
||||
pushl %edi /* push address of buffer */
|
||||
|
||||
cld /* set fill direction forward */
|
||||
|
||||
/*
|
||||
* if the string is too short, it's really not worth the overhead
|
||||
* of aligning to word boundries, etc. So we jump to a plain
|
||||
* unaligned set.
|
||||
*/
|
||||
cmpl $0x0f,%ecx
|
||||
jle L1
|
||||
|
||||
movb %al,%ah /* copy char to all bytes in word */
|
||||
movl %eax,%edx
|
||||
sall $16,%eax
|
||||
orl %edx,%eax
|
||||
|
||||
movl %edi,%edx /* compute misalignment */
|
||||
negl %edx
|
||||
andl $3,%edx
|
||||
movl %ecx,%ebx
|
||||
subl %edx,%ebx
|
||||
|
||||
movl %edx,%ecx /* set until word aligned */
|
||||
rep
|
||||
stosb
|
||||
|
||||
movl %ebx,%ecx
|
||||
shrl $2,%ecx /* set by words */
|
||||
rep
|
||||
stosl
|
||||
|
||||
movl %ebx,%ecx /* set remainder by bytes */
|
||||
andl $3,%ecx
|
||||
L1: rep
|
||||
stosb
|
||||
|
||||
popl %eax /* pop address of buffer */
|
||||
popl %ebx
|
||||
popl %edi
|
||||
ret
|
||||
END(memset)
|
@ -1,21 +0,0 @@
|
||||
/* $OpenBSD: strlen.S,v 1.3 2005/08/07 11:30:38 espie Exp $ */
|
||||
/*
|
||||
* Written by J.T. Conklin <jtc@netbsd.org>.
|
||||
* Public domain.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
ENTRY(strlen)
|
||||
pushl %edi
|
||||
movl 8(%esp),%edi /* string address */
|
||||
cld /* set search forward */
|
||||
xorl %eax,%eax /* set search for null terminator */
|
||||
movl $-1,%ecx /* set search for lots of characters */
|
||||
repne /* search! */
|
||||
scasb
|
||||
notl %ecx /* get length by taking complement */
|
||||
leal -1(%ecx),%eax /* and subtracting one */
|
||||
popl %edi
|
||||
ret
|
||||
END(strlen)
|
@ -50,7 +50,6 @@ _LIBC_ARCH_COMMON_SRC_FILES += \
|
||||
upstream-freebsd/lib/libc/string/wmemcmp.c
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH_X86_HAVE_SSE2),true)
|
||||
_LIBC_ARCH_COMMON_SRC_FILES += \
|
||||
arch-x86/string/sse2-memset-atom.S \
|
||||
arch-x86/string/sse2-bzero-atom.S \
|
||||
@ -64,23 +63,7 @@ _LIBC_ARCH_COMMON_SRC_FILES += \
|
||||
arch-x86/string/sse2-wcschr-atom.S \
|
||||
arch-x86/string/sse2-wcsrchr-atom.S \
|
||||
arch-x86/string/sse2-wcslen-atom.S \
|
||||
arch-x86/string/sse2-wcscmp-atom.S
|
||||
else
|
||||
_LIBC_ARCH_COMMON_SRC_FILES += \
|
||||
arch-x86/string/memset.S \
|
||||
arch-x86/string/strlen.S \
|
||||
arch-x86/string/bzero.S \
|
||||
bionic/memrchr.c \
|
||||
bionic/memchr.c \
|
||||
bionic/strchr.cpp \
|
||||
string/strrchr.c \
|
||||
string/index.c \
|
||||
bionic/strnlen.c \
|
||||
upstream-freebsd/lib/libc/string/wcschr.c \
|
||||
upstream-freebsd/lib/libc/string/wcsrchr.c \
|
||||
upstream-freebsd/lib/libc/string/wcslen.c \
|
||||
upstream-freebsd/lib/libc/string/wcscmp.c
|
||||
endif
|
||||
arch-x86/string/sse2-wcscmp-atom.S \
|
||||
|
||||
_LIBC_ARCH_STATIC_SRC_FILES := \
|
||||
bionic/dl_iterate_phdr_static.c \
|
||||
|
Loading…
Reference in New Issue
Block a user