Merge "Remove deprecated Android.mk files"
This commit is contained in:
commit
8428fb03c8
23 changed files with 0 additions and 2949 deletions
19
Android.mk
19
Android.mk
|
@ -1,19 +0,0 @@
|
|||
#
|
||||
# Copyright (C) 2008 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(call all-makefiles-under,$(LOCAL_PATH))
|
1481
libc/Android.mk
1481
libc/Android.mk
File diff suppressed because it is too large
Load diff
|
@ -1,62 +0,0 @@
|
|||
# 32-bit arm.
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/generic/bionic/memcmp.S \
|
||||
arch-arm/generic/bionic/memcpy.S \
|
||||
arch-arm/generic/bionic/memset.S \
|
||||
arch-arm/generic/bionic/strcmp.S \
|
||||
arch-arm/generic/bionic/strcpy.S \
|
||||
arch-arm/generic/bionic/strlen.c \
|
||||
|
||||
libc_bionic_src_files_exclude_arm += \
|
||||
bionic/__memcpy_chk.cpp \
|
||||
|
||||
libc_openbsd_src_files_exclude_arm += \
|
||||
upstream-openbsd/lib/libc/string/strcpy.c \
|
||||
|
||||
#
|
||||
# Inherently architecture-specific code.
|
||||
#
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/bionic/abort_arm.S \
|
||||
arch-arm/bionic/atomics_arm.c \
|
||||
arch-arm/bionic/__bionic_clone.S \
|
||||
arch-arm/bionic/_exit_with_stack_teardown.S \
|
||||
arch-arm/bionic/libgcc_compat.c \
|
||||
arch-arm/bionic/popcount_tab.c \
|
||||
arch-arm/bionic/__restore.S \
|
||||
arch-arm/bionic/setjmp.S \
|
||||
arch-arm/bionic/syscall.S \
|
||||
arch-arm/bionic/vfork.S \
|
||||
|
||||
libc_arch_static_src_files_arm := arch-arm/bionic/exidx_static.c
|
||||
libc_arch_dynamic_src_files_arm := arch-arm/bionic/exidx_dynamic.c
|
||||
|
||||
## CPU variant specific source files
|
||||
ifeq ($(strip $(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)),)
|
||||
$(warning TARGET_$(my_2nd_arch_prefix)ARCH is arm, but TARGET_$(my_2nd_arch_prefix)CPU_VARIANT is not defined)
|
||||
endif
|
||||
ifneq ($(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT),generic)
|
||||
cpu_variant_mk := $(LOCAL_PATH)/arch-arm/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT).mk
|
||||
ifeq ($(wildcard $(cpu_variant_mk)),)
|
||||
$(error "TARGET_$(my_2nd_arch_prefix)CPU_VARIANT not set or set to an unknown value. Possible values are cortex-a7, cortex-a8, cortex-a9, cortex-a15, krait, denver. Use generic for devices that do not have a CPU similar to any of the supported cpu variants.")
|
||||
endif
|
||||
include $(cpu_variant_mk)
|
||||
libc_common_additional_dependencies += $(cpu_variant_mk)
|
||||
|
||||
cpu_variant_mk :=
|
||||
endif
|
||||
|
||||
|
||||
libc_crt_target_cflags_arm := \
|
||||
-I$(LOCAL_PATH)/arch-arm/include \
|
||||
-mthumb-interwork
|
||||
|
||||
libc_crt_target_so_cflags_arm :=
|
||||
|
||||
libc_crt_target_crtbegin_file_arm := \
|
||||
$(LOCAL_PATH)/arch-common/bionic/crtbegin.c
|
||||
|
||||
libc_crt_target_crtbegin_so_file_arm := \
|
||||
$(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c
|
|
@ -1,27 +0,0 @@
|
|||
libc_openbsd_src_files_exclude_arm += \
|
||||
upstream-openbsd/lib/libc/string/memmove.c \
|
||||
upstream-openbsd/lib/libc/string/stpcpy.c \
|
||||
upstream-openbsd/lib/libc/string/strcat.c \
|
||||
|
||||
libc_bionic_src_files_exclude_arm += \
|
||||
arch-arm/generic/bionic/memcpy.S \
|
||||
arch-arm/generic/bionic/memset.S \
|
||||
arch-arm/generic/bionic/strcmp.S \
|
||||
arch-arm/generic/bionic/strcpy.S \
|
||||
arch-arm/generic/bionic/strlen.c \
|
||||
bionic/__strcat_chk.cpp \
|
||||
bionic/__strcpy_chk.cpp \
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/cortex-a15/bionic/memcpy.S \
|
||||
arch-arm/cortex-a15/bionic/memset.S \
|
||||
arch-arm/cortex-a15/bionic/stpcpy.S \
|
||||
arch-arm/cortex-a15/bionic/strcat.S \
|
||||
arch-arm/cortex-a15/bionic/__strcat_chk.S \
|
||||
arch-arm/cortex-a15/bionic/strcmp.S \
|
||||
arch-arm/cortex-a15/bionic/strcpy.S \
|
||||
arch-arm/cortex-a15/bionic/__strcpy_chk.S \
|
||||
arch-arm/cortex-a15/bionic/strlen.S \
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/denver/bionic/memmove.S \
|
|
@ -1,32 +0,0 @@
|
|||
# This file represents the best optimized routines that are the middle
|
||||
# ground when running on a big/little system that is cortex-a57/cortex-a53.
|
||||
# The cortex-a7 optimized routines, and the cortex-a53 optimized routines
|
||||
# decrease performance on cortex-a57 processors by as much as 20%.
|
||||
|
||||
libc_openbsd_src_files_exclude_arm += \
|
||||
upstream-openbsd/lib/libc/string/memmove.c \
|
||||
upstream-openbsd/lib/libc/string/stpcpy.c \
|
||||
upstream-openbsd/lib/libc/string/strcat.c \
|
||||
|
||||
libc_bionic_src_files_exclude_arm += \
|
||||
arch-arm/generic/bionic/memcpy.S \
|
||||
arch-arm/generic/bionic/memset.S \
|
||||
arch-arm/generic/bionic/strcmp.S \
|
||||
arch-arm/generic/bionic/strcpy.S \
|
||||
arch-arm/generic/bionic/strlen.c \
|
||||
bionic/__strcat_chk.cpp \
|
||||
bionic/__strcpy_chk.cpp \
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/cortex-a15/bionic/memcpy.S \
|
||||
arch-arm/cortex-a15/bionic/memset.S \
|
||||
arch-arm/cortex-a15/bionic/stpcpy.S \
|
||||
arch-arm/cortex-a15/bionic/strcat.S \
|
||||
arch-arm/cortex-a15/bionic/__strcat_chk.S \
|
||||
arch-arm/cortex-a15/bionic/strcmp.S \
|
||||
arch-arm/cortex-a15/bionic/strcpy.S \
|
||||
arch-arm/cortex-a15/bionic/__strcpy_chk.S \
|
||||
arch-arm/cortex-a15/bionic/strlen.S \
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/denver/bionic/memmove.S \
|
|
@ -1,31 +0,0 @@
|
|||
libc_openbsd_src_files_exclude_arm += \
|
||||
upstream-openbsd/lib/libc/string/memmove.c \
|
||||
upstream-openbsd/lib/libc/string/stpcpy.c \
|
||||
upstream-openbsd/lib/libc/string/strcat.c \
|
||||
|
||||
libc_bionic_src_files_exclude_arm += \
|
||||
arch-arm/generic/bionic/memcpy.S \
|
||||
arch-arm/generic/bionic/memset.S \
|
||||
arch-arm/generic/bionic/strcmp.S \
|
||||
arch-arm/generic/bionic/strcpy.S \
|
||||
arch-arm/generic/bionic/strlen.c \
|
||||
bionic/__strcat_chk.cpp \
|
||||
bionic/__strcpy_chk.cpp \
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/cortex-a53/bionic/memcpy.S \
|
||||
arch-arm/cortex-a53/bionic/__strcat_chk.S \
|
||||
arch-arm/cortex-a53/bionic/__strcpy_chk.S \
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/cortex-a7/bionic/memset.S \
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/cortex-a15/bionic/stpcpy.S \
|
||||
arch-arm/cortex-a15/bionic/strcat.S \
|
||||
arch-arm/cortex-a15/bionic/strcmp.S \
|
||||
arch-arm/cortex-a15/bionic/strcpy.S \
|
||||
arch-arm/cortex-a15/bionic/strlen.S \
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/denver/bionic/memmove.S \
|
|
@ -1,29 +0,0 @@
|
|||
libc_openbsd_src_files_exclude_arm += \
|
||||
upstream-openbsd/lib/libc/string/memmove.c \
|
||||
upstream-openbsd/lib/libc/string/stpcpy.c \
|
||||
upstream-openbsd/lib/libc/string/strcat.c \
|
||||
|
||||
libc_bionic_src_files_exclude_arm += \
|
||||
arch-arm/generic/bionic/memcpy.S \
|
||||
arch-arm/generic/bionic/memset.S \
|
||||
arch-arm/generic/bionic/strcmp.S \
|
||||
arch-arm/generic/bionic/strcpy.S \
|
||||
arch-arm/generic/bionic/strlen.c \
|
||||
bionic/__strcat_chk.cpp \
|
||||
bionic/__strcpy_chk.cpp \
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/cortex-a7/bionic/memset.S \
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/cortex-a15/bionic/memcpy.S \
|
||||
arch-arm/cortex-a15/bionic/stpcpy.S \
|
||||
arch-arm/cortex-a15/bionic/strcat.S \
|
||||
arch-arm/cortex-a15/bionic/__strcat_chk.S \
|
||||
arch-arm/cortex-a15/bionic/strcmp.S \
|
||||
arch-arm/cortex-a15/bionic/strcpy.S \
|
||||
arch-arm/cortex-a15/bionic/__strcpy_chk.S \
|
||||
arch-arm/cortex-a15/bionic/strlen.S \
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/denver/bionic/memmove.S \
|
|
@ -1 +0,0 @@
|
|||
include bionic/libc/arch-arm/cortex-a15/cortex-a15.mk
|
|
@ -1,28 +0,0 @@
|
|||
libc_openbsd_src_files_exclude_arm += \
|
||||
upstream-openbsd/lib/libc/string/memmove.c \
|
||||
upstream-openbsd/lib/libc/string/stpcpy.c \
|
||||
upstream-openbsd/lib/libc/string/strcat.c \
|
||||
upstream-openbsd/lib/libc/string/strcpy.c \
|
||||
|
||||
libc_bionic_src_files_exclude_arm += \
|
||||
arch-arm/generic/bionic/memcpy.S \
|
||||
arch-arm/generic/bionic/memset.S \
|
||||
arch-arm/generic/bionic/strcmp.S \
|
||||
arch-arm/generic/bionic/strcpy.S \
|
||||
arch-arm/generic/bionic/strlen.c \
|
||||
bionic/__strcat_chk.cpp \
|
||||
bionic/__strcpy_chk.cpp \
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/cortex-a9/bionic/memcpy.S \
|
||||
arch-arm/cortex-a9/bionic/memset.S \
|
||||
arch-arm/cortex-a9/bionic/stpcpy.S \
|
||||
arch-arm/cortex-a9/bionic/strcat.S \
|
||||
arch-arm/cortex-a9/bionic/__strcat_chk.S \
|
||||
arch-arm/cortex-a9/bionic/strcmp.S \
|
||||
arch-arm/cortex-a9/bionic/strcpy.S \
|
||||
arch-arm/cortex-a9/bionic/__strcpy_chk.S \
|
||||
arch-arm/cortex-a9/bionic/strlen.S \
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/denver/bionic/memmove.S \
|
|
@ -1,28 +0,0 @@
|
|||
libc_openbsd_src_files_exclude_arm += \
|
||||
upstream-openbsd/lib/libc/string/memmove.c \
|
||||
upstream-openbsd/lib/libc/string/stpcpy.c \
|
||||
upstream-openbsd/lib/libc/string/strcat.c \
|
||||
|
||||
libc_bionic_src_files_exclude_arm += \
|
||||
arch-arm/generic/bionic/memcpy.S \
|
||||
arch-arm/generic/bionic/memset.S \
|
||||
arch-arm/generic/bionic/strcmp.S \
|
||||
arch-arm/generic/bionic/strcpy.S \
|
||||
arch-arm/generic/bionic/strlen.c \
|
||||
bionic/__strcat_chk.cpp \
|
||||
bionic/__strcpy_chk.cpp \
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/denver/bionic/memcpy.S \
|
||||
arch-arm/denver/bionic/memmove.S \
|
||||
arch-arm/denver/bionic/memset.S \
|
||||
arch-arm/denver/bionic/__strcat_chk.S \
|
||||
arch-arm/denver/bionic/__strcpy_chk.S \
|
||||
|
||||
# Use cortex-a15 versions of strcat/strcpy/strlen.
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/cortex-a15/bionic/stpcpy.S \
|
||||
arch-arm/cortex-a15/bionic/strcat.S \
|
||||
arch-arm/cortex-a15/bionic/strcmp.S \
|
||||
arch-arm/cortex-a15/bionic/strcpy.S \
|
||||
arch-arm/cortex-a15/bionic/strlen.S \
|
|
@ -1,31 +0,0 @@
|
|||
libc_openbsd_src_files_exclude_arm += \
|
||||
upstream-openbsd/lib/libc/string/memmove.c \
|
||||
upstream-openbsd/lib/libc/string/stpcpy.c \
|
||||
upstream-openbsd/lib/libc/string/stpcpy.c \
|
||||
upstream-openbsd/lib/libc/string/strcat.c \
|
||||
|
||||
libc_bionic_src_files_exclude_arm += \
|
||||
arch-arm/generic/bionic/memcpy.S \
|
||||
arch-arm/generic/bionic/memset.S \
|
||||
arch-arm/generic/bionic/strcmp.S \
|
||||
arch-arm/generic/bionic/strcpy.S \
|
||||
arch-arm/generic/bionic/strlen.c \
|
||||
bionic/__strcat_chk.cpp \
|
||||
bionic/__strcpy_chk.cpp \
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/krait/bionic/memcpy.S \
|
||||
arch-arm/krait/bionic/memset.S \
|
||||
arch-arm/krait/bionic/strcmp.S \
|
||||
arch-arm/krait/bionic/__strcat_chk.S \
|
||||
arch-arm/krait/bionic/__strcpy_chk.S \
|
||||
|
||||
# Use cortex-a15 versions of strcat/strcpy/strlen and standard memmove
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/cortex-a15/bionic/stpcpy.S \
|
||||
arch-arm/cortex-a15/bionic/strcat.S \
|
||||
arch-arm/cortex-a15/bionic/strcpy.S \
|
||||
arch-arm/cortex-a15/bionic/strlen.S \
|
||||
|
||||
libc_bionic_src_files_arm += \
|
||||
arch-arm/denver/bionic/memmove.S \
|
|
@ -1,71 +0,0 @@
|
|||
# 64-bit arm.
|
||||
|
||||
#
|
||||
# Generic arm64 optimizations, may be overriden by CPU variants.
|
||||
#
|
||||
|
||||
libc_bionic_src_files_arm64 += \
|
||||
arch-arm64/generic/bionic/memchr.S \
|
||||
arch-arm64/generic/bionic/memcmp.S \
|
||||
arch-arm64/generic/bionic/memcpy.S \
|
||||
arch-arm64/generic/bionic/memmove.S \
|
||||
arch-arm64/generic/bionic/memset.S \
|
||||
arch-arm64/generic/bionic/stpcpy.S \
|
||||
arch-arm64/generic/bionic/strchr.S \
|
||||
arch-arm64/generic/bionic/strcmp.S \
|
||||
arch-arm64/generic/bionic/strcpy.S \
|
||||
arch-arm64/generic/bionic/strlen.S \
|
||||
arch-arm64/generic/bionic/strncmp.S \
|
||||
arch-arm64/generic/bionic/strnlen.S \
|
||||
arch-arm64/generic/bionic/wmemmove.S \
|
||||
|
||||
libc_bionic_src_files_exclude_arm64 += \
|
||||
bionic/__memcpy_chk.cpp \
|
||||
bionic/strchr.cpp \
|
||||
bionic/strnlen.c \
|
||||
|
||||
libc_freebsd_src_files_exclude_arm64 += \
|
||||
upstream-freebsd/lib/libc/string/wmemmove.c \
|
||||
|
||||
libc_openbsd_src_files_exclude_arm64 += \
|
||||
upstream-openbsd/lib/libc/string/memchr.c \
|
||||
upstream-openbsd/lib/libc/string/memmove.c \
|
||||
upstream-openbsd/lib/libc/string/stpcpy.c \
|
||||
upstream-openbsd/lib/libc/string/strcpy.c \
|
||||
upstream-openbsd/lib/libc/string/strncmp.c \
|
||||
|
||||
#
|
||||
# Inherently architecture-specific code.
|
||||
#
|
||||
|
||||
libc_bionic_src_files_arm64 += \
|
||||
arch-arm64/bionic/__bionic_clone.S \
|
||||
arch-arm64/bionic/_exit_with_stack_teardown.S \
|
||||
arch-arm64/bionic/setjmp.S \
|
||||
arch-arm64/bionic/syscall.S \
|
||||
arch-arm64/bionic/vfork.S \
|
||||
|
||||
|
||||
libc_crt_target_cflags_arm64 := \
|
||||
-I$(LOCAL_PATH)/arch-arm64/include
|
||||
|
||||
libc_crt_target_crtbegin_file_arm64 := \
|
||||
$(LOCAL_PATH)/arch-arm64/bionic/crtbegin.c
|
||||
|
||||
libc_crt_target_crtbegin_so_file_arm64 := \
|
||||
$(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c
|
||||
|
||||
## CPU variant specific source files
|
||||
ifeq ($(strip $(TARGET_CPU_VARIANT)),)
|
||||
$(warning TARGET_ARCH is arm64, but TARGET_CPU_VARIANT is not defined)
|
||||
endif
|
||||
ifneq ($(TARGET_CPU_VARIANT),generic)
|
||||
cpu_variant_mk := $(LOCAL_PATH)/arch-arm64/$(TARGET_CPU_VARIANT)/$(TARGET_CPU_VARIANT).mk
|
||||
ifeq ($(wildcard $(cpu_variant_mk)),)
|
||||
$(error "TARGET_CPU_VARIANT not set or set to an unknown value. Possible values are generic, denver64. Use generic for devices that do not have a CPU similar to any of the supported cpu variants.")
|
||||
endif
|
||||
include $(cpu_variant_mk)
|
||||
libc_common_additional_dependencies += $(cpu_variant_mk)
|
||||
|
||||
cpu_variant_mk :=
|
||||
endif
|
|
@ -1,7 +0,0 @@
|
|||
libc_bionic_src_files_arm64 += \
|
||||
arch-arm64/denver64/bionic/memcpy.S \
|
||||
arch-arm64/denver64/bionic/memset.S \
|
||||
|
||||
libc_bionic_src_files_exclude_arm64 += \
|
||||
arch-arm64/generic/bionic/memcpy.S \
|
||||
arch-arm64/generic/bionic/memset.S \
|
|
@ -1,46 +0,0 @@
|
|||
# 32-bit mips.
|
||||
|
||||
libc_bionic_src_files_mips += \
|
||||
arch-mips/string/memcmp.c \
|
||||
arch-mips/string/memcpy.S \
|
||||
arch-mips/string/memset.S \
|
||||
arch-mips/string/strcmp.S \
|
||||
|
||||
#
|
||||
# Inherently architecture-specific code.
|
||||
#
|
||||
|
||||
libc_bionic_src_files_mips += \
|
||||
arch-mips/bionic/__bionic_clone.S \
|
||||
arch-mips/bionic/cacheflush.cpp \
|
||||
arch-mips/bionic/_exit_with_stack_teardown.S \
|
||||
arch-mips/bionic/libgcc_compat.c \
|
||||
arch-mips/bionic/setjmp.S \
|
||||
arch-mips/bionic/syscall.S \
|
||||
arch-mips/bionic/vfork.S \
|
||||
|
||||
ifndef ARCH_MIPS_REV6
|
||||
libc_bionic_src_files_mips += \
|
||||
arch-mips/string/mips_strlen.c \
|
||||
|
||||
else
|
||||
libc_bionic_src_files_mips += \
|
||||
arch-mips/string/strlen.c \
|
||||
|
||||
endif
|
||||
|
||||
libc_crt_target_cflags_mips := \
|
||||
$($(my_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS) \
|
||||
-I$(LOCAL_PATH)/arch-mips/include
|
||||
|
||||
libc_crt_target_crtbegin_file_mips := \
|
||||
$(LOCAL_PATH)/arch-mips/bionic/crtbegin.c
|
||||
|
||||
libc_crt_target_crtbegin_so_file_mips := \
|
||||
$(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c
|
||||
|
||||
libc_crt_target_so_cflags_mips := \
|
||||
-fPIC
|
||||
|
||||
libc_crt_target_ldflags_mips := \
|
||||
-melf32ltsmip
|
|
@ -1,36 +0,0 @@
|
|||
# 64-bit mips.
|
||||
|
||||
libc_bionic_src_files_mips64 += \
|
||||
arch-mips/string/memcmp.c \
|
||||
arch-mips/string/memcpy.S \
|
||||
arch-mips/string/memset.S \
|
||||
arch-mips/string/strcmp.S \
|
||||
arch-mips/string/strlen.c \
|
||||
|
||||
#
|
||||
# Inherently architecture-specific code.
|
||||
#
|
||||
|
||||
libc_bionic_src_files_mips64 += \
|
||||
arch-mips64/bionic/__bionic_clone.S \
|
||||
arch-mips64/bionic/_exit_with_stack_teardown.S \
|
||||
arch-mips64/bionic/setjmp.S \
|
||||
arch-mips64/bionic/syscall.S \
|
||||
arch-mips64/bionic/vfork.S \
|
||||
arch-mips64/bionic/stat.cpp \
|
||||
|
||||
libc_crt_target_cflags_mips64 := \
|
||||
$($(my_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS) \
|
||||
-I$(LOCAL_PATH)/arch-mips64/include \
|
||||
|
||||
libc_crt_target_crtbegin_file_mips64 := \
|
||||
$(LOCAL_PATH)/arch-mips64/bionic/crtbegin.c \
|
||||
|
||||
libc_crt_target_crtbegin_so_file_mips64 := \
|
||||
$(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c \
|
||||
|
||||
libc_crt_target_so_cflags_mips64 := \
|
||||
-fPIC \
|
||||
|
||||
libc_crt_target_ldflags_mips64 := \
|
||||
-melf64ltsmip \
|
|
@ -1,23 +0,0 @@
|
|||
libc_bionic_src_files_x86 += \
|
||||
arch-x86/atom/string/sse2-memset-atom.S \
|
||||
arch-x86/atom/string/sse2-strlen-atom.S \
|
||||
arch-x86/atom/string/ssse3-memcmp-atom.S \
|
||||
arch-x86/atom/string/ssse3-memcpy-atom.S \
|
||||
arch-x86/atom/string/ssse3-memmove-atom.S \
|
||||
arch-x86/atom/string/ssse3-strcpy-atom.S \
|
||||
arch-x86/atom/string/ssse3-strncpy-atom.S \
|
||||
arch-x86/atom/string/ssse3-wmemcmp-atom.S
|
||||
|
||||
libc_bionic_src_files_exclude_x86 += \
|
||||
arch-x86/generic/string/memcmp.S \
|
||||
|
||||
libc_bionic_src_files_exclude_x86 += \
|
||||
arch-x86/silvermont/string/sse2-memcpy-slm.S \
|
||||
arch-x86/silvermont/string/sse2-memmove-slm.S \
|
||||
arch-x86/silvermont/string/sse2-memset-slm.S \
|
||||
arch-x86/silvermont/string/sse2-strcpy-slm.S \
|
||||
arch-x86/silvermont/string/sse2-strlen-slm.S \
|
||||
arch-x86/silvermont/string/sse2-strncpy-slm.S \
|
||||
|
||||
libc_freebsd_src_files_exclude_x86 += \
|
||||
upstream-freebsd/lib/libc/string/wmemcmp.c \
|
|
@ -1,138 +0,0 @@
|
|||
# 32-bit x86.
|
||||
|
||||
#
|
||||
# Generic x86 optimizations, may be overriden by CPU variants.
|
||||
#
|
||||
|
||||
libc_bionic_src_files_x86 += \
|
||||
arch-x86/atom/string/sse2-memchr-atom.S \
|
||||
arch-x86/atom/string/sse2-memrchr-atom.S \
|
||||
arch-x86/atom/string/sse2-strchr-atom.S \
|
||||
arch-x86/atom/string/sse2-strnlen-atom.S \
|
||||
arch-x86/atom/string/sse2-strrchr-atom.S \
|
||||
arch-x86/atom/string/sse2-wcschr-atom.S \
|
||||
arch-x86/atom/string/sse2-wcsrchr-atom.S \
|
||||
arch-x86/atom/string/sse2-wcslen-atom.S \
|
||||
arch-x86/atom/string/sse2-wcscmp-atom.S \
|
||||
arch-x86/silvermont/string/sse2-memcpy-slm.S \
|
||||
arch-x86/silvermont/string/sse2-memmove-slm.S \
|
||||
arch-x86/silvermont/string/sse2-memset-slm.S \
|
||||
arch-x86/silvermont/string/sse2-stpcpy-slm.S \
|
||||
arch-x86/silvermont/string/sse2-stpncpy-slm.S \
|
||||
arch-x86/silvermont/string/sse2-strcpy-slm.S \
|
||||
arch-x86/silvermont/string/sse2-strlen-slm.S \
|
||||
arch-x86/silvermont/string/sse2-strncpy-slm.S
|
||||
|
||||
libc_bionic_src_files_x86 += \
|
||||
arch-x86/generic/string/memcmp.S \
|
||||
arch-x86/generic/string/strcmp.S \
|
||||
arch-x86/generic/string/strncmp.S \
|
||||
arch-x86/generic/string/strcat.S
|
||||
|
||||
ifeq ($(ARCH_X86_HAVE_SSSE3),true)
|
||||
libc_bionic_src_files_x86 += \
|
||||
arch-x86/atom/string/ssse3-strncat-atom.S \
|
||||
arch-x86/atom/string/ssse3-strlcat-atom.S \
|
||||
arch-x86/atom/string/ssse3-strlcpy-atom.S \
|
||||
arch-x86/atom/string/ssse3-strcmp-atom.S \
|
||||
arch-x86/atom/string/ssse3-strncmp-atom.S \
|
||||
arch-x86/atom/string/ssse3-strcat-atom.S \
|
||||
arch-x86/atom/string/ssse3-wcscat-atom.S \
|
||||
arch-x86/atom/string/ssse3-wcscpy-atom.S
|
||||
libc_bionic_src_files_exclude_x86 += \
|
||||
arch-x86/generic/string/strcmp.S \
|
||||
arch-x86/generic/string/strncmp.S \
|
||||
arch-x86/generic/string/strcat.S
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH_X86_HAVE_SSE4),true)
|
||||
libc_bionic_src_files_x86 += \
|
||||
arch-x86/silvermont/string/sse4-memcmp-slm.S \
|
||||
arch-x86/silvermont/string/sse4-wmemcmp-slm.S
|
||||
libc_bionic_src_files_exclude_x86 += \
|
||||
arch-x86/generic/string/memcmp.S
|
||||
endif
|
||||
|
||||
#
|
||||
# Remove default implementations that we have optimized versions of.
|
||||
#
|
||||
|
||||
libc_freebsd_src_files_exclude_x86 += \
|
||||
upstream-freebsd/lib/libc/string/wcschr.c \
|
||||
upstream-freebsd/lib/libc/string/wcscmp.c \
|
||||
upstream-freebsd/lib/libc/string/wcslen.c \
|
||||
upstream-freebsd/lib/libc/string/wcsrchr.c \
|
||||
|
||||
ifeq ($(ARCH_X86_HAVE_SSSE3),true)
|
||||
libc_freebsd_src_files_exclude_x86 += \
|
||||
upstream-freebsd/lib/libc/string/wcscat.c \
|
||||
upstream-freebsd/lib/libc/string/wcscpy.c
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH_X86_HAVE_SSE4),true)
|
||||
libc_freebsd_src_files_exclude_x86 += \
|
||||
upstream-freebsd/lib/libc/string/wmemcmp.c
|
||||
endif
|
||||
|
||||
libc_openbsd_src_files_exclude_x86 += \
|
||||
upstream-openbsd/lib/libc/string/memchr.c \
|
||||
upstream-openbsd/lib/libc/string/memmove.c \
|
||||
upstream-openbsd/lib/libc/string/memrchr.c \
|
||||
upstream-openbsd/lib/libc/string/stpcpy.c \
|
||||
upstream-openbsd/lib/libc/string/stpncpy.c \
|
||||
upstream-openbsd/lib/libc/string/strcat.c \
|
||||
upstream-openbsd/lib/libc/string/strcpy.c \
|
||||
upstream-openbsd/lib/libc/string/strncmp.c \
|
||||
upstream-openbsd/lib/libc/string/strncpy.c \
|
||||
|
||||
ifeq ($(ARCH_X86_HAVE_SSSE3),true)
|
||||
libc_openbsd_src_files_exclude_x86 += \
|
||||
upstream-openbsd/lib/libc/string/strlcat.c \
|
||||
upstream-openbsd/lib/libc/string/strlcpy.c \
|
||||
upstream-openbsd/lib/libc/string/strncat.c
|
||||
endif
|
||||
|
||||
libc_bionic_src_files_exclude_x86 += \
|
||||
bionic/strchr.cpp \
|
||||
bionic/strnlen.c \
|
||||
bionic/strrchr.cpp \
|
||||
|
||||
#
|
||||
# Inherently architecture-specific functions.
|
||||
#
|
||||
|
||||
libc_bionic_src_files_x86 += \
|
||||
arch-x86/bionic/__bionic_clone.S \
|
||||
arch-x86/bionic/_exit_with_stack_teardown.S \
|
||||
arch-x86/bionic/libgcc_compat.c \
|
||||
arch-x86/bionic/__restore.S \
|
||||
arch-x86/bionic/setjmp.S \
|
||||
arch-x86/bionic/syscall.S \
|
||||
arch-x86/bionic/vfork.S \
|
||||
|
||||
## 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 :=
|
||||
endif
|
||||
ifneq ($(arch_variant_mk),)
|
||||
include $(arch_variant_mk)
|
||||
libc_common_additional_dependencies += $(arch_variant_mk)
|
||||
|
||||
arch_variant_mk :=
|
||||
endif
|
||||
|
||||
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
|
|
@ -1,65 +0,0 @@
|
|||
# 64-bit x86.
|
||||
|
||||
#
|
||||
# Remove default implementations that we have optimized versions of.
|
||||
#
|
||||
|
||||
libc_openbsd_src_files_exclude_x86_64 += \
|
||||
upstream-openbsd/lib/libc/string/memmove.c \
|
||||
upstream-openbsd/lib/libc/string/stpcpy.c \
|
||||
upstream-openbsd/lib/libc/string/stpncpy.c \
|
||||
upstream-openbsd/lib/libc/string/strcat.c \
|
||||
upstream-openbsd/lib/libc/string/strcpy.c \
|
||||
upstream-openbsd/lib/libc/string/strlcat.c \
|
||||
upstream-openbsd/lib/libc/string/strlcpy.c \
|
||||
upstream-openbsd/lib/libc/string/strncat.c \
|
||||
upstream-openbsd/lib/libc/string/strncmp.c \
|
||||
upstream-openbsd/lib/libc/string/strncpy.c \
|
||||
|
||||
#
|
||||
# Inherently architecture-specific code.
|
||||
#
|
||||
|
||||
libc_bionic_src_files_x86_64 += \
|
||||
arch-x86_64/bionic/__bionic_clone.S \
|
||||
arch-x86_64/bionic/_exit_with_stack_teardown.S \
|
||||
arch-x86_64/bionic/__restore_rt.S \
|
||||
arch-x86_64/bionic/setjmp.S \
|
||||
arch-x86_64/bionic/syscall.S \
|
||||
arch-x86_64/bionic/vfork.S \
|
||||
|
||||
#
|
||||
# Optimized memory/string functions.
|
||||
#
|
||||
|
||||
libc_bionic_src_files_x86_64 += \
|
||||
arch-x86_64/string/sse2-memcpy-slm.S \
|
||||
arch-x86_64/string/sse2-memmove-slm.S \
|
||||
arch-x86_64/string/sse2-memset-slm.S \
|
||||
arch-x86_64/string/sse2-stpcpy-slm.S \
|
||||
arch-x86_64/string/sse2-stpncpy-slm.S \
|
||||
arch-x86_64/string/sse2-strcat-slm.S \
|
||||
arch-x86_64/string/sse2-strcpy-slm.S \
|
||||
arch-x86_64/string/sse2-strlcat-slm.S \
|
||||
arch-x86_64/string/sse2-strlcpy-slm.S \
|
||||
arch-x86_64/string/sse2-strlen-slm.S \
|
||||
arch-x86_64/string/sse2-strncat-slm.S \
|
||||
arch-x86_64/string/sse2-strncpy-slm.S \
|
||||
arch-x86_64/string/sse4-memcmp-slm.S \
|
||||
arch-x86_64/string/ssse3-strcmp-slm.S \
|
||||
arch-x86_64/string/ssse3-strncmp-slm.S \
|
||||
|
||||
libc_crt_target_cflags_x86_64 += \
|
||||
-m64 \
|
||||
-I$(LOCAL_PATH)/arch-x86_64/include \
|
||||
|
||||
libc_crt_target_ldflags_x86_64 := -melf_x86_64 \
|
||||
|
||||
libc_crt_target_crtbegin_file_x86_64 := \
|
||||
$(LOCAL_PATH)/arch-common/bionic/crtbegin.c \
|
||||
|
||||
libc_crt_target_crtbegin_so_file_x86_64 := \
|
||||
$(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c \
|
||||
|
||||
libc_crt_target_so_cflags_x86_64 := \
|
||||
-fPIC \
|
146
libc/crt.mk
146
libc/crt.mk
|
@ -1,146 +0,0 @@
|
|||
# Define the libc run-time (crt) support object files that must be built,
|
||||
# which are needed to build all other objects (shared/static libs and
|
||||
# executables)
|
||||
# ==========================================================================
|
||||
# AArch64, ARM, MIPS, and x86 all need crtbegin_so/crtend_so.
|
||||
#
|
||||
# For x86, the .init section must point to a function that calls all
|
||||
# entries in the .ctors section. (on ARM this is done through the
|
||||
# .init_array section instead).
|
||||
#
|
||||
# For all the platforms, the .fini_array section must point to a function
|
||||
# that will call __cxa_finalize(&__dso_handle) in order to ensure that
|
||||
# static C++ destructors are properly called on dlclose().
|
||||
#
|
||||
# Args:
|
||||
# my_2nd_arch_prefix: set to $(TARGET_2ND_ARCH_VAR_PREFIX) if it's
|
||||
# for the 2nd arch; otherwise empty.
|
||||
|
||||
my_arch := $(TARGET_$(my_2nd_arch_prefix)ARCH)
|
||||
|
||||
my_libc_crt_target_crtbegin_file := $(libc_crt_target_crtbegin_file_$(my_arch))
|
||||
my_libc_crt_target_crtbegin_so_file := $(libc_crt_target_crtbegin_so_file_$(my_arch))
|
||||
|
||||
my_libc_crt_target_cflags := \
|
||||
$(libc_crt_target_cflags) \
|
||||
$(libc_crt_target_cflags_$(my_arch))
|
||||
|
||||
my_libc_crt_target_so_cflags := \
|
||||
$(libc_crt_target_so_cflags_$(my_arch)) \
|
||||
$(my_libc_crt_target_cflags)
|
||||
|
||||
my_libc_crt_target_ldflags := $(libc_crt_target_ldflags_$(my_arch))
|
||||
|
||||
# crtbrand.S -> crtbrand.o
|
||||
GEN := $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbrand.o
|
||||
$(GEN): PRIVATE_CC := $($(my_2nd_arch_prefix)TARGET_CC)
|
||||
$(GEN): PRIVATE_CFLAGS := $(my_libc_crt_target_so_cflags)
|
||||
$(GEN): $(LOCAL_PATH)/arch-common/bionic/crtbrand.S
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) $(PRIVATE_CC) $(PRIVATE_CFLAGS) \
|
||||
-MD -MF $(@:%.o=%.d) -o $@ -c $<
|
||||
$(transform-d-to-p)
|
||||
$(call include-depfile,$(GEN:%.o=%.P),$(GEN))
|
||||
|
||||
# crtbegin_so.c -> crtbegin_so1.o
|
||||
GEN := $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_so1.o
|
||||
$(GEN): PRIVATE_CC := $($(my_2nd_arch_prefix)TARGET_CC)
|
||||
$(GEN): PRIVATE_CFLAGS := $(my_libc_crt_target_so_cflags)
|
||||
$(GEN): $(my_libc_crt_target_crtbegin_so_file)
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) $(PRIVATE_CC) $(PRIVATE_CFLAGS) \
|
||||
-MD -MF $(@:%.o=%.d) -o $@ -c $<
|
||||
$(transform-d-to-p)
|
||||
$(call include-depfile,$(GEN:%.o=%.P),$(GEN))
|
||||
|
||||
# crtbegin_so1.o + crtbrand.o -> crtbegin_so.o
|
||||
GEN := $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_so.o
|
||||
$(GEN): PRIVATE_LD := $($(my_2nd_arch_prefix)TARGET_LD)
|
||||
$(GEN): PRIVATE_LDFLAGS := $(my_libc_crt_target_ldflags)
|
||||
$(GEN): $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_so1.o \
|
||||
$($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbrand.o
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) $(PRIVATE_LD) $(PRIVATE_LDFLAGS) -r -o $@ $^
|
||||
|
||||
# crtend_so.S -> crtend_so.o
|
||||
GEN := $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_so.o
|
||||
$(GEN): PRIVATE_CC := $($(my_2nd_arch_prefix)TARGET_CC)
|
||||
$(GEN): PRIVATE_CFLAGS := $(my_libc_crt_target_so_cflags)
|
||||
$(GEN): $(LOCAL_PATH)/arch-common/bionic/crtend_so.S
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) $(PRIVATE_CC) $(PRIVATE_CFLAGS) \
|
||||
-MD -MF $(@:%.o=%.d) -o $@ -c $<
|
||||
$(transform-d-to-p)
|
||||
$(call include-depfile,$(GEN:%.o=%.P),$(GEN))
|
||||
|
||||
# crtbegin_so.o and crtend_so.o are installed to device
|
||||
GEN := $($(my_2nd_arch_prefix)TARGET_OUT_SHARED_LIBRARIES)/crtbegin_so.o
|
||||
$(GEN): $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_so.o
|
||||
$(hide) mkdir -p $(dir $@) && cp -f $< $@
|
||||
ALL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
GEN := $($(my_2nd_arch_prefix)TARGET_OUT_SHARED_LIBRARIES)/crtend_so.o
|
||||
$(GEN): $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_so.o
|
||||
$(hide) mkdir -p $(dir $@) && cp -f $< $@
|
||||
ALL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
# crtbegin.c -> crtbegin_static1.o
|
||||
GEN := $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_static1.o
|
||||
$(GEN): PRIVATE_CC := $($(my_2nd_arch_prefix)TARGET_CC)
|
||||
$(GEN): PRIVATE_CFLAGS := $(my_libc_crt_target_cflags)
|
||||
$(GEN): $(my_libc_crt_target_crtbegin_file)
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) $(PRIVATE_CC) $(PRIVATE_CFLAGS) \
|
||||
-MD -MF $(@:%.o=%.d) -o $@ -c $<
|
||||
$(transform-d-to-p)
|
||||
$(call include-depfile,$(GEN:%.o=%.P),$(GEN))
|
||||
|
||||
# crtbegin_static1.o + crtbrand.o -> crtbegin_static.o
|
||||
GEN := $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_static.o
|
||||
$(GEN): PRIVATE_LD := $($(my_2nd_arch_prefix)TARGET_LD)
|
||||
$(GEN): PRIVATE_LDFLAGS := $(my_libc_crt_target_ldflags)
|
||||
$(GEN): $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_static1.o \
|
||||
$($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbrand.o
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) $(PRIVATE_LD) $(PRIVATE_LDFLAGS) -r -o $@ $^
|
||||
|
||||
# crtbegin.c -> crtbegin_dynamic1.o
|
||||
GEN := $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_dynamic1.o
|
||||
$(GEN): PRIVATE_CC := $($(my_2nd_arch_prefix)TARGET_CC)
|
||||
$(GEN): PRIVATE_CFLAGS := $(my_libc_crt_target_cflags)
|
||||
$(GEN): $(my_libc_crt_target_crtbegin_file)
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) $(PRIVATE_CC) $(PRIVATE_CFLAGS) \
|
||||
-MD -MF $(@:%.o=%.d) -o $@ -c $<
|
||||
$(transform-d-to-p)
|
||||
$(call include-depfile,$(GEN:%.o=%.P),$(GEN))
|
||||
|
||||
# crtbegin_dynamic1.o + crtbrand.o -> crtbegin_dynamic.o
|
||||
GEN := $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_dynamic.o
|
||||
$(GEN): PRIVATE_LD := $($(my_2nd_arch_prefix)TARGET_LD)
|
||||
$(GEN): PRIVATE_LDFLAGS := $(my_libc_crt_target_ldflags)
|
||||
$(GEN): $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_dynamic1.o \
|
||||
$($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbrand.o
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) $(PRIVATE_LD) $(PRIVATE_LDFLAGS) -r -o $@ $^
|
||||
|
||||
# crtend.S -> crtend_android.o
|
||||
# We rename crtend.o to crtend_android.o to avoid a
|
||||
# name clash between gcc and bionic.
|
||||
GEN := $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_android.o
|
||||
$(GEN): PRIVATE_CC := $($(my_2nd_arch_prefix)TARGET_CC)
|
||||
$(GEN): PRIVATE_CFLAGS := $(my_libc_crt_target_cflags)
|
||||
$(GEN): $(LOCAL_PATH)/arch-common/bionic/crtend.S
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) $(PRIVATE_CC) $(PRIVATE_CFLAGS) \
|
||||
-MD -MF $(@:%.o=%.d) -o $@ -c $<
|
||||
$(transform-d-to-p)
|
||||
$(call include-depfile,$(GEN:%.o=%.P),$(GEN))
|
||||
|
||||
# Clear temp vars
|
||||
my_libc_crt_target_ldflags :=
|
||||
my_libc_crt_target_so_cflags :=
|
||||
my_libc_crt_target_cflags :=
|
||||
my_libc_crt_target_crtbegin_so_file :=
|
||||
my_libc_crt_target_crtbegin_file :=
|
||||
my_arch :=
|
|
@ -1,66 +0,0 @@
|
|||
LOCAL_PATH:= $(call my-dir)
|
||||
|
||||
#
|
||||
# libdl
|
||||
#
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
# NOTE: --exclude-libs=libgcc.a makes sure that any symbols libdl.so pulls from
|
||||
# libgcc.a are made static to libdl.so. This in turn ensures that libraries that
|
||||
# a) pull symbols from libgcc.a and b) depend on libdl.so will not rely on libdl.so
|
||||
# to provide those symbols, but will instead pull them from libgcc.a. Specifically,
|
||||
# we use this property to make sure libc.so has its own copy of the code from
|
||||
# libgcc.a it uses.
|
||||
#
|
||||
# DO NOT REMOVE --exclude-libs!
|
||||
|
||||
LOCAL_LDFLAGS := -Wl,--exclude-libs=libgcc.a
|
||||
|
||||
# for x86, exclude libgcc_eh.a for the same reasons as above
|
||||
LOCAL_LDFLAGS_x86 := -Wl,--exclude-libs=libgcc_eh.a
|
||||
LOCAL_LDFLAGS_x86_64 := $(LOCAL_LDFLAGS_x86)
|
||||
|
||||
LOCAL_LDFLAGS_arm += -Wl,--version-script=$(LOCAL_PATH)/libdl.arm.map
|
||||
LOCAL_LDFLAGS_arm64 += -Wl,--version-script=$(LOCAL_PATH)/libdl.arm64.map
|
||||
LOCAL_LDFLAGS_mips += -Wl,--version-script=$(LOCAL_PATH)/libdl.mips.map
|
||||
LOCAL_LDFLAGS_mips64 += -Wl,--version-script=$(LOCAL_PATH)/libdl.mips64.map
|
||||
LOCAL_LDFLAGS_x86 += -Wl,--version-script=$(LOCAL_PATH)/libdl.x86.map
|
||||
LOCAL_LDFLAGS_x86_64 += -Wl,--version-script=$(LOCAL_PATH)/libdl.x86_64.map
|
||||
|
||||
LOCAL_SRC_FILES:= libdl.c
|
||||
LOCAL_CFLAGS := -Wall -Wextra -Wunused -Werror
|
||||
LOCAL_CXX_STL := none
|
||||
|
||||
LOCAL_MODULE := libdl
|
||||
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk \
|
||||
$(LOCAL_PATH)/libdl.arm.map \
|
||||
$(LOCAL_PATH)/libdl.arm64.map \
|
||||
$(LOCAL_PATH)/libdl.mips.map \
|
||||
$(LOCAL_PATH)/libdl.mips64.map \
|
||||
$(LOCAL_PATH)/libdl.x86.map \
|
||||
$(LOCAL_PATH)/libdl.x86_64.map \
|
||||
|
||||
# NOTE: libdl needs __aeabi_unwind_cpp_pr0 from libgcc.a but libgcc.a needs a
|
||||
# few symbols from libc. Using --no-undefined here results in having to link
|
||||
# against libc creating a circular dependency which is removed and we end up
|
||||
# with missing symbols. Since this library is just a bunch of stubs, we set
|
||||
# LOCAL_ALLOW_UNDEFINED_SYMBOLS to remove --no-undefined from the linker flags.
|
||||
LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
|
||||
LOCAL_SYSTEM_SHARED_LIBRARIES :=
|
||||
|
||||
LOCAL_SANITIZE := never
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
# A dummy libdl.a. Need for static executables using the LLVM unwinder. Most
|
||||
# functions default to failure, others use a sensible default (dl_iterate_phdr()
|
||||
# returns 0, as would happen if the user iterated over every phdr).
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_SRC_FILES:= libdl.c
|
||||
LOCAL_CFLAGS := -Wall -Wextra -Wunused -Werror
|
||||
LOCAL_CXX_STL := none
|
||||
|
||||
LOCAL_MODULE := libdl
|
||||
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
|
||||
LOCAL_SANITIZE := never
|
||||
include $(BUILD_STATIC_LIBRARY)
|
582
libm/Android.mk
582
libm/Android.mk
|
@ -1,582 +0,0 @@
|
|||
ifneq ($(TARGET_USE_PRIVATE_LIBM),true)
|
||||
LOCAL_PATH:= $(call my-dir)
|
||||
|
||||
bionic_coverage := false
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# libm.a
|
||||
# -----------------------------------------------------------------------------
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libm
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
upstream-freebsd/lib/msun/bsdsrc/b_exp.c \
|
||||
upstream-freebsd/lib/msun/bsdsrc/b_log.c \
|
||||
upstream-freebsd/lib/msun/bsdsrc/b_tgamma.c \
|
||||
upstream-freebsd/lib/msun/src/catrig.c \
|
||||
upstream-freebsd/lib/msun/src/catrigf.c \
|
||||
upstream-freebsd/lib/msun/src/e_acos.c \
|
||||
upstream-freebsd/lib/msun/src/e_acosf.c \
|
||||
upstream-freebsd/lib/msun/src/e_acosh.c \
|
||||
upstream-freebsd/lib/msun/src/e_acoshf.c \
|
||||
upstream-freebsd/lib/msun/src/e_asin.c \
|
||||
upstream-freebsd/lib/msun/src/e_asinf.c \
|
||||
upstream-freebsd/lib/msun/src/e_atan2.c \
|
||||
upstream-freebsd/lib/msun/src/e_atan2f.c \
|
||||
upstream-freebsd/lib/msun/src/e_atanh.c \
|
||||
upstream-freebsd/lib/msun/src/e_atanhf.c \
|
||||
upstream-freebsd/lib/msun/src/e_cosh.c \
|
||||
upstream-freebsd/lib/msun/src/e_coshf.c \
|
||||
upstream-freebsd/lib/msun/src/e_exp.c \
|
||||
upstream-freebsd/lib/msun/src/e_expf.c \
|
||||
upstream-freebsd/lib/msun/src/e_fmod.c \
|
||||
upstream-freebsd/lib/msun/src/e_fmodf.c \
|
||||
upstream-freebsd/lib/msun/src/e_gamma.c \
|
||||
upstream-freebsd/lib/msun/src/e_gammaf.c \
|
||||
upstream-freebsd/lib/msun/src/e_gammaf_r.c \
|
||||
upstream-freebsd/lib/msun/src/e_gamma_r.c \
|
||||
upstream-freebsd/lib/msun/src/e_hypot.c \
|
||||
upstream-freebsd/lib/msun/src/e_hypotf.c \
|
||||
upstream-freebsd/lib/msun/src/e_j0.c \
|
||||
upstream-freebsd/lib/msun/src/e_j0f.c \
|
||||
upstream-freebsd/lib/msun/src/e_j1.c \
|
||||
upstream-freebsd/lib/msun/src/e_j1f.c \
|
||||
upstream-freebsd/lib/msun/src/e_jn.c \
|
||||
upstream-freebsd/lib/msun/src/e_jnf.c \
|
||||
upstream-freebsd/lib/msun/src/e_lgamma.c \
|
||||
upstream-freebsd/lib/msun/src/e_lgammaf.c \
|
||||
upstream-freebsd/lib/msun/src/e_lgammaf_r.c \
|
||||
upstream-freebsd/lib/msun/src/e_lgamma_r.c \
|
||||
upstream-freebsd/lib/msun/src/e_log10.c \
|
||||
upstream-freebsd/lib/msun/src/e_log10f.c \
|
||||
upstream-freebsd/lib/msun/src/e_log2.c \
|
||||
upstream-freebsd/lib/msun/src/e_log2f.c \
|
||||
upstream-freebsd/lib/msun/src/e_log.c \
|
||||
upstream-freebsd/lib/msun/src/e_logf.c \
|
||||
upstream-freebsd/lib/msun/src/e_pow.c \
|
||||
upstream-freebsd/lib/msun/src/e_powf.c \
|
||||
upstream-freebsd/lib/msun/src/e_remainder.c \
|
||||
upstream-freebsd/lib/msun/src/e_remainderf.c \
|
||||
upstream-freebsd/lib/msun/src/e_rem_pio2.c \
|
||||
upstream-freebsd/lib/msun/src/e_rem_pio2f.c \
|
||||
upstream-freebsd/lib/msun/src/e_scalb.c \
|
||||
upstream-freebsd/lib/msun/src/e_scalbf.c \
|
||||
upstream-freebsd/lib/msun/src/e_sinh.c \
|
||||
upstream-freebsd/lib/msun/src/e_sinhf.c \
|
||||
upstream-freebsd/lib/msun/src/e_sqrt.c \
|
||||
upstream-freebsd/lib/msun/src/e_sqrtf.c \
|
||||
upstream-freebsd/lib/msun/src/imprecise.c \
|
||||
upstream-freebsd/lib/msun/src/k_cos.c \
|
||||
upstream-freebsd/lib/msun/src/k_cosf.c \
|
||||
upstream-freebsd/lib/msun/src/k_exp.c \
|
||||
upstream-freebsd/lib/msun/src/k_expf.c \
|
||||
upstream-freebsd/lib/msun/src/k_rem_pio2.c \
|
||||
upstream-freebsd/lib/msun/src/k_sin.c \
|
||||
upstream-freebsd/lib/msun/src/k_sinf.c \
|
||||
upstream-freebsd/lib/msun/src/k_tan.c \
|
||||
upstream-freebsd/lib/msun/src/k_tanf.c \
|
||||
upstream-freebsd/lib/msun/src/s_asinh.c \
|
||||
upstream-freebsd/lib/msun/src/s_asinhf.c \
|
||||
upstream-freebsd/lib/msun/src/s_atan.c \
|
||||
upstream-freebsd/lib/msun/src/s_atanf.c \
|
||||
upstream-freebsd/lib/msun/src/s_carg.c \
|
||||
upstream-freebsd/lib/msun/src/s_cargf.c \
|
||||
upstream-freebsd/lib/msun/src/s_cargl.c \
|
||||
upstream-freebsd/lib/msun/src/s_cbrt.c \
|
||||
upstream-freebsd/lib/msun/src/s_cbrtf.c \
|
||||
upstream-freebsd/lib/msun/src/s_ccosh.c \
|
||||
upstream-freebsd/lib/msun/src/s_ccoshf.c \
|
||||
upstream-freebsd/lib/msun/src/s_ceil.c \
|
||||
upstream-freebsd/lib/msun/src/s_ceilf.c \
|
||||
upstream-freebsd/lib/msun/src/s_cexp.c \
|
||||
upstream-freebsd/lib/msun/src/s_cexpf.c \
|
||||
upstream-freebsd/lib/msun/src/s_cimag.c \
|
||||
upstream-freebsd/lib/msun/src/s_cimagf.c \
|
||||
upstream-freebsd/lib/msun/src/s_cimagl.c \
|
||||
upstream-freebsd/lib/msun/src/s_conj.c \
|
||||
upstream-freebsd/lib/msun/src/s_conjf.c \
|
||||
upstream-freebsd/lib/msun/src/s_conjl.c \
|
||||
upstream-freebsd/lib/msun/src/s_copysign.c \
|
||||
upstream-freebsd/lib/msun/src/s_copysignf.c \
|
||||
upstream-freebsd/lib/msun/src/s_cos.c \
|
||||
upstream-freebsd/lib/msun/src/s_cosf.c \
|
||||
upstream-freebsd/lib/msun/src/s_cproj.c \
|
||||
upstream-freebsd/lib/msun/src/s_cprojf.c \
|
||||
upstream-freebsd/lib/msun/src/s_cprojl.c \
|
||||
upstream-freebsd/lib/msun/src/s_creal.c \
|
||||
upstream-freebsd/lib/msun/src/s_crealf.c \
|
||||
upstream-freebsd/lib/msun/src/s_creall.c \
|
||||
upstream-freebsd/lib/msun/src/s_csinh.c \
|
||||
upstream-freebsd/lib/msun/src/s_csinhf.c \
|
||||
upstream-freebsd/lib/msun/src/s_csqrt.c \
|
||||
upstream-freebsd/lib/msun/src/s_csqrtf.c \
|
||||
upstream-freebsd/lib/msun/src/s_csqrtl.c \
|
||||
upstream-freebsd/lib/msun/src/s_ctanh.c \
|
||||
upstream-freebsd/lib/msun/src/s_ctanhf.c \
|
||||
upstream-freebsd/lib/msun/src/s_erf.c \
|
||||
upstream-freebsd/lib/msun/src/s_erff.c \
|
||||
upstream-freebsd/lib/msun/src/s_exp2.c \
|
||||
upstream-freebsd/lib/msun/src/s_exp2f.c \
|
||||
upstream-freebsd/lib/msun/src/s_expm1.c \
|
||||
upstream-freebsd/lib/msun/src/s_expm1f.c \
|
||||
upstream-freebsd/lib/msun/src/s_fdim.c \
|
||||
upstream-freebsd/lib/msun/src/s_finite.c \
|
||||
upstream-freebsd/lib/msun/src/s_finitef.c \
|
||||
upstream-freebsd/lib/msun/src/s_floor.c \
|
||||
upstream-freebsd/lib/msun/src/s_floorf.c \
|
||||
upstream-freebsd/lib/msun/src/s_fma.c \
|
||||
upstream-freebsd/lib/msun/src/s_fmaf.c \
|
||||
upstream-freebsd/lib/msun/src/s_fmax.c \
|
||||
upstream-freebsd/lib/msun/src/s_fmaxf.c \
|
||||
upstream-freebsd/lib/msun/src/s_fmin.c \
|
||||
upstream-freebsd/lib/msun/src/s_fminf.c \
|
||||
upstream-freebsd/lib/msun/src/s_frexp.c \
|
||||
upstream-freebsd/lib/msun/src/s_frexpf.c \
|
||||
upstream-freebsd/lib/msun/src/s_ilogb.c \
|
||||
upstream-freebsd/lib/msun/src/s_ilogbf.c \
|
||||
upstream-freebsd/lib/msun/src/s_llrint.c \
|
||||
upstream-freebsd/lib/msun/src/s_llrintf.c \
|
||||
upstream-freebsd/lib/msun/src/s_llround.c \
|
||||
upstream-freebsd/lib/msun/src/s_llroundf.c \
|
||||
upstream-freebsd/lib/msun/src/s_log1p.c \
|
||||
upstream-freebsd/lib/msun/src/s_log1pf.c \
|
||||
upstream-freebsd/lib/msun/src/s_logb.c \
|
||||
upstream-freebsd/lib/msun/src/s_logbf.c \
|
||||
upstream-freebsd/lib/msun/src/s_lrint.c \
|
||||
upstream-freebsd/lib/msun/src/s_lrintf.c \
|
||||
upstream-freebsd/lib/msun/src/s_lround.c \
|
||||
upstream-freebsd/lib/msun/src/s_lroundf.c \
|
||||
upstream-freebsd/lib/msun/src/s_modf.c \
|
||||
upstream-freebsd/lib/msun/src/s_modff.c \
|
||||
upstream-freebsd/lib/msun/src/s_nan.c \
|
||||
upstream-freebsd/lib/msun/src/s_nearbyint.c \
|
||||
upstream-freebsd/lib/msun/src/s_nextafter.c \
|
||||
upstream-freebsd/lib/msun/src/s_nextafterf.c \
|
||||
upstream-freebsd/lib/msun/src/s_remquo.c \
|
||||
upstream-freebsd/lib/msun/src/s_remquof.c \
|
||||
upstream-freebsd/lib/msun/src/s_rint.c \
|
||||
upstream-freebsd/lib/msun/src/s_rintf.c \
|
||||
upstream-freebsd/lib/msun/src/s_round.c \
|
||||
upstream-freebsd/lib/msun/src/s_roundf.c \
|
||||
upstream-freebsd/lib/msun/src/s_scalbln.c \
|
||||
upstream-freebsd/lib/msun/src/s_scalbn.c \
|
||||
upstream-freebsd/lib/msun/src/s_scalbnf.c \
|
||||
upstream-freebsd/lib/msun/src/s_signgam.c \
|
||||
upstream-freebsd/lib/msun/src/s_significand.c \
|
||||
upstream-freebsd/lib/msun/src/s_significandf.c \
|
||||
upstream-freebsd/lib/msun/src/s_sin.c \
|
||||
upstream-freebsd/lib/msun/src/s_sinf.c \
|
||||
upstream-freebsd/lib/msun/src/s_tan.c \
|
||||
upstream-freebsd/lib/msun/src/s_tanf.c \
|
||||
upstream-freebsd/lib/msun/src/s_tanh.c \
|
||||
upstream-freebsd/lib/msun/src/s_tanhf.c \
|
||||
upstream-freebsd/lib/msun/src/s_tgammaf.c \
|
||||
upstream-freebsd/lib/msun/src/s_trunc.c \
|
||||
upstream-freebsd/lib/msun/src/s_truncf.c \
|
||||
upstream-freebsd/lib/msun/src/w_cabs.c \
|
||||
upstream-freebsd/lib/msun/src/w_cabsf.c \
|
||||
upstream-freebsd/lib/msun/src/w_cabsl.c \
|
||||
upstream-freebsd/lib/msun/src/w_drem.c \
|
||||
upstream-freebsd/lib/msun/src/w_dremf.c \
|
||||
|
||||
# The FreeBSD complex functions appear to be better, but they're incomplete.
|
||||
# We take the FreeBSD implementations when they exist, but fill out the rest
|
||||
# of <complex.h> from NetBSD...
|
||||
LOCAL_SRC_FILES += \
|
||||
upstream-netbsd/lib/libm/complex/cacoshl.c \
|
||||
upstream-netbsd/lib/libm/complex/cacosl.c \
|
||||
upstream-netbsd/lib/libm/complex/casinhl.c \
|
||||
upstream-netbsd/lib/libm/complex/casinl.c \
|
||||
upstream-netbsd/lib/libm/complex/catanhl.c \
|
||||
upstream-netbsd/lib/libm/complex/catanl.c \
|
||||
upstream-netbsd/lib/libm/complex/ccoshl.c \
|
||||
upstream-netbsd/lib/libm/complex/ccosl.c \
|
||||
upstream-netbsd/lib/libm/complex/cephes_subrl.c \
|
||||
upstream-netbsd/lib/libm/complex/cexpl.c \
|
||||
upstream-netbsd/lib/libm/complex/clog.c \
|
||||
upstream-netbsd/lib/libm/complex/clogf.c \
|
||||
upstream-netbsd/lib/libm/complex/clogl.c \
|
||||
upstream-netbsd/lib/libm/complex/cpow.c \
|
||||
upstream-netbsd/lib/libm/complex/cpowf.c \
|
||||
upstream-netbsd/lib/libm/complex/cpowl.c \
|
||||
upstream-netbsd/lib/libm/complex/csinhl.c \
|
||||
upstream-netbsd/lib/libm/complex/csinl.c \
|
||||
upstream-netbsd/lib/libm/complex/ctanhl.c \
|
||||
upstream-netbsd/lib/libm/complex/ctanl.c \
|
||||
|
||||
LOCAL_SRC_FILES_32 += \
|
||||
fake_long_double.c \
|
||||
|
||||
LOCAL_SRC_FILES_64 := \
|
||||
upstream-freebsd/lib/msun/src/e_acosl.c \
|
||||
upstream-freebsd/lib/msun/src/e_acoshl.c \
|
||||
upstream-freebsd/lib/msun/src/e_asinl.c \
|
||||
upstream-freebsd/lib/msun/src/e_atan2l.c \
|
||||
upstream-freebsd/lib/msun/src/e_atanhl.c \
|
||||
upstream-freebsd/lib/msun/src/e_fmodl.c \
|
||||
upstream-freebsd/lib/msun/src/e_hypotl.c \
|
||||
upstream-freebsd/lib/msun/src/e_lgammal.c \
|
||||
upstream-freebsd/lib/msun/src/e_remainderl.c \
|
||||
upstream-freebsd/lib/msun/src/e_sqrtl.c \
|
||||
upstream-freebsd/lib/msun/src/s_asinhl.c \
|
||||
upstream-freebsd/lib/msun/src/s_atanl.c \
|
||||
upstream-freebsd/lib/msun/src/s_cbrtl.c \
|
||||
upstream-freebsd/lib/msun/src/s_ceill.c \
|
||||
upstream-freebsd/lib/msun/src/s_copysignl.c \
|
||||
upstream-freebsd/lib/msun/src/e_coshl.c \
|
||||
upstream-freebsd/lib/msun/src/s_cosl.c \
|
||||
upstream-freebsd/lib/msun/src/s_floorl.c \
|
||||
upstream-freebsd/lib/msun/src/s_fmal.c \
|
||||
upstream-freebsd/lib/msun/src/s_fmaxl.c \
|
||||
upstream-freebsd/lib/msun/src/s_fminl.c \
|
||||
upstream-freebsd/lib/msun/src/s_modfl.c \
|
||||
upstream-freebsd/lib/msun/src/s_frexpl.c \
|
||||
upstream-freebsd/lib/msun/src/s_ilogbl.c \
|
||||
upstream-freebsd/lib/msun/src/s_llrintl.c \
|
||||
upstream-freebsd/lib/msun/src/s_llroundl.c \
|
||||
upstream-freebsd/lib/msun/src/s_logbl.c \
|
||||
upstream-freebsd/lib/msun/src/s_lrintl.c \
|
||||
upstream-freebsd/lib/msun/src/s_lroundl.c \
|
||||
upstream-freebsd/lib/msun/src/s_nextafterl.c \
|
||||
upstream-freebsd/lib/msun/src/s_nexttoward.c \
|
||||
upstream-freebsd/lib/msun/src/s_nexttowardf.c \
|
||||
upstream-freebsd/lib/msun/src/s_remquol.c \
|
||||
upstream-freebsd/lib/msun/src/s_rintl.c \
|
||||
upstream-freebsd/lib/msun/src/s_roundl.c \
|
||||
upstream-freebsd/lib/msun/src/s_scalbnl.c \
|
||||
upstream-freebsd/lib/msun/src/e_sinhl.c \
|
||||
upstream-freebsd/lib/msun/src/s_sinl.c \
|
||||
upstream-freebsd/lib/msun/src/s_tanhl.c \
|
||||
upstream-freebsd/lib/msun/src/s_tanl.c \
|
||||
upstream-freebsd/lib/msun/src/s_truncl.c \
|
||||
|
||||
LOCAL_SRC_FILES_64 += \
|
||||
upstream-freebsd/lib/msun/ld128/invtrig.c \
|
||||
upstream-freebsd/lib/msun/ld128/e_lgammal_r.c \
|
||||
upstream-freebsd/lib/msun/ld128/k_cosl.c \
|
||||
upstream-freebsd/lib/msun/ld128/k_sinl.c \
|
||||
upstream-freebsd/lib/msun/ld128/k_tanl.c \
|
||||
upstream-freebsd/lib/msun/ld128/s_erfl.c \
|
||||
upstream-freebsd/lib/msun/ld128/s_exp2l.c \
|
||||
upstream-freebsd/lib/msun/ld128/s_expl.c \
|
||||
upstream-freebsd/lib/msun/ld128/s_logl.c \
|
||||
upstream-freebsd/lib/msun/ld128/s_nanl.c \
|
||||
|
||||
# TODO: this comes from from upstream's libc, not libm, but it's an
|
||||
# implementation detail that should have hidden visibility, so it needs
|
||||
# to be in whatever library the math code is in.
|
||||
LOCAL_SRC_FILES += \
|
||||
digittoint.c \
|
||||
|
||||
# Functionality not in the BSDs.
|
||||
LOCAL_SRC_FILES += \
|
||||
significandl.c \
|
||||
sincos.c \
|
||||
|
||||
# Modified versions of BSD code.
|
||||
LOCAL_SRC_FILES += \
|
||||
signbit.c \
|
||||
|
||||
# Home-grown stuff.
|
||||
LOCAL_SRC_FILES += \
|
||||
fabs.cpp \
|
||||
|
||||
# Arch specific optimizations.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# arm
|
||||
# -----------------------------------------------------------------------------
|
||||
LOCAL_SRC_FILES_arm += \
|
||||
arm/fenv.c \
|
||||
|
||||
# s_floor.S requires neon instructions.
|
||||
ifdef TARGET_2ND_ARCH
|
||||
arch_variant := $(TARGET_2ND_ARCH_VARIANT)
|
||||
else
|
||||
arch_variant := $(TARGET_ARCH_VARIANT)
|
||||
endif
|
||||
|
||||
# Use the C version on armv7-a since it doesn't support neon instructions.
|
||||
ifneq ($(arch_variant),armv7-a)
|
||||
LOCAL_SRC_FILES_arm += \
|
||||
arm/sqrt.S \
|
||||
arm/floor.S \
|
||||
|
||||
LOCAL_SRC_FILES_EXCLUDE_arm += \
|
||||
upstream-freebsd/lib/msun/src/e_sqrt.c \
|
||||
upstream-freebsd/lib/msun/src/e_sqrtf.c \
|
||||
upstream-freebsd/lib/msun/src/s_floor.c \
|
||||
|
||||
endif
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# arm64
|
||||
# -----------------------------------------------------------------------------
|
||||
LOCAL_SRC_FILES_arm64 += \
|
||||
arm64/ceil.S \
|
||||
arm64/fenv.c \
|
||||
arm64/fma.S \
|
||||
arm64/floor.S \
|
||||
arm64/lrint.S \
|
||||
arm64/rint.S \
|
||||
arm64/sqrt.S \
|
||||
arm64/trunc.S \
|
||||
|
||||
LOCAL_SRC_FILES_EXCLUDE_arm64 += \
|
||||
upstream-freebsd/lib/msun/src/e_sqrt.c \
|
||||
upstream-freebsd/lib/msun/src/e_sqrtf.c \
|
||||
upstream-freebsd/lib/msun/src/s_ceil.c \
|
||||
upstream-freebsd/lib/msun/src/s_ceilf.c \
|
||||
upstream-freebsd/lib/msun/src/s_fma.c \
|
||||
upstream-freebsd/lib/msun/src/s_fmaf.c \
|
||||
upstream-freebsd/lib/msun/src/s_floor.c \
|
||||
upstream-freebsd/lib/msun/src/s_floorf.c \
|
||||
upstream-freebsd/lib/msun/src/s_llrint.c \
|
||||
upstream-freebsd/lib/msun/src/s_llrintf.c \
|
||||
upstream-freebsd/lib/msun/src/s_lrint.c \
|
||||
upstream-freebsd/lib/msun/src/s_lrintf.c \
|
||||
upstream-freebsd/lib/msun/src/s_rint.c \
|
||||
upstream-freebsd/lib/msun/src/s_rintf.c \
|
||||
upstream-freebsd/lib/msun/src/s_trunc.c \
|
||||
upstream-freebsd/lib/msun/src/s_truncf.c \
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# mips
|
||||
# -----------------------------------------------------------------------------
|
||||
libm_mips_arch_files := \
|
||||
mips/fenv.c \
|
||||
|
||||
LOCAL_SRC_FILES_mips += $(libm_mips_arch_files)
|
||||
LOCAL_SRC_FILES_mips64 += $(libm_mips_arch_files)
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# x86
|
||||
# -----------------------------------------------------------------------------
|
||||
LOCAL_SRC_FILES_x86 += \
|
||||
i387/fenv.c \
|
||||
x86/sqrt.S \
|
||||
x86/sqrtf.S \
|
||||
x86/e_acos.S \
|
||||
x86/e_asin.S \
|
||||
x86/e_atan2.S \
|
||||
x86/e_cosh.S \
|
||||
x86/e_exp.S \
|
||||
x86/e_hypot.S \
|
||||
x86/e_log10.S \
|
||||
x86/e_log.S \
|
||||
x86/e_pow.S \
|
||||
x86/e_sinh.S \
|
||||
x86/libm_reduce_pi04l.S \
|
||||
x86/libm_sincos_huge.S \
|
||||
x86/libm_tancot_huge.S \
|
||||
x86/lrint.S \
|
||||
x86/lrintf.S \
|
||||
x86/s_atan.S \
|
||||
x86/s_cbrt.S \
|
||||
x86/s_cos.S \
|
||||
x86/s_expm1.S \
|
||||
x86/s_log1p.S \
|
||||
x86/s_sin.S \
|
||||
x86/s_tanh.S \
|
||||
x86/s_tan.S \
|
||||
|
||||
LOCAL_SRC_FILES_EXCLUDE_x86 += \
|
||||
upstream-freebsd/lib/msun/src/e_acos.c \
|
||||
upstream-freebsd/lib/msun/src/e_asin.c \
|
||||
upstream-freebsd/lib/msun/src/e_atan2.c \
|
||||
upstream-freebsd/lib/msun/src/e_cosh.c \
|
||||
upstream-freebsd/lib/msun/src/e_exp.c \
|
||||
upstream-freebsd/lib/msun/src/e_hypot.c \
|
||||
upstream-freebsd/lib/msun/src/e_log.c \
|
||||
upstream-freebsd/lib/msun/src/e_log10.c \
|
||||
upstream-freebsd/lib/msun/src/e_pow.c \
|
||||
upstream-freebsd/lib/msun/src/e_sinh.c \
|
||||
upstream-freebsd/lib/msun/src/e_sqrt.c \
|
||||
upstream-freebsd/lib/msun/src/e_sqrtf.c \
|
||||
upstream-freebsd/lib/msun/src/s_atan.c \
|
||||
upstream-freebsd/lib/msun/src/s_cbrt.c \
|
||||
upstream-freebsd/lib/msun/src/s_cos.c \
|
||||
upstream-freebsd/lib/msun/src/s_expm1.c \
|
||||
upstream-freebsd/lib/msun/src/s_log1p.c \
|
||||
upstream-freebsd/lib/msun/src/s_lrint.c \
|
||||
upstream-freebsd/lib/msun/src/s_lrintf.c \
|
||||
upstream-freebsd/lib/msun/src/s_sin.c \
|
||||
upstream-freebsd/lib/msun/src/s_tan.c \
|
||||
upstream-freebsd/lib/msun/src/s_tanh.c \
|
||||
|
||||
ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
|
||||
LOCAL_SRC_FILES_x86 += \
|
||||
x86/ceil.S \
|
||||
x86/ceilf.S \
|
||||
x86/floor.S \
|
||||
x86/floorf.S \
|
||||
x86/rint.S \
|
||||
x86/rintf.S \
|
||||
x86/trunc.S \
|
||||
x86/truncf.S \
|
||||
|
||||
LOCAL_SRC_FILES_EXCLUDE_x86 += \
|
||||
upstream-freebsd/lib/msun/src/s_ceil.c \
|
||||
upstream-freebsd/lib/msun/src/s_ceilf.c \
|
||||
upstream-freebsd/lib/msun/src/s_floor.c \
|
||||
upstream-freebsd/lib/msun/src/s_floorf.c \
|
||||
upstream-freebsd/lib/msun/src/s_rint.c \
|
||||
upstream-freebsd/lib/msun/src/s_rintf.c \
|
||||
upstream-freebsd/lib/msun/src/s_trunc.c \
|
||||
upstream-freebsd/lib/msun/src/s_truncf.c \
|
||||
|
||||
endif
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# x86_64
|
||||
# -----------------------------------------------------------------------------
|
||||
LOCAL_SRC_FILES_x86_64 += \
|
||||
amd64/fenv.c \
|
||||
x86_64/sqrt.S \
|
||||
x86_64/sqrtf.S \
|
||||
x86_64/e_acos.S \
|
||||
x86_64/e_asin.S \
|
||||
x86_64/e_atan2.S \
|
||||
x86_64/e_cosh.S \
|
||||
x86_64/e_exp.S \
|
||||
x86_64/e_hypot.S \
|
||||
x86_64/e_log10.S \
|
||||
x86_64/e_log.S \
|
||||
x86_64/e_pow.S \
|
||||
x86_64/e_sinh.S \
|
||||
x86_64/lrint.S \
|
||||
x86_64/lrintf.S \
|
||||
x86_64/s_atan.S \
|
||||
x86_64/s_cbrt.S \
|
||||
x86_64/s_cos.S \
|
||||
x86_64/s_expm1.S \
|
||||
x86_64/s_log1p.S \
|
||||
x86_64/s_sin.S \
|
||||
x86_64/s_tanh.S \
|
||||
x86_64/s_tan.S \
|
||||
|
||||
LOCAL_SRC_FILES_EXCLUDE_x86_64 += \
|
||||
upstream-freebsd/lib/msun/src/e_acos.c \
|
||||
upstream-freebsd/lib/msun/src/e_asin.c \
|
||||
upstream-freebsd/lib/msun/src/e_atan2.c \
|
||||
upstream-freebsd/lib/msun/src/e_cosh.c \
|
||||
upstream-freebsd/lib/msun/src/e_exp.c \
|
||||
upstream-freebsd/lib/msun/src/e_hypot.c \
|
||||
upstream-freebsd/lib/msun/src/e_log.c \
|
||||
upstream-freebsd/lib/msun/src/e_log10.c \
|
||||
upstream-freebsd/lib/msun/src/e_pow.c \
|
||||
upstream-freebsd/lib/msun/src/e_sinh.c \
|
||||
upstream-freebsd/lib/msun/src/e_sqrt.c \
|
||||
upstream-freebsd/lib/msun/src/e_sqrtf.c \
|
||||
upstream-freebsd/lib/msun/src/s_atan.c \
|
||||
upstream-freebsd/lib/msun/src/s_cbrt.c \
|
||||
upstream-freebsd/lib/msun/src/s_cos.c \
|
||||
upstream-freebsd/lib/msun/src/s_expm1.c \
|
||||
upstream-freebsd/lib/msun/src/s_log1p.c \
|
||||
upstream-freebsd/lib/msun/src/s_llrint.c \
|
||||
upstream-freebsd/lib/msun/src/s_llrintf.c \
|
||||
upstream-freebsd/lib/msun/src/s_lrint.c \
|
||||
upstream-freebsd/lib/msun/src/s_lrintf.c \
|
||||
upstream-freebsd/lib/msun/src/s_sin.c \
|
||||
upstream-freebsd/lib/msun/src/s_tan.c \
|
||||
upstream-freebsd/lib/msun/src/s_tanh.c \
|
||||
|
||||
ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
|
||||
LOCAL_SRC_FILES_x86_64 += \
|
||||
x86_64/ceil.S \
|
||||
x86_64/ceilf.S \
|
||||
x86_64/floor.S \
|
||||
x86_64/floorf.S \
|
||||
x86_64/rint.S \
|
||||
x86_64/rintf.S \
|
||||
x86_64/trunc.S \
|
||||
x86_64/truncf.S \
|
||||
|
||||
LOCAL_SRC_FILES_EXCLUDE_x86_64 += \
|
||||
upstream-freebsd/lib/msun/src/s_ceil.c \
|
||||
upstream-freebsd/lib/msun/src/s_ceilf.c \
|
||||
upstream-freebsd/lib/msun/src/s_floor.c \
|
||||
upstream-freebsd/lib/msun/src/s_floorf.c \
|
||||
upstream-freebsd/lib/msun/src/s_rint.c \
|
||||
upstream-freebsd/lib/msun/src/s_rintf.c \
|
||||
upstream-freebsd/lib/msun/src/s_trunc.c \
|
||||
upstream-freebsd/lib/msun/src/s_truncf.c \
|
||||
|
||||
endif
|
||||
|
||||
LOCAL_C_INCLUDES_x86 += $(LOCAL_PATH)/i387
|
||||
|
||||
LOCAL_C_INCLUDES += \
|
||||
$(LOCAL_PATH)/upstream-freebsd/android/include/ \
|
||||
$(LOCAL_PATH)/upstream-freebsd/lib/msun/src/ \
|
||||
|
||||
LOCAL_C_INCLUDES_64 += $(LOCAL_PATH)/upstream-freebsd/lib/msun/ld128/
|
||||
|
||||
LOCAL_ARM_MODE := arm
|
||||
LOCAL_CFLAGS := \
|
||||
-D__BIONIC_NO_MATH_INLINES \
|
||||
-DFLT_EVAL_METHOD=0 \
|
||||
-include $(LOCAL_PATH)/freebsd-compat.h \
|
||||
-Werror \
|
||||
-Wno-missing-braces \
|
||||
-Wno-parentheses \
|
||||
-Wno-sign-compare \
|
||||
-Wno-uninitialized \
|
||||
-Wno-unknown-pragmas \
|
||||
-fvisibility=hidden \
|
||||
|
||||
LOCAL_CONLYFLAGS := \
|
||||
-std=gnu11 \
|
||||
|
||||
LOCAL_ASFLAGS := \
|
||||
-Ibionic/libc \
|
||||
|
||||
# Workaround the GCC "(long)fn -> lfn" optimization bug which will result in
|
||||
# self recursions for lrint, lrintf, and lrintl.
|
||||
# BUG: 14225968
|
||||
LOCAL_CFLAGS += \
|
||||
-fno-builtin-rint \
|
||||
-fno-builtin-rintf \
|
||||
-fno-builtin-rintl \
|
||||
|
||||
LOCAL_NATIVE_COVERAGE := $(bionic_coverage)
|
||||
LOCAL_SANITIZE := never
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# libm.so
|
||||
# -----------------------------------------------------------------------------
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_ADDITIONAL_DEPENDENCIES := \
|
||||
$(LOCAL_PATH)/libm.arm.map \
|
||||
$(LOCAL_PATH)/libm.arm64.map \
|
||||
$(LOCAL_PATH)/libm.mips.map \
|
||||
$(LOCAL_PATH)/libm.mips64.map \
|
||||
$(LOCAL_PATH)/libm.x86.map \
|
||||
$(LOCAL_PATH)/libm.x86_64.map \
|
||||
|
||||
# TODO: This is to work around b/24465209. Remove after root cause is fixed
|
||||
LOCAL_LDFLAGS_arm := -Wl,--hash-style=both
|
||||
LOCAL_LDFLAGS_x86 := -Wl,--hash-style=both
|
||||
|
||||
LOCAL_LDFLAGS_arm += -Wl,--version-script,$(LOCAL_PATH)/libm.arm.map
|
||||
LOCAL_LDFLAGS_arm64 += -Wl,--version-script,$(LOCAL_PATH)/libm.arm64.map
|
||||
LOCAL_LDFLAGS_mips += -Wl,--version-script,$(LOCAL_PATH)/libm.mips.map
|
||||
LOCAL_LDFLAGS_mips64 += -Wl,--version-script,$(LOCAL_PATH)/libm.mips64.map
|
||||
LOCAL_LDFLAGS_x86 += -Wl,--version-script,$(LOCAL_PATH)/libm.x86.map
|
||||
LOCAL_LDFLAGS_x86_64 += -Wl,--version-script,$(LOCAL_PATH)/libm.x86_64.map
|
||||
|
||||
|
||||
LOCAL_MODULE := libm
|
||||
LOCAL_SYSTEM_SHARED_LIBRARIES := libc
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := libm
|
||||
|
||||
LOCAL_NATIVE_COVERAGE := $(bionic_coverage)
|
||||
LOCAL_SANITIZE := never
|
||||
|
||||
LOCAL_CXX_STL := none
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
endif
|
Loading…
Reference in a new issue