2014-09-17 04:06:31 +02:00
|
|
|
# 32-bit x86.
|
2014-01-24 00:17:50 +01:00
|
|
|
|
2014-09-17 04:06:31 +02:00
|
|
|
#
|
|
|
|
# Various kinds of LP32 cruft.
|
|
|
|
#
|
|
|
|
|
|
|
|
libc_bionic_src_files_x86 += \
|
|
|
|
bionic/mmap.cpp \
|
|
|
|
|
|
|
|
libc_common_src_files_x86 += \
|
2014-01-24 00:17:50 +01:00
|
|
|
bionic/legacy_32_bit_support.cpp \
|
|
|
|
bionic/ndk_cruft.cpp \
|
2014-04-22 22:55:58 +02:00
|
|
|
bionic/time64.c \
|
2014-09-17 04:06:31 +02:00
|
|
|
|
|
|
|
libc_netbsd_src_files_x86 += \
|
|
|
|
upstream-netbsd/common/lib/libc/hash/sha1/sha1.c \
|
|
|
|
|
|
|
|
libc_openbsd_src_files_x86 += \
|
2014-06-11 23:17:35 +02:00
|
|
|
upstream-openbsd/lib/libc/stdio/putw.c \
|
2014-01-24 00:17:50 +01:00
|
|
|
|
2014-09-17 04:06:31 +02:00
|
|
|
#
|
|
|
|
# Default implementations of functions that are commonly optimized.
|
|
|
|
#
|
|
|
|
|
2014-01-24 00:17:50 +01:00
|
|
|
libc_common_src_files_x86 += \
|
|
|
|
bionic/__memcpy_chk.cpp \
|
|
|
|
bionic/__memset_chk.cpp \
|
|
|
|
bionic/__strcpy_chk.cpp \
|
|
|
|
bionic/__strcat_chk.cpp \
|
|
|
|
|
2014-09-17 04:06:31 +02:00
|
|
|
libc_freebsd_src_files_x86 += \
|
|
|
|
upstream-freebsd/lib/libc/string/wmemmove.c \
|
2014-01-24 00:17:50 +01:00
|
|
|
|
2014-09-17 04:06:31 +02:00
|
|
|
#
|
|
|
|
# Inherently architecture-specific functions.
|
|
|
|
#
|
2014-01-24 00:17:50 +01:00
|
|
|
|
|
|
|
libc_bionic_src_files_x86 += \
|
2013-11-19 22:31:58 +01:00
|
|
|
arch-x86/bionic/__bionic_clone.S \
|
2013-02-26 10:30:00 +01:00
|
|
|
arch-x86/bionic/_exit_with_stack_teardown.S \
|
2014-10-07 00:11:28 +02:00
|
|
|
arch-x86/bionic/libgcc_compat.c \
|
2014-09-11 00:20:40 +02:00
|
|
|
arch-x86/bionic/__restore_rt.S \
|
|
|
|
arch-x86/bionic/__restore.S \
|
2013-02-26 10:30:00 +01:00
|
|
|
arch-x86/bionic/_setjmp.S \
|
|
|
|
arch-x86/bionic/setjmp.S \
|
|
|
|
arch-x86/bionic/__set_tls.c \
|
|
|
|
arch-x86/bionic/sigsetjmp.S \
|
|
|
|
arch-x86/bionic/syscall.S \
|
2014-08-05 22:53:31 +02:00
|
|
|
arch-x86/bionic/vfork.S \
|
bionic/x86: Optimization for string routines
Optimized strcpy, strcat,
strncpy, strncat, strlcpy, strlcat,
memchr, memrchr, strchr, strrchr, index,
strnlen, strlen, wcslen, wmemcmp, wcscmp,
wcschr, wcsrchr, wcscpy, wcscat
Change-Id: I82b29132edf9a2e144e0bb3ee4ff5217df8d2a6d
Signed-off-by: Liubov Dmitrieva <liubov.dmitrieva@intel.com>
2012-01-17 09:55:46 +01:00
|
|
|
|
Add 32-bit Silvermont-optimized string/memory functions.
Add following functions:
bcopy, memcpy, memmove, memset, bzero, memcmp, wmemcmp, strlen,
strcpy, strncpy, stpcpy, stpncpy.
Create new directories inside arch-x86 to specify architecture: atom,
silvermont and generic (non atom or silvermont architectures are treated like generic).
Due to introducing optimized versions of stpcpy and stpncpy,
c-implementations of these functions are moved from
common for architectures makefile to arm and mips specific makefiles.
Change-Id: I990f8061c3e9bca1f154119303da9e781c5d086e
Signed-off-by: Varvara Rainchik <varvara.rainchik@intel.com>
2014-04-24 13:41:20 +02:00
|
|
|
## ARCH variant specific source files
|
|
|
|
arch_variant_mk := $(LOCAL_PATH)/arch-x86/$(TARGET_ARCH_VARIANT)/$(TARGET_ARCH_VARIANT).mk
|
|
|
|
ifeq ($(wildcard $(arch_variant_mk)),)
|
|
|
|
arch_variant_mk := $(LOCAL_PATH)/arch-x86/generic/generic.mk
|
bionic/x86: Optimization for string routines
Optimized strcpy, strcat,
strncpy, strncat, strlcpy, strlcat,
memchr, memrchr, strchr, strrchr, index,
strnlen, strlen, wcslen, wmemcmp, wcscmp,
wcschr, wcsrchr, wcscpy, wcscat
Change-Id: I82b29132edf9a2e144e0bb3ee4ff5217df8d2a6d
Signed-off-by: Liubov Dmitrieva <liubov.dmitrieva@intel.com>
2012-01-17 09:55:46 +01:00
|
|
|
endif
|
Add 32-bit Silvermont-optimized string/memory functions.
Add following functions:
bcopy, memcpy, memmove, memset, bzero, memcmp, wmemcmp, strlen,
strcpy, strncpy, stpcpy, stpncpy.
Create new directories inside arch-x86 to specify architecture: atom,
silvermont and generic (non atom or silvermont architectures are treated like generic).
Due to introducing optimized versions of stpcpy and stpncpy,
c-implementations of these functions are moved from
common for architectures makefile to arm and mips specific makefiles.
Change-Id: I990f8061c3e9bca1f154119303da9e781c5d086e
Signed-off-by: Varvara Rainchik <varvara.rainchik@intel.com>
2014-04-24 13:41:20 +02:00
|
|
|
include $(arch_variant_mk)
|
|
|
|
libc_common_additional_dependencies += $(arch_variant_mk)
|
bionic/x86: Optimization for string routines
Optimized strcpy, strcat,
strncpy, strncat, strlcpy, strlcat,
memchr, memrchr, strchr, strrchr, index,
strnlen, strlen, wcslen, wmemcmp, wcscmp,
wcschr, wcsrchr, wcscpy, wcscat
Change-Id: I82b29132edf9a2e144e0bb3ee4ff5217df8d2a6d
Signed-off-by: Liubov Dmitrieva <liubov.dmitrieva@intel.com>
2012-01-17 09:55:46 +01:00
|
|
|
|
Add 32-bit Silvermont-optimized string/memory functions.
Add following functions:
bcopy, memcpy, memmove, memset, bzero, memcmp, wmemcmp, strlen,
strcpy, strncpy, stpcpy, stpncpy.
Create new directories inside arch-x86 to specify architecture: atom,
silvermont and generic (non atom or silvermont architectures are treated like generic).
Due to introducing optimized versions of stpcpy and stpncpy,
c-implementations of these functions are moved from
common for architectures makefile to arm and mips specific makefiles.
Change-Id: I990f8061c3e9bca1f154119303da9e781c5d086e
Signed-off-by: Varvara Rainchik <varvara.rainchik@intel.com>
2014-04-24 13:41:20 +02:00
|
|
|
arch_variant_mk :=
|
2014-01-24 00:17:50 +01:00
|
|
|
|
|
|
|
libc_crt_target_cflags_x86 := \
|
|
|
|
-m32 \
|
|
|
|
-I$(LOCAL_PATH)/arch-x86/include
|
|
|
|
|
|
|
|
libc_crt_target_ldflags_x86 := -melf_i386
|
|
|
|
|
|
|
|
libc_crt_target_crtbegin_file_x86 := \
|
|
|
|
$(LOCAL_PATH)/arch-common/bionic/crtbegin.c
|
|
|
|
|
|
|
|
libc_crt_target_crtbegin_so_file_x86 := \
|
|
|
|
$(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c
|
|
|
|
|
|
|
|
libc_crt_target_so_cflags_x86 := \
|
|
|
|
-fPIC
|