diff --git a/Android.mk b/Android.mk deleted file mode 100644 index f86f065e0..000000000 --- a/Android.mk +++ /dev/null @@ -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)) diff --git a/libc/Android.mk b/libc/Android.mk deleted file mode 100644 index 6bb6f436e..000000000 --- a/libc/Android.mk +++ /dev/null @@ -1,1481 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -bionic_coverage ?= false - -# Make everything depend on any changes to included makefiles. -libc_common_additional_dependencies := $(LOCAL_PATH)/Android.mk - -# Load config for TARGET_ARCH -my_2nd_arch_prefix := -include $(LOCAL_PATH)/arch-$(TARGET_ARCH)/$(TARGET_ARCH).mk -libc_common_additional_dependencies += \ - $(LOCAL_PATH)/arch-$(TARGET_ARCH)/$(TARGET_ARCH).mk - - -ifdef TARGET_2ND_ARCH -# Load config for TARGET_2ND_ARCH -my_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX) -include $(LOCAL_PATH)/arch-$(TARGET_2ND_ARCH)/$(TARGET_2ND_ARCH).mk -my_2nd_arch_prefix := -libc_common_additional_dependencies += \ - $(LOCAL_PATH)/arch-$(TARGET_2ND_ARCH)/$(TARGET_2ND_ARCH).mk -endif - -# crt obj files -# ======================================================== -# crtbrand.c needs and a #define for the platform SDK version. -libc_crt_target_cflags := \ - -I$(LOCAL_PATH)/include \ - -DPLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \ - -my_2nd_arch_prefix := -include $(LOCAL_PATH)/crt.mk -ifdef TARGET_2ND_ARCH -my_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX) -include $(LOCAL_PATH)/crt.mk -my_2nd_arch_prefix := -endif - -# Define the common source files for all the libc instances -# ========================================================= -libc_common_src_files := \ - bionic/ether_aton.c \ - bionic/ether_ntoa.c \ - bionic/fts.c \ - bionic/getpriority.c \ - bionic/initgroups.c \ - bionic/isatty.c \ - bionic/memmem.c \ - bionic/pututline.c \ - bionic/sched_cpualloc.c \ - bionic/sched_cpucount.c \ - bionic/sigblock.c \ - bionic/siginterrupt.c \ - bionic/sigsetmask.c \ - bionic/system_properties_compat.c \ - stdio/fread.c \ - stdio/refill.c \ - stdio/snprintf.c\ - stdio/sprintf.c \ - stdio/stdio.cpp \ - stdio/stdio_ext.cpp \ - stdlib/atexit.c \ - stdlib/exit.c \ - -libc_bionic_ndk_src_files := \ - bionic/abort.cpp \ - bionic/accept.cpp \ - bionic/accept4.cpp \ - bionic/access.cpp \ - bionic/arpa_inet.cpp \ - bionic/assert.cpp \ - bionic/atof.cpp \ - bionic/bionic_netlink.cpp \ - bionic/bionic_systrace.cpp \ - bionic/bionic_time_conversions.cpp \ - bionic/brk.cpp \ - bionic/c16rtomb.cpp \ - bionic/c32rtomb.cpp \ - bionic/chmod.cpp \ - bionic/chown.cpp \ - bionic/clearenv.cpp \ - bionic/clock.cpp \ - bionic/clock_getcpuclockid.cpp \ - bionic/clock_nanosleep.cpp \ - bionic/clone.cpp \ - bionic/close.cpp \ - bionic/__cmsg_nxthdr.cpp \ - bionic/connect.cpp \ - bionic/ctype.cpp \ - bionic/dirent.cpp \ - bionic/dup2.cpp \ - bionic/epoll_create.cpp \ - bionic/epoll_pwait.cpp \ - bionic/epoll_wait.cpp \ - bionic/__errno.cpp \ - bionic/error.cpp \ - bionic/eventfd_read.cpp \ - bionic/eventfd_write.cpp \ - bionic/faccessat.cpp \ - bionic/fchmod.cpp \ - bionic/fchmodat.cpp \ - bionic/ffs.cpp \ - bionic/fgetxattr.cpp \ - bionic/flistxattr.cpp \ - bionic/flockfile.cpp \ - bionic/fortify.cpp \ - bionic/fpclassify.cpp \ - bionic/fsetxattr.cpp \ - bionic/ftruncate.cpp \ - bionic/ftw.cpp \ - bionic/futimens.cpp \ - bionic/getcwd.cpp \ - bionic/getdomainname.cpp \ - bionic/gethostname.cpp \ - bionic/getpagesize.cpp \ - bionic/getpgrp.cpp \ - bionic/getpid.cpp \ - bionic/gettid.cpp \ - bionic/__gnu_basename.cpp \ - bionic/grp_pwd.cpp \ - bionic/ifaddrs.cpp \ - bionic/inotify_init.cpp \ - bionic/ioctl.cpp \ - bionic/lchown.cpp \ - bionic/lfs64_support.cpp \ - bionic/__libc_current_sigrtmax.cpp \ - bionic/__libc_current_sigrtmin.cpp \ - bionic/libc_init_common.cpp \ - bionic/libc_logging.cpp \ - bionic/libgen.cpp \ - bionic/link.cpp \ - bionic/locale.cpp \ - bionic/lockf.cpp \ - bionic/lstat.cpp \ - bionic/malloc_info.cpp \ - bionic/mblen.cpp \ - bionic/mbrtoc16.cpp \ - bionic/mbrtoc32.cpp \ - bionic/mbstate.cpp \ - bionic/mempcpy.cpp \ - bionic/mkdir.cpp \ - bionic/mkfifo.cpp \ - bionic/mknod.cpp \ - bionic/mntent.cpp \ - bionic/mremap.cpp \ - bionic/netdb.cpp \ - bionic/NetdClientDispatch.cpp \ - bionic/net_if.cpp \ - bionic/netinet_in.cpp \ - bionic/nl_types.cpp \ - bionic/open.cpp \ - bionic/pathconf.cpp \ - bionic/pause.cpp \ - bionic/pipe.cpp \ - bionic/poll.cpp \ - bionic/posix_fadvise.cpp \ - bionic/posix_fallocate.cpp \ - bionic/posix_madvise.cpp \ - bionic/posix_timers.cpp \ - bionic/ptrace.cpp \ - bionic/pty.cpp \ - bionic/raise.cpp \ - bionic/rand.cpp \ - bionic/readlink.cpp \ - bionic/reboot.cpp \ - bionic/recv.cpp \ - bionic/rename.cpp \ - bionic/rmdir.cpp \ - bionic/scandir.cpp \ - bionic/sched_getaffinity.cpp \ - bionic/sched_getcpu.cpp \ - bionic/semaphore.cpp \ - bionic/send.cpp \ - bionic/setegid.cpp \ - bionic/__set_errno.cpp \ - bionic/seteuid.cpp \ - bionic/setpgrp.cpp \ - bionic/sigaction.cpp \ - bionic/sigaddset.cpp \ - bionic/sigdelset.cpp \ - bionic/sigemptyset.cpp \ - bionic/sigfillset.cpp \ - bionic/sighold.cpp \ - bionic/sigignore.cpp \ - bionic/sigismember.cpp \ - bionic/signal.cpp \ - bionic/signalfd.cpp \ - bionic/sigpause.cpp \ - bionic/sigpending.cpp \ - bionic/sigprocmask.cpp \ - bionic/sigqueue.cpp \ - bionic/sigrelse.cpp \ - bionic/sigset.cpp \ - bionic/sigsuspend.cpp \ - bionic/sigtimedwait.cpp \ - bionic/sigwait.cpp \ - bionic/sigwaitinfo.cpp \ - bionic/socket.cpp \ - bionic/stat.cpp \ - bionic/statvfs.cpp \ - bionic/strchrnul.cpp \ - bionic/strerror.cpp \ - bionic/strerror_r.cpp \ - bionic/strsignal.cpp \ - bionic/strtold.cpp \ - bionic/symlink.cpp \ - bionic/sync_file_range.cpp \ - bionic/sysinfo.cpp \ - bionic/syslog.cpp \ - bionic/sys_siglist.c \ - bionic/sys_signame.c \ - bionic/system_properties.cpp \ - bionic/tdestroy.cpp \ - bionic/termios.cpp \ - bionic/thread_private.cpp \ - bionic/tmpfile.cpp \ - bionic/umount.cpp \ - bionic/unlink.cpp \ - bionic/utimes.cpp \ - bionic/wait.cpp \ - bionic/wchar.cpp \ - bionic/wctype.cpp \ - bionic/wmempcpy.cpp \ - -libc_bionic_src_files := - -# The following implementations depend on pthread data, so we can't include -# them in libc_ndk.a. -libc_bionic_src_files += \ - bionic/__cxa_thread_atexit_impl.cpp \ - bionic/fork.cpp \ - -# The data that backs getauxval is initialized in the libc init functions which -# are invoked by the linker. If this file is included in libc_ndk.a, only one of -# the copies of the global data will be initialized, resulting in nullptr -# dereferences. -libc_bionic_src_files += bionic/getauxval.cpp - -# These four require getauxval, which isn't available on older platforms. -libc_bionic_src_files += bionic/getentropy_linux.c -libc_bionic_src_files += bionic/sysconf.cpp -libc_bionic_src_files += bionic/vdso.cpp -libc_bionic_src_files += bionic/setjmp_cookie.cpp - -libc_bionic_src_files += \ - bionic/__memcpy_chk.cpp \ - bionic/__strcat_chk.cpp \ - bionic/__strcpy_chk.cpp \ - bionic/strchr.cpp \ - bionic/strnlen.c \ - bionic/strrchr.cpp \ - -libc_cxa_src_files := \ - bionic/__cxa_guard.cpp \ - bionic/__cxa_pure_virtual.cpp \ - bionic/new.cpp \ - -libc_upstream_freebsd_src_files := \ - upstream-freebsd/lib/libc/gen/ldexp.c \ - upstream-freebsd/lib/libc/gen/sleep.c \ - upstream-freebsd/lib/libc/gen/usleep.c \ - upstream-freebsd/lib/libc/stdlib/getopt_long.c \ - upstream-freebsd/lib/libc/stdlib/qsort.c \ - upstream-freebsd/lib/libc/stdlib/quick_exit.c \ - upstream-freebsd/lib/libc/stdlib/realpath.c \ - upstream-freebsd/lib/libc/string/wcpcpy.c \ - upstream-freebsd/lib/libc/string/wcpncpy.c \ - upstream-freebsd/lib/libc/string/wcscasecmp.c \ - upstream-freebsd/lib/libc/string/wcscat.c \ - upstream-freebsd/lib/libc/string/wcschr.c \ - upstream-freebsd/lib/libc/string/wcscmp.c \ - upstream-freebsd/lib/libc/string/wcscpy.c \ - upstream-freebsd/lib/libc/string/wcscspn.c \ - upstream-freebsd/lib/libc/string/wcsdup.c \ - upstream-freebsd/lib/libc/string/wcslcat.c \ - upstream-freebsd/lib/libc/string/wcslen.c \ - upstream-freebsd/lib/libc/string/wcsncasecmp.c \ - upstream-freebsd/lib/libc/string/wcsncat.c \ - upstream-freebsd/lib/libc/string/wcsncmp.c \ - upstream-freebsd/lib/libc/string/wcsncpy.c \ - upstream-freebsd/lib/libc/string/wcsnlen.c \ - upstream-freebsd/lib/libc/string/wcspbrk.c \ - upstream-freebsd/lib/libc/string/wcsrchr.c \ - upstream-freebsd/lib/libc/string/wcsspn.c \ - upstream-freebsd/lib/libc/string/wcstok.c \ - upstream-freebsd/lib/libc/string/wmemchr.c \ - upstream-freebsd/lib/libc/string/wmemcmp.c \ - upstream-freebsd/lib/libc/string/wmemmove.c \ - upstream-freebsd/lib/libc/string/wmemset.c \ - -libc_upstream_netbsd_src_files := \ - upstream-netbsd/common/lib/libc/stdlib/random.c \ - upstream-netbsd/lib/libc/gen/nice.c \ - upstream-netbsd/lib/libc/gen/popen.c \ - upstream-netbsd/lib/libc/gen/psignal.c \ - upstream-netbsd/lib/libc/gen/utime.c \ - upstream-netbsd/lib/libc/gen/utmp.c \ - upstream-netbsd/lib/libc/inet/nsap_addr.c \ - upstream-netbsd/lib/libc/regex/regcomp.c \ - upstream-netbsd/lib/libc/regex/regerror.c \ - upstream-netbsd/lib/libc/regex/regexec.c \ - upstream-netbsd/lib/libc/regex/regfree.c \ - upstream-netbsd/lib/libc/stdlib/bsearch.c \ - upstream-netbsd/lib/libc/stdlib/div.c \ - upstream-netbsd/lib/libc/stdlib/drand48.c \ - upstream-netbsd/lib/libc/stdlib/erand48.c \ - upstream-netbsd/lib/libc/stdlib/jrand48.c \ - upstream-netbsd/lib/libc/stdlib/lcong48.c \ - upstream-netbsd/lib/libc/stdlib/ldiv.c \ - upstream-netbsd/lib/libc/stdlib/lldiv.c \ - upstream-netbsd/lib/libc/stdlib/lrand48.c \ - upstream-netbsd/lib/libc/stdlib/mrand48.c \ - upstream-netbsd/lib/libc/stdlib/nrand48.c \ - upstream-netbsd/lib/libc/stdlib/_rand48.c \ - upstream-netbsd/lib/libc/stdlib/rand_r.c \ - upstream-netbsd/lib/libc/stdlib/reallocarr.c \ - upstream-netbsd/lib/libc/stdlib/seed48.c \ - upstream-netbsd/lib/libc/stdlib/srand48.c \ - upstream-netbsd/lib/libc/string/memccpy.c \ - upstream-netbsd/lib/libc/string/strcasestr.c \ - upstream-netbsd/lib/libc/string/strcoll.c \ - upstream-netbsd/lib/libc/string/strxfrm.c \ - -libc_upstream_openbsd_gdtoa_src_files := \ - upstream-openbsd/android/gdtoa_support.cpp \ - upstream-openbsd/lib/libc/gdtoa/dmisc.c \ - upstream-openbsd/lib/libc/gdtoa/dtoa.c \ - upstream-openbsd/lib/libc/gdtoa/gdtoa.c \ - upstream-openbsd/lib/libc/gdtoa/gethex.c \ - upstream-openbsd/lib/libc/gdtoa/gmisc.c \ - upstream-openbsd/lib/libc/gdtoa/hd_init.c \ - upstream-openbsd/lib/libc/gdtoa/hdtoa.c \ - upstream-openbsd/lib/libc/gdtoa/hexnan.c \ - upstream-openbsd/lib/libc/gdtoa/ldtoa.c \ - upstream-openbsd/lib/libc/gdtoa/misc.c \ - upstream-openbsd/lib/libc/gdtoa/smisc.c \ - upstream-openbsd/lib/libc/gdtoa/strtod.c \ - upstream-openbsd/lib/libc/gdtoa/strtodg.c \ - upstream-openbsd/lib/libc/gdtoa/strtof.c \ - upstream-openbsd/lib/libc/gdtoa/strtord.c \ - upstream-openbsd/lib/libc/gdtoa/sum.c \ - upstream-openbsd/lib/libc/gdtoa/ulp.c \ - -libc_upstream_openbsd_gdtoa_src_files_32 := \ - $(libc_upstream_openbsd_gdtoa_src_files) \ - -libc_upstream_openbsd_gdtoa_src_files_64 := \ - $(libc_upstream_openbsd_gdtoa_src_files) \ - upstream-openbsd/lib/libc/gdtoa/strtorQ.c \ - -# These two depend on getentropy_linux.c, which isn't in libc_ndk.a. -libc_upstream_openbsd_src_files := \ - upstream-openbsd/lib/libc/crypt/arc4random.c \ - upstream-openbsd/lib/libc/crypt/arc4random_uniform.c \ - -libc_upstream_openbsd_src_files += \ - 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/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 \ - -libc_upstream_openbsd_ndk_src_files := \ - upstream-openbsd/lib/libc/compat-43/killpg.c \ - upstream-openbsd/lib/libc/gen/alarm.c \ - upstream-openbsd/lib/libc/gen/ctype_.c \ - upstream-openbsd/lib/libc/gen/daemon.c \ - upstream-openbsd/lib/libc/gen/err.c \ - upstream-openbsd/lib/libc/gen/errx.c \ - upstream-openbsd/lib/libc/gen/exec.c \ - upstream-openbsd/lib/libc/gen/fnmatch.c \ - upstream-openbsd/lib/libc/gen/ftok.c \ - upstream-openbsd/lib/libc/gen/getprogname.c \ - upstream-openbsd/lib/libc/gen/isctype.c \ - upstream-openbsd/lib/libc/gen/setprogname.c \ - upstream-openbsd/lib/libc/gen/time.c \ - upstream-openbsd/lib/libc/gen/tolower_.c \ - upstream-openbsd/lib/libc/gen/toupper_.c \ - upstream-openbsd/lib/libc/gen/verr.c \ - upstream-openbsd/lib/libc/gen/verrx.c \ - upstream-openbsd/lib/libc/gen/vwarn.c \ - upstream-openbsd/lib/libc/gen/vwarnx.c \ - upstream-openbsd/lib/libc/gen/warn.c \ - upstream-openbsd/lib/libc/gen/warnx.c \ - upstream-openbsd/lib/libc/locale/btowc.c \ - upstream-openbsd/lib/libc/locale/mbrlen.c \ - upstream-openbsd/lib/libc/locale/mbstowcs.c \ - upstream-openbsd/lib/libc/locale/mbtowc.c \ - upstream-openbsd/lib/libc/locale/wcscoll.c \ - upstream-openbsd/lib/libc/locale/wcstod.c \ - upstream-openbsd/lib/libc/locale/wcstof.c \ - upstream-openbsd/lib/libc/locale/wcstoimax.c \ - upstream-openbsd/lib/libc/locale/wcstol.c \ - upstream-openbsd/lib/libc/locale/wcstold.c \ - upstream-openbsd/lib/libc/locale/wcstoll.c \ - upstream-openbsd/lib/libc/locale/wcstombs.c \ - upstream-openbsd/lib/libc/locale/wcstoul.c \ - upstream-openbsd/lib/libc/locale/wcstoull.c \ - upstream-openbsd/lib/libc/locale/wcstoumax.c \ - upstream-openbsd/lib/libc/locale/wcsxfrm.c \ - upstream-openbsd/lib/libc/locale/wctob.c \ - upstream-openbsd/lib/libc/locale/wctomb.c \ - upstream-openbsd/lib/libc/net/base64.c \ - upstream-openbsd/lib/libc/net/htonl.c \ - upstream-openbsd/lib/libc/net/htons.c \ - upstream-openbsd/lib/libc/net/inet_lnaof.c \ - upstream-openbsd/lib/libc/net/inet_makeaddr.c \ - upstream-openbsd/lib/libc/net/inet_netof.c \ - upstream-openbsd/lib/libc/net/inet_ntoa.c \ - upstream-openbsd/lib/libc/net/inet_ntop.c \ - upstream-openbsd/lib/libc/net/inet_pton.c \ - upstream-openbsd/lib/libc/net/ntohl.c \ - upstream-openbsd/lib/libc/net/ntohs.c \ - upstream-openbsd/lib/libc/net/res_random.c \ - upstream-openbsd/lib/libc/stdio/asprintf.c \ - upstream-openbsd/lib/libc/stdio/clrerr.c \ - upstream-openbsd/lib/libc/stdio/dprintf.c \ - upstream-openbsd/lib/libc/stdio/feof.c \ - upstream-openbsd/lib/libc/stdio/ferror.c \ - upstream-openbsd/lib/libc/stdio/fflush.c \ - upstream-openbsd/lib/libc/stdio/fgetc.c \ - upstream-openbsd/lib/libc/stdio/fgetln.c \ - upstream-openbsd/lib/libc/stdio/fgets.c \ - upstream-openbsd/lib/libc/stdio/fgetwc.c \ - upstream-openbsd/lib/libc/stdio/fgetws.c \ - upstream-openbsd/lib/libc/stdio/flags.c \ - upstream-openbsd/lib/libc/stdio/fmemopen.c \ - upstream-openbsd/lib/libc/stdio/fprintf.c \ - upstream-openbsd/lib/libc/stdio/fpurge.c \ - upstream-openbsd/lib/libc/stdio/fputc.c \ - upstream-openbsd/lib/libc/stdio/fputs.c \ - upstream-openbsd/lib/libc/stdio/fputwc.c \ - upstream-openbsd/lib/libc/stdio/fputws.c \ - upstream-openbsd/lib/libc/stdio/fscanf.c \ - upstream-openbsd/lib/libc/stdio/fvwrite.c \ - upstream-openbsd/lib/libc/stdio/fwalk.c \ - upstream-openbsd/lib/libc/stdio/fwide.c \ - upstream-openbsd/lib/libc/stdio/fwprintf.c \ - upstream-openbsd/lib/libc/stdio/fwrite.c \ - upstream-openbsd/lib/libc/stdio/fwscanf.c \ - upstream-openbsd/lib/libc/stdio/getc.c \ - upstream-openbsd/lib/libc/stdio/getchar.c \ - upstream-openbsd/lib/libc/stdio/getdelim.c \ - upstream-openbsd/lib/libc/stdio/getline.c \ - upstream-openbsd/lib/libc/stdio/gets.c \ - upstream-openbsd/lib/libc/stdio/getwc.c \ - upstream-openbsd/lib/libc/stdio/getwchar.c \ - upstream-openbsd/lib/libc/stdio/makebuf.c \ - upstream-openbsd/lib/libc/stdio/mktemp.c \ - upstream-openbsd/lib/libc/stdio/open_memstream.c \ - upstream-openbsd/lib/libc/stdio/open_wmemstream.c \ - upstream-openbsd/lib/libc/stdio/perror.c \ - upstream-openbsd/lib/libc/stdio/printf.c \ - upstream-openbsd/lib/libc/stdio/putc.c \ - upstream-openbsd/lib/libc/stdio/putchar.c \ - upstream-openbsd/lib/libc/stdio/puts.c \ - upstream-openbsd/lib/libc/stdio/putwc.c \ - upstream-openbsd/lib/libc/stdio/putwchar.c \ - upstream-openbsd/lib/libc/stdio/remove.c \ - upstream-openbsd/lib/libc/stdio/rewind.c \ - upstream-openbsd/lib/libc/stdio/rget.c \ - upstream-openbsd/lib/libc/stdio/scanf.c \ - upstream-openbsd/lib/libc/stdio/setbuf.c \ - upstream-openbsd/lib/libc/stdio/setbuffer.c \ - upstream-openbsd/lib/libc/stdio/setvbuf.c \ - upstream-openbsd/lib/libc/stdio/sscanf.c \ - upstream-openbsd/lib/libc/stdio/swprintf.c \ - upstream-openbsd/lib/libc/stdio/swscanf.c \ - upstream-openbsd/lib/libc/stdio/tempnam.c \ - upstream-openbsd/lib/libc/stdio/tmpnam.c \ - upstream-openbsd/lib/libc/stdio/ungetc.c \ - upstream-openbsd/lib/libc/stdio/ungetwc.c \ - upstream-openbsd/lib/libc/stdio/vasprintf.c \ - upstream-openbsd/lib/libc/stdio/vdprintf.c \ - upstream-openbsd/lib/libc/stdio/vfprintf.c \ - upstream-openbsd/lib/libc/stdio/vfscanf.c \ - upstream-openbsd/lib/libc/stdio/vfwprintf.c \ - upstream-openbsd/lib/libc/stdio/vfwscanf.c \ - upstream-openbsd/lib/libc/stdio/vprintf.c \ - upstream-openbsd/lib/libc/stdio/vscanf.c \ - upstream-openbsd/lib/libc/stdio/vsnprintf.c \ - upstream-openbsd/lib/libc/stdio/vsprintf.c \ - upstream-openbsd/lib/libc/stdio/vsscanf.c \ - upstream-openbsd/lib/libc/stdio/vswprintf.c \ - upstream-openbsd/lib/libc/stdio/vswscanf.c \ - upstream-openbsd/lib/libc/stdio/vwprintf.c \ - upstream-openbsd/lib/libc/stdio/vwscanf.c \ - upstream-openbsd/lib/libc/stdio/wbuf.c \ - upstream-openbsd/lib/libc/stdio/wprintf.c \ - upstream-openbsd/lib/libc/stdio/wscanf.c \ - upstream-openbsd/lib/libc/stdio/wsetup.c \ - upstream-openbsd/lib/libc/stdlib/abs.c \ - upstream-openbsd/lib/libc/stdlib/atoi.c \ - upstream-openbsd/lib/libc/stdlib/atol.c \ - upstream-openbsd/lib/libc/stdlib/atoll.c \ - upstream-openbsd/lib/libc/stdlib/getenv.c \ - upstream-openbsd/lib/libc/stdlib/getsubopt.c \ - upstream-openbsd/lib/libc/stdlib/insque.c \ - upstream-openbsd/lib/libc/stdlib/imaxabs.c \ - upstream-openbsd/lib/libc/stdlib/imaxdiv.c \ - upstream-openbsd/lib/libc/stdlib/labs.c \ - upstream-openbsd/lib/libc/stdlib/llabs.c \ - upstream-openbsd/lib/libc/stdlib/lsearch.c \ - upstream-openbsd/lib/libc/stdlib/reallocarray.c \ - upstream-openbsd/lib/libc/stdlib/remque.c \ - upstream-openbsd/lib/libc/stdlib/setenv.c \ - upstream-openbsd/lib/libc/stdlib/strtoimax.c \ - upstream-openbsd/lib/libc/stdlib/strtol.c \ - upstream-openbsd/lib/libc/stdlib/strtoll.c \ - upstream-openbsd/lib/libc/stdlib/strtoul.c \ - upstream-openbsd/lib/libc/stdlib/strtoull.c \ - upstream-openbsd/lib/libc/stdlib/strtoumax.c \ - upstream-openbsd/lib/libc/stdlib/system.c \ - upstream-openbsd/lib/libc/stdlib/tfind.c \ - upstream-openbsd/lib/libc/stdlib/tsearch.c \ - upstream-openbsd/lib/libc/string/strcasecmp.c \ - upstream-openbsd/lib/libc/string/strcspn.c \ - upstream-openbsd/lib/libc/string/strdup.c \ - upstream-openbsd/lib/libc/string/strndup.c \ - upstream-openbsd/lib/libc/string/strpbrk.c \ - upstream-openbsd/lib/libc/string/strsep.c \ - upstream-openbsd/lib/libc/string/strspn.c \ - upstream-openbsd/lib/libc/string/strstr.c \ - upstream-openbsd/lib/libc/string/strtok.c \ - upstream-openbsd/lib/libc/string/wmemcpy.c \ - upstream-openbsd/lib/libc/string/wcslcpy.c \ - upstream-openbsd/lib/libc/string/wcsstr.c \ - upstream-openbsd/lib/libc/string/wcswidth.c \ - -libc_pthread_src_files := \ - bionic/pthread_atfork.cpp \ - bionic/pthread_attr.cpp \ - bionic/pthread_barrier.cpp \ - bionic/pthread_cond.cpp \ - bionic/pthread_create.cpp \ - bionic/pthread_detach.cpp \ - bionic/pthread_equal.cpp \ - bionic/pthread_exit.cpp \ - bionic/pthread_getcpuclockid.cpp \ - bionic/pthread_getschedparam.cpp \ - bionic/pthread_gettid_np.cpp \ - bionic/pthread_internal.cpp \ - bionic/pthread_join.cpp \ - bionic/pthread_key.cpp \ - bionic/pthread_kill.cpp \ - bionic/pthread_mutex.cpp \ - bionic/pthread_once.cpp \ - bionic/pthread_rwlock.cpp \ - bionic/pthread_self.cpp \ - bionic/pthread_setname_np.cpp \ - bionic/pthread_setschedparam.cpp \ - bionic/pthread_sigmask.cpp \ - bionic/pthread_spinlock.cpp \ - -libc_arch_static_src_files := \ - bionic/dl_iterate_phdr_static.cpp \ - -# Various kinds of cruft. -# ======================================================== -libc_common_src_files += \ - bionic/ndk_cruft.cpp \ - -libc_bionic_ndk_src_files_32 += \ - bionic/mmap.cpp \ - -libc_common_src_files_32 += \ - bionic/legacy_32_bit_support.cpp \ - bionic/time64.c \ - -libc_netbsd_src_files_32 += \ - upstream-netbsd/common/lib/libc/hash/sha1/sha1.c \ - -libc_openbsd_src_files_32 += \ - upstream-openbsd/lib/libc/stdio/putw.c \ - - -# Define some common cflags -# ======================================================== -libc_common_cflags := \ - -D_LIBC=1 \ - -Wall -Wextra -Wunused \ - -Wno-deprecated-declarations \ - -use_clang := true - -# Try to catch typical 32-bit assumptions that break with 64-bit pointers. -libc_common_cflags += \ - -Werror=pointer-to-int-cast \ - -Werror=int-to-pointer-cast \ - -Werror=type-limits \ - -Werror \ - -ifeq ($(strip $(DEBUG_BIONIC_LIBC)),true) - libc_common_cflags += -DDEBUG -endif - -libc_malloc_src := bionic/jemalloc_wrapper.cpp -libc_common_c_includes += external/jemalloc/include - -# Define some common conlyflags -libc_common_conlyflags := \ - -std=gnu99 - -# Define some common cppflags -libc_common_cppflags := \ - -# Define some common includes -# ======================================================== -libc_common_c_includes += \ - $(LOCAL_PATH)/stdio \ - -# ======================================================== -# Add in the arch or 32-bit specific flags -# Must be called with $(eval). -# $(1): the LOCAL_ variable name -# $(2): the bionic variable name to pull in -define patch-up-arch-specific-flags -$(1)_$(TARGET_ARCH) += $($(2)_$(TARGET_ARCH)) -$(1)_32 += $($(2)_32) -ifdef TARGET_2ND_ARCH -$(1)_$(TARGET_2ND_ARCH) += $($(2)_$(TARGET_2ND_ARCH)) -endif -endef - - -# ======================================================== -# libc_stack_protector.a - stack protector code -# ======================================================== -# -# Code that implements the stack protector (or that runs -# before TLS has been set up) needs to be compiled with -# -fno-stack-protector, since it accesses the stack canary -# TLS slot. - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - bionic/__libc_init_main_thread.cpp \ - bionic/__stack_chk_fail.cpp \ - -LOCAL_SRC_FILES_arm64 := arch-arm64/bionic/__set_tls.c -LOCAL_SRC_FILES_x86 := arch-x86/bionic/__set_tls.cpp -LOCAL_SRC_FILES_x86_64 := arch-x86_64/bionic/__set_tls.c - -LOCAL_CFLAGS := $(libc_common_cflags) -fno-stack-protector -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) -LOCAL_MODULE := libc_stack_protector -LOCAL_CLANG := $(use_clang) -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -include $(BUILD_STATIC_LIBRARY) - - -# libc_init_static.cpp also needs to be built without stack protector, -# because it's responsible for setting up TLS for static executables. -# This isn't the case for dynamic executables because the dynamic linker -# has already set up the main thread's TLS. - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := bionic/libc_init_static.cpp -LOCAL_CFLAGS := $(libc_common_cflags) -fno-stack-protector -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) -LOCAL_MODULE := libc_init_static -LOCAL_CLANG := $(use_clang) -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc_tzcode.a - upstream 'tzcode' code -# ======================================================== - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(call all-c-files-under,tzcode) -# tzcode doesn't include wcsftime, so we use the OpenBSD one. -LOCAL_SRC_FILES += upstream-openbsd/lib/libc/time/wcsftime.c - -LOCAL_CFLAGS := $(libc_common_cflags) \ - -fvisibility=hidden \ - -Wno-unused-parameter \ - -# Don't use ridiculous amounts of stack. -LOCAL_CFLAGS += -DALL_STATE -# Include tzsetwall, timelocal, timegm, time2posix, and posix2time. -LOCAL_CFLAGS += -DSTD_INSPIRED -# Obviously, we want to be thread-safe. -LOCAL_CFLAGS += -DTHREAD_SAFE -# The name of the tm_gmtoff field in our struct tm. -LOCAL_CFLAGS += -DTM_GMTOFF=tm_gmtoff -# Where we store our tzdata. -LOCAL_CFLAGS += -DTZDIR=\"/system/usr/share/zoneinfo\" -# Include timezone and daylight globals. -LOCAL_CFLAGS += -DUSG_COMPAT=1 -# Use the empty string (instead of " ") as the timezone abbreviation fallback. -LOCAL_CFLAGS += -DWILDABBR=\"\" -LOCAL_CFLAGS += -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU -LOCAL_CFLAGS += -Dlint - -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) $(LOCAL_PATH)/tzcode/ -LOCAL_MODULE := libc_tzcode -LOCAL_CLANG := $(use_clang) -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc_dns.a - modified NetBSD DNS code -# ======================================================== - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - $(call all-c-files-under,dns) \ - upstream-netbsd/lib/libc/isc/ev_streams.c \ - upstream-netbsd/lib/libc/isc/ev_timers.c \ - upstream-netbsd/lib/libc/resolv/mtctxres.c \ - -LOCAL_CFLAGS += \ - $(libc_common_cflags) \ - -DANDROID_CHANGES \ - -DINET6 \ - -Wno-unused-parameter \ - -include netbsd-compat.h \ - -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) \ - $(LOCAL_PATH)/dns/include \ - $(LOCAL_PATH)/private \ - $(LOCAL_PATH)/upstream-netbsd/lib/libc/include \ - $(LOCAL_PATH)/upstream-netbsd/android/include \ - -LOCAL_MODULE := libc_dns -LOCAL_CLANG := $(use_clang) -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc_freebsd.a - upstream FreeBSD C library code -# ======================================================== -# -# These files are built with the freebsd-compat.h header file -# automatically included. - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(libc_upstream_freebsd_src_files) -LOCAL_CFLAGS := \ - $(libc_common_cflags) \ - -Wno-sign-compare -Wno-uninitialized \ - -include freebsd-compat.h \ - -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) \ - $(LOCAL_PATH)/upstream-freebsd/android/include \ - $(LOCAL_PATH)/upstream-freebsd/lib/libc/include \ - -LOCAL_MODULE := libc_freebsd -LOCAL_CLANG := $(use_clang) -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -$(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES_EXCLUDE,libc_freebsd_src_files_exclude)) -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc_netbsd.a - upstream NetBSD C library code -# ======================================================== -# -# These files are built with the netbsd-compat.h header file -# automatically included. - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(libc_upstream_netbsd_src_files) -LOCAL_CFLAGS := \ - $(libc_common_cflags) \ - -Wno-sign-compare \ - -Wno-uninitialized \ - -Wno-unused-parameter \ - -DPOSIX_MISTAKE \ - -include netbsd-compat.h \ - -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) \ - $(LOCAL_PATH)/upstream-netbsd/android/include \ - $(LOCAL_PATH)/upstream-netbsd/lib/libc/include \ - -LOCAL_MODULE := libc_netbsd -LOCAL_CLANG := $(use_clang) -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -$(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES,libc_netbsd_src_files)) -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc_openbsd_ndk.a - upstream OpenBSD C library code -# that can be safely included in the libc_ndk.a (doesn't -# contain any troublesome global data or constructors). -# ======================================================== -# -# These files are built with the openbsd-compat.h header file -# automatically included. - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(libc_upstream_openbsd_ndk_src_files) -LOCAL_CLANG := $(use_clang) - -LOCAL_CFLAGS := \ - $(libc_common_cflags) \ - -Wno-sign-compare \ - -Wno-uninitialized \ - -Wno-unused-parameter \ - -include openbsd-compat.h \ - -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) \ - $(LOCAL_PATH)/private \ - $(LOCAL_PATH)/upstream-openbsd/android/include \ - $(LOCAL_PATH)/upstream-openbsd/lib/libc/include \ - $(LOCAL_PATH)/upstream-openbsd/lib/libc/gdtoa/ \ - -LOCAL_MODULE := libc_openbsd_ndk -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc_openbsd.a - upstream OpenBSD C library code -# ======================================================== -# -# These files are built with the openbsd-compat.h header file -# automatically included. - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(libc_upstream_openbsd_src_files) -LOCAL_CLANG := $(use_clang) - -LOCAL_CFLAGS := \ - $(libc_common_cflags) \ - -Wno-sign-compare \ - -Wno-uninitialized \ - -Wno-unused-parameter \ - -include openbsd-compat.h \ - -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) \ - $(LOCAL_PATH)/private \ - $(LOCAL_PATH)/upstream-openbsd/android/include \ - $(LOCAL_PATH)/upstream-openbsd/lib/libc/include \ - $(LOCAL_PATH)/upstream-openbsd/lib/libc/gdtoa/ \ - -LOCAL_MODULE := libc_openbsd -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -$(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES,libc_openbsd_src_files)) -$(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES_EXCLUDE,libc_openbsd_src_files_exclude)) -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc_gdtoa.a - upstream OpenBSD C library gdtoa code -# ======================================================== -# -# These files are built with the openbsd-compat.h header file -# automatically included. - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES_32 := $(libc_upstream_openbsd_gdtoa_src_files_32) -LOCAL_SRC_FILES_64 := $(libc_upstream_openbsd_gdtoa_src_files_64) -LOCAL_CLANG := $(use_clang) - -LOCAL_CFLAGS := \ - $(libc_common_cflags) \ - -Wno-sign-compare -Wno-uninitialized \ - -fvisibility=hidden \ - -include openbsd-compat.h \ - -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) \ - $(LOCAL_PATH)/private \ - $(LOCAL_PATH)/upstream-openbsd/android/include \ - $(LOCAL_PATH)/upstream-openbsd/lib/libc/include \ - -LOCAL_MODULE := libc_gdtoa -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc_bionic.a - home-grown C library code -# ======================================================== - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(libc_bionic_src_files) -LOCAL_CFLAGS := $(libc_common_cflags) \ - -Wframe-larger-than=2048 \ - -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -Wold-style-cast -LOCAL_C_INCLUDES := $(libc_common_c_includes) bionic/libstdc++/include -LOCAL_MODULE := libc_bionic -LOCAL_CLANG := $(use_clang) -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -$(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES,libc_bionic_src_files)) -$(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES_EXCLUDE,libc_bionic_src_files_exclude)) -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc_bionic_ndk.a - The portions of libc_bionic that can -# be safely used in libc_ndk.a (no troublesome global data -# or constructors). -# ======================================================== - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(libc_bionic_ndk_src_files) -LOCAL_CFLAGS := $(libc_common_cflags) \ - -Wframe-larger-than=2048 \ - -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -Wold-style-cast -LOCAL_C_INCLUDES := $(libc_common_c_includes) bionic/libstdc++/include -LOCAL_MODULE := libc_bionic_ndk -LOCAL_CLANG := $(use_clang) -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -$(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES,libc_bionic_ndk_src_files)) -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc_pthread.a - pthreads parts that previously lived in -# libc_bionic.a. Relocated to their own library because -# they can't be included in libc_ndk.a (as they layout of -# pthread_t has changed over the years and has ABI -# compatibility issues). -# ======================================================== - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(libc_pthread_src_files) -LOCAL_CFLAGS := $(libc_common_cflags) \ - -Wframe-larger-than=2048 \ - -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -Wold-style-cast -LOCAL_C_INCLUDES := $(libc_common_c_includes) -LOCAL_MODULE := libc_pthread -LOCAL_CLANG := $(use_clang) -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc_cxa.a - Things traditionally in libstdc++ -# ======================================================== - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(libc_cxa_src_files) -LOCAL_CFLAGS := $(libc_common_cflags) \ - -fvisibility=hidden \ - -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) bionic/libstdc++/include -LOCAL_MODULE := libc_cxa -LOCAL_CLANG := true # GCC refuses to hide new/delete -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -# b/17574078: Need to disable coverage until we have a prebuilt libprofile_rt. -# Since this is a static library built with clang, it needs to link -# libprofile_rt when it is linked into the final binary. Since the final binary -# is built with GCC, it won't link libprofile_rt. We can't very easily just add -# libprofile_rt to all link lines the way we've done for libgcov because -# libprofile_rt isn't prebuilt, and it would be tricky to write a rule that -# would make sure libprofile_rt is built. -LOCAL_NATIVE_COVERAGE := false - -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc_syscalls.a -# ======================================================== - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES_$(TARGET_ARCH) := $(call all-S-files-under,arch-$(TARGET_ARCH)/syscalls) -ifdef TARGET_2ND_ARCH -LOCAL_SRC_FILES_$(TARGET_2ND_ARCH) := $(call all-S-files-under,arch-$(TARGET_2ND_ARCH)/syscalls) -endif -LOCAL_MODULE := libc_syscalls -LOCAL_CLANG := $(use_clang) -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc_aeabi.a -# This is an LP32 ARM-only library that needs to be built with -fno-builtin -# to avoid infinite recursion. For the other architectures we just build an -# empty library to keep this makefile simple. -# ======================================================== - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES_arm := arch-arm/bionic/__aeabi.c -LOCAL_MODULE := libc_aeabi -LOCAL_CLANG := $(use_clang) -LOCAL_CFLAGS := $(libc_common_cflags) -fno-builtin -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -include $(BUILD_STATIC_LIBRARY) - -# ======================================================== -# libc_ndk.a -# Compatibility library for the NDK. This library contains -# all the parts of libc that are safe to statically link. -# We can't safely statically link things that can only run -# on a certain version of the OS. Examples include -# anything that talks to netd (a large portion of the DNS -# code) and anything that is dependent on the layout of a -# data structure that has changed across releases (such as -# pthread_t). -# ======================================================== - -include $(CLEAR_VARS) - -LOCAL_MODULE := libc_ndk -LOCAL_CLANG := $(use_clang) -LOCAL_ASFLAGS := $(LOCAL_CFLAGS) -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CFLAGS := $(libc_common_cflags) -fvisibility=hidden -O0 -LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) -LOCAL_SYSTEM_SHARED_LIBRARIES := - -LOCAL_SRC_FILES := \ - $(libc_common_src_files) \ - $(libc_arch_dynamic_src_files) \ - $(libc_ndk_stub_src_files) \ - bionic/malloc_common.cpp \ - -LOCAL_SRC_FILES_arm += \ - arch-common/bionic/crtbegin_so.c \ - arch-arm/bionic/atexit_legacy.c \ - arch-common/bionic/crtend_so.S \ - -LOCAL_CFLAGS := $(libc_common_cflags) \ - -DLIBC_STATIC \ - -LOCAL_WHOLE_STATIC_LIBRARIES := \ - libc_bionic_ndk \ - libc_cxa \ - libc_freebsd \ - libc_gdtoa \ - libc_malloc \ - libc_netbsd \ - libc_openbsd_ndk \ - libc_stack_protector \ - libc_syscalls \ - libc_tzcode \ - libm \ - libjemalloc \ - -LOCAL_WHOLE_STATIC_LIBRARIES_arm := libc_aeabi -LOCAL_CXX_STL := none - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -$(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES,libc_common_src_files)) -$(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES,libc_arch_dynamic_src_files)) -$(eval $(call patch-up-arch-specific-flags,LOCAL_ASFLAGS,LOCAL_CFLAGS)) - -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -include $(BUILD_STATIC_LIBRARY) - -# ======================================================== -# libc_common.a -# ======================================================== - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(libc_common_src_files) -LOCAL_CFLAGS := $(libc_common_cflags) -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) -LOCAL_MODULE := libc_common -LOCAL_CLANG := $(use_clang) -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_WHOLE_STATIC_LIBRARIES := \ - libc_bionic \ - libc_bionic_ndk \ - libc_cxa \ - libc_dns \ - libc_freebsd \ - libc_gdtoa \ - libc_malloc \ - libc_netbsd \ - libc_openbsd \ - libc_openbsd_ndk \ - libc_pthread \ - libc_stack_protector \ - libc_syscalls \ - libc_tzcode \ - -LOCAL_WHOLE_STATIC_LIBRARIES_arm := libc_aeabi - -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := - -# TODO: split out the asflags. -LOCAL_ASFLAGS := $(LOCAL_CFLAGS) -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -$(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES,libc_common_src_files)) -$(eval $(call patch-up-arch-specific-flags,LOCAL_ASFLAGS,LOCAL_CFLAGS)) -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc_nomalloc.a -# ======================================================== -# -# This is a version of the static C library that does not -# include malloc. It's useful in situations when the user wants -# to provide their own malloc implementation, or wants to -# explicitly disallow the use of malloc, such as in the -# dynamic linker. - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - $(libc_arch_static_src_files) \ - -LOCAL_C_INCLUDES := $(libc_common_c_includes) -LOCAL_CFLAGS := $(libc_common_cflags) \ - -DLIBC_STATIC \ - -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) - -LOCAL_MODULE := libc_nomalloc -LOCAL_CLANG := $(use_clang) -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_WHOLE_STATIC_LIBRARIES := libc_common libc_init_static -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -$(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES,libc_arch_static_src_files)) -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc_malloc.a: the _prefixed_ malloc functions (like dlcalloc). -# ======================================================== - -include $(CLEAR_VARS) -LOCAL_SRC_FILES := $(libc_malloc_src) -LOCAL_CFLAGS := $(libc_common_cflags) \ - -fvisibility=hidden \ - -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) -LOCAL_MODULE := libc_malloc -LOCAL_CLANG := $(use_clang) -LOCAL_CXX_STL := none -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc.a -# ======================================================== -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - $(libc_arch_static_src_files) \ - bionic/malloc_common.cpp \ - bionic/libc_init_static.cpp \ - -LOCAL_CFLAGS := $(libc_common_cflags) \ - -DLIBC_STATIC \ - -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) -LOCAL_MODULE := libc -LOCAL_CLANG := $(use_clang) -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_WHOLE_STATIC_LIBRARIES := libc_common libc_init_static libjemalloc - -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -$(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES,libc_arch_static_src_files)) -include $(BUILD_STATIC_LIBRARY) - - -# ======================================================== -# libc.so -# ======================================================== -include $(CLEAR_VARS) - -LOCAL_CFLAGS := $(libc_common_cflags) -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) - -LOCAL_C_INCLUDES := $(libc_common_c_includes) -LOCAL_SRC_FILES := \ - arch-common/bionic/crtbegin_so.c \ - arch-common/bionic/crtbrand.S \ - $(libc_arch_dynamic_src_files) \ - bionic/malloc_common.cpp \ - bionic/libc_init_dynamic.cpp \ - bionic/NetdClient.cpp \ - arch-common/bionic/crtend_so.S \ - -LOCAL_MODULE := libc -LOCAL_CLANG := $(use_clang) -LOCAL_REQUIRED_MODULES := tzdata -LOCAL_ADDITIONAL_DEPENDENCIES := \ - $(libc_common_additional_dependencies) \ - $(LOCAL_PATH)/libc.arm.map \ - $(LOCAL_PATH)/libc.arm64.map \ - $(LOCAL_PATH)/libc.mips.map \ - $(LOCAL_PATH)/libc.mips64.map \ - $(LOCAL_PATH)/libc.x86.map \ - $(LOCAL_PATH)/libc.x86_64.map \ - $(LOCAL_PATH)/libc.arm.brillo.map \ - $(LOCAL_PATH)/libc.mips.brillo.map \ - $(LOCAL_PATH)/libc.x86.brillo.map \ - -# Leave the symbols in the shared library so that stack unwinders can produce -# meaningful name resolution. -LOCAL_STRIP_MODULE := keep_symbols - -# Do not pack libc.so relocations; see http://b/20645321 for details. -LOCAL_PACK_MODULE_RELOCATIONS := false - -# WARNING: The only library libc.so should depend on is libdl.so! If you add other libraries, -# make sure to add -Wl,--exclude-libs=libgcc.a to the LOCAL_LDFLAGS for those libraries. This -# ensures that symbols that are pulled into those new libraries from libgcc.a are not declared -# external; if that were the case, then libc would not pull those symbols from libgcc.a as it -# should, instead relying on the external symbols from the dependent libraries. That would -# create a "cloaked" dependency on libgcc.a in libc though the libraries, which is not what -# you wanted! - -LOCAL_SHARED_LIBRARIES := libdl -LOCAL_WHOLE_STATIC_LIBRARIES := libc_common libjemalloc - -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := - -# 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 - -# Don't re-export new/delete and friends, even if the compiler really wants to. -ifdef BRILLO -LOCAL_LDFLAGS_arm += -Wl,--version-script,$(LOCAL_PATH)/libc.arm.brillo.map -LOCAL_LDFLAGS_mips += -Wl,--version-script,$(LOCAL_PATH)/libc.mips.brillo.map -LOCAL_LDFLAGS_x86 += -Wl,--version-script,$(LOCAL_PATH)/libc.x86.brillo.map -else -LOCAL_LDFLAGS_arm += -Wl,--version-script,$(LOCAL_PATH)/libc.arm.map -LOCAL_LDFLAGS_mips += -Wl,--version-script,$(LOCAL_PATH)/libc.mips.map -LOCAL_LDFLAGS_x86 += -Wl,--version-script,$(LOCAL_PATH)/libc.x86.map -endif - -LOCAL_LDFLAGS_arm64 += -Wl,--version-script,$(LOCAL_PATH)/libc.arm64.map -LOCAL_LDFLAGS_mips64 += -Wl,--version-script,$(LOCAL_PATH)/libc.mips64.map -LOCAL_LDFLAGS_x86_64 += -Wl,--version-script,$(LOCAL_PATH)/libc.x86_64.map - -# Unfortunately --exclude-libs clobbers our version script, so we have to -# prevent the build system from using this flag. -LOCAL_NO_EXCLUDE_LIBS := true - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -$(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES,libc_arch_dynamic_src_files)) - -LOCAL_NO_CRT := true -LOCAL_ASFLAGS += $(libc_crt_target_cflags) - -# special for arm -LOCAL_CFLAGS_arm += -DCRT_LEGACY_WORKAROUND -LOCAL_SRC_FILES_arm += \ - arch-arm/bionic/atexit_legacy.c - -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -include $(BUILD_SHARED_LIBRARY) - -# ======================================================== -# libc_logging.a -# ======================================================== -include $(CLEAR_VARS) - -LOCAL_CFLAGS := $(libc_common_cflags) -LOCAL_CONLYFLAGS := $(libc_common_conlyflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) - -LOCAL_SRC_FILES := \ - bionic/libc_logging.cpp \ - -LOCAL_MODULE := libc_logging - -LOCAL_CLANG := $(use_clang) -LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) -LOCAL_SYSTEM_SHARED_LIBRARIES := - -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) - -$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) -include $(BUILD_STATIC_LIBRARY) - -# ======================================================== -# libstdc++.so -# ======================================================== -libstdcxx_common_src_files := \ - bionic/__cxa_guard.cpp \ - bionic/__cxa_pure_virtual.cpp \ - bionic/new.cpp \ - -include $(CLEAR_VARS) -LOCAL_C_INCLUDES := $(libc_common_c_includes) bionic/libstdc++/include -LOCAL_CFLAGS := $(libc_common_cflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) - -# 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_SRC_FILES := $(libstdcxx_common_src_files) -LOCAL_MODULE:= libstdc++ -LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := libc -LOCAL_STATIC_LIBRARIES := libc_logging -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) -include $(BUILD_SHARED_LIBRARY) - -# ======================================================== -# libstdc++.a -# ======================================================== -include $(CLEAR_VARS) -LOCAL_C_INCLUDES := $(libc_common_c_includes) bionic/libstdc++/include -LOCAL_CFLAGS := $(libc_common_cflags) -LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_SRC_FILES := $(libstdcxx_common_src_files) -LOCAL_MODULE:= libstdc++ -LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk -LOCAL_CXX_STL := none -LOCAL_SYSTEM_SHARED_LIBRARIES := libc -LOCAL_SANITIZE := never -LOCAL_NATIVE_COVERAGE := $(bionic_coverage) -include $(BUILD_STATIC_LIBRARY) - -include $(call all-makefiles-under,$(LOCAL_PATH)) diff --git a/libc/arch-arm/arm.mk b/libc/arch-arm/arm.mk deleted file mode 100644 index 6c111694a..000000000 --- a/libc/arch-arm/arm.mk +++ /dev/null @@ -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 diff --git a/libc/arch-arm/cortex-a15/cortex-a15.mk b/libc/arch-arm/cortex-a15/cortex-a15.mk deleted file mode 100644 index 20202a7c6..000000000 --- a/libc/arch-arm/cortex-a15/cortex-a15.mk +++ /dev/null @@ -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 \ diff --git a/libc/arch-arm/cortex-a53.a57/cortex-a53.a57.mk b/libc/arch-arm/cortex-a53.a57/cortex-a53.a57.mk deleted file mode 100644 index 6455d0480..000000000 --- a/libc/arch-arm/cortex-a53.a57/cortex-a53.a57.mk +++ /dev/null @@ -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 \ diff --git a/libc/arch-arm/cortex-a53/cortex-a53.mk b/libc/arch-arm/cortex-a53/cortex-a53.mk deleted file mode 100644 index 9b431ae48..000000000 --- a/libc/arch-arm/cortex-a53/cortex-a53.mk +++ /dev/null @@ -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 \ diff --git a/libc/arch-arm/cortex-a7/cortex-a7.mk b/libc/arch-arm/cortex-a7/cortex-a7.mk deleted file mode 100644 index f570d0f05..000000000 --- a/libc/arch-arm/cortex-a7/cortex-a7.mk +++ /dev/null @@ -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 \ diff --git a/libc/arch-arm/cortex-a8/cortex-a8.mk b/libc/arch-arm/cortex-a8/cortex-a8.mk deleted file mode 100644 index 9af03d94b..000000000 --- a/libc/arch-arm/cortex-a8/cortex-a8.mk +++ /dev/null @@ -1 +0,0 @@ -include bionic/libc/arch-arm/cortex-a15/cortex-a15.mk diff --git a/libc/arch-arm/cortex-a9/cortex-a9.mk b/libc/arch-arm/cortex-a9/cortex-a9.mk deleted file mode 100644 index 8a26d6b70..000000000 --- a/libc/arch-arm/cortex-a9/cortex-a9.mk +++ /dev/null @@ -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 \ diff --git a/libc/arch-arm/denver/denver.mk b/libc/arch-arm/denver/denver.mk deleted file mode 100644 index f1679919b..000000000 --- a/libc/arch-arm/denver/denver.mk +++ /dev/null @@ -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 \ diff --git a/libc/arch-arm/krait/krait.mk b/libc/arch-arm/krait/krait.mk deleted file mode 100644 index f8e34529f..000000000 --- a/libc/arch-arm/krait/krait.mk +++ /dev/null @@ -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 \ diff --git a/libc/arch-arm64/arm64.mk b/libc/arch-arm64/arm64.mk deleted file mode 100644 index 9a7607260..000000000 --- a/libc/arch-arm64/arm64.mk +++ /dev/null @@ -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 diff --git a/libc/arch-arm64/cortex-a53/cortex-a53.mk b/libc/arch-arm64/cortex-a53/cortex-a53.mk deleted file mode 100644 index e69de29bb..000000000 diff --git a/libc/arch-arm64/denver64/denver64.mk b/libc/arch-arm64/denver64/denver64.mk deleted file mode 100644 index 703af4550..000000000 --- a/libc/arch-arm64/denver64/denver64.mk +++ /dev/null @@ -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 \ diff --git a/libc/arch-mips/mips.mk b/libc/arch-mips/mips.mk deleted file mode 100644 index b98d52590..000000000 --- a/libc/arch-mips/mips.mk +++ /dev/null @@ -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 diff --git a/libc/arch-mips64/mips64.mk b/libc/arch-mips64/mips64.mk deleted file mode 100644 index 20ee639ee..000000000 --- a/libc/arch-mips64/mips64.mk +++ /dev/null @@ -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 \ diff --git a/libc/arch-x86/atom/atom.mk b/libc/arch-x86/atom/atom.mk deleted file mode 100644 index 4de4185d4..000000000 --- a/libc/arch-x86/atom/atom.mk +++ /dev/null @@ -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 \ diff --git a/libc/arch-x86/silvermont/silvermont.mk b/libc/arch-x86/silvermont/silvermont.mk deleted file mode 100644 index e69de29bb..000000000 diff --git a/libc/arch-x86/x86.mk b/libc/arch-x86/x86.mk deleted file mode 100644 index 2f63446cd..000000000 --- a/libc/arch-x86/x86.mk +++ /dev/null @@ -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 diff --git a/libc/arch-x86_64/x86_64.mk b/libc/arch-x86_64/x86_64.mk deleted file mode 100644 index ce06217be..000000000 --- a/libc/arch-x86_64/x86_64.mk +++ /dev/null @@ -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 \ diff --git a/libc/crt.mk b/libc/crt.mk deleted file mode 100644 index 7b96bf2e6..000000000 --- a/libc/crt.mk +++ /dev/null @@ -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 := diff --git a/libdl/Android.mk b/libdl/Android.mk deleted file mode 100644 index 1ea5dc7ff..000000000 --- a/libdl/Android.mk +++ /dev/null @@ -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) diff --git a/libm/Android.mk b/libm/Android.mk deleted file mode 100644 index 0070bd1ee..000000000 --- a/libm/Android.mk +++ /dev/null @@ -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 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