Elliott Hughes | 7c02d94 | 2014-09-16 19:06:31 -0700 | [diff] [blame] | 1 | # 32-bit x86. |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 2 | |
Elliott Hughes | 7c02d94 | 2014-09-16 19:06:31 -0700 | [diff] [blame] | 3 | # |
Elliott Hughes | 7c02d94 | 2014-09-16 19:06:31 -0700 | [diff] [blame] | 4 | # Default implementations of functions that are commonly optimized. |
| 5 | # |
| 6 | |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 7 | libc_common_src_files_x86 += \ |
| 8 | bionic/__memcpy_chk.cpp \ |
| 9 | bionic/__memset_chk.cpp \ |
| 10 | bionic/__strcpy_chk.cpp \ |
| 11 | bionic/__strcat_chk.cpp \ |
Elliott Hughes | 7c02d94 | 2014-09-16 19:06:31 -0700 | [diff] [blame] | 12 | |
| 13 | libc_freebsd_src_files_x86 += \ |
Bernhard Rosenkraenzer | 6f2bde3 | 2014-05-23 17:44:18 +0200 | [diff] [blame] | 14 | upstream-freebsd/lib/libc/string/wmemmove.c \ |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 15 | |
Elliott Hughes | 7c02d94 | 2014-09-16 19:06:31 -0700 | [diff] [blame] | 16 | # |
| 17 | # Inherently architecture-specific functions. |
| 18 | # |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 19 | |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 20 | libc_bionic_src_files_x86 += \ |
Elliott Hughes | 36d6188 | 2013-11-19 13:31:58 -0800 | [diff] [blame] | 21 | arch-x86/bionic/__bionic_clone.S \ |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 22 | arch-x86/bionic/_exit_with_stack_teardown.S \ |
Christopher Ferris | 6869d26 | 2014-10-06 15:11:28 -0700 | [diff] [blame] | 23 | arch-x86/bionic/libgcc_compat.c \ |
Elliott Hughes | 36f451a | 2014-09-10 15:20:40 -0700 | [diff] [blame] | 24 | arch-x86/bionic/__restore.S \ |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 25 | arch-x86/bionic/setjmp.S \ |
| 26 | arch-x86/bionic/__set_tls.c \ |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 27 | arch-x86/bionic/syscall.S \ |
Dan Albert | 6a91887 | 2014-08-05 20:53:31 +0000 | [diff] [blame] | 28 | arch-x86/bionic/vfork.S \ |
Liubov Dmitrieva | 0a49066 | 2012-01-17 12:55:46 +0400 | [diff] [blame] | 29 | |
Varvara Rainchik | 5a92284 | 2014-04-24 15:41:20 +0400 | [diff] [blame] | 30 | ## ARCH variant specific source files |
| 31 | arch_variant_mk := $(LOCAL_PATH)/arch-x86/$(TARGET_ARCH_VARIANT)/$(TARGET_ARCH_VARIANT).mk |
| 32 | ifeq ($(wildcard $(arch_variant_mk)),) |
| 33 | arch_variant_mk := $(LOCAL_PATH)/arch-x86/generic/generic.mk |
Liubov Dmitrieva | 0a49066 | 2012-01-17 12:55:46 +0400 | [diff] [blame] | 34 | endif |
Varvara Rainchik | 5a92284 | 2014-04-24 15:41:20 +0400 | [diff] [blame] | 35 | include $(arch_variant_mk) |
| 36 | libc_common_additional_dependencies += $(arch_variant_mk) |
Liubov Dmitrieva | 0a49066 | 2012-01-17 12:55:46 +0400 | [diff] [blame] | 37 | |
Varvara Rainchik | 5a92284 | 2014-04-24 15:41:20 +0400 | [diff] [blame] | 38 | arch_variant_mk := |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 39 | |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 40 | libc_crt_target_cflags_x86 := \ |
| 41 | -m32 \ |
| 42 | -I$(LOCAL_PATH)/arch-x86/include |
| 43 | |
| 44 | libc_crt_target_ldflags_x86 := -melf_i386 |
| 45 | |
| 46 | libc_crt_target_crtbegin_file_x86 := \ |
| 47 | $(LOCAL_PATH)/arch-common/bionic/crtbegin.c |
| 48 | |
| 49 | libc_crt_target_crtbegin_so_file_x86 := \ |
| 50 | $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c |
| 51 | |
| 52 | libc_crt_target_so_cflags_x86 := \ |
| 53 | -fPIC |