Update Android.bp
Also reorders some arch-specific sources to match the order in the
Android.mk system.
Change-Id: Ibde46a7cef9840b759be796ce9ac6618d3b06532
diff --git a/libc/Android.bp b/libc/Android.bp
index 47d076d..ca926d6 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -1,7 +1,6 @@
// Define the common source files for all the libc instances
// =========================================================
libc_common_src_files = [
- "bionic/bindresvport.c",
"bionic/ether_aton.c",
"bionic/ether_ntoa.c",
"bionic/fts.c",
@@ -16,12 +15,11 @@
"bionic/siginterrupt.c",
"bionic/sigsetmask.c",
"bionic/system_properties_compat.c",
- "stdio/findfp.c",
"stdio/fread.c",
"stdio/refill.c",
"stdio/snprintf.c",
"stdio/sprintf.c",
- "stdio/stdio.c",
+ "stdio/stdio.cpp",
"stdio/stdio_ext.cpp",
"stdlib/atexit.c",
"stdlib/exit.c",
@@ -101,16 +99,8 @@
],
conlyflags: ["-std=gnu99"],
cppflags: [],
+ include_dirs: ["external/jemalloc/include"],
- product_variables: {
- device_uses_jemalloc: {
- cflags: ["-DUSE_JEMALLOC"],
- include_dirs: ["external/jemalloc/include"],
- },
- device_uses_dlmalloc: {
- cflags: ["-DUSE_DLMALLOC"],
- },
- },
arch: {
// Clang/llvm has incompatible long double (fp128) for x86_64.
// https://llvm.org/bugs/show_bug.cgi?id=23897
@@ -473,31 +463,23 @@
"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/fdopen.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/fgetpos.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/fopen.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/freopen.c",
"upstream-openbsd/lib/libc/stdio/fscanf.c",
- "upstream-openbsd/lib/libc/stdio/fseek.c",
- "upstream-openbsd/lib/libc/stdio/fsetpos.c",
- "upstream-openbsd/lib/libc/stdio/ftell.c",
- "upstream-openbsd/lib/libc/stdio/funopen.c",
"upstream-openbsd/lib/libc/stdio/fvwrite.c",
"upstream-openbsd/lib/libc/stdio/fwalk.c",
"upstream-openbsd/lib/libc/stdio/fwide.c",
@@ -859,6 +841,13 @@
arch: {
arm: {
srcs: [
+ "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",
+
"arch-arm/bionic/abort_arm.S",
"arch-arm/bionic/atomics_arm.c",
"arch-arm/bionic/__bionic_clone.S",
@@ -869,13 +858,6 @@
"arch-arm/bionic/setjmp.S",
"arch-arm/bionic/syscall.S",
"arch-arm/bionic/vfork.S",
-
- "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",
],
exclude_srcs: [
"bionic/__memcpy_chk.cpp",
@@ -1083,12 +1065,6 @@
},
arm64: {
srcs: [
- "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",
-
"arch-arm64/generic/bionic/memchr.S",
"arch-arm64/generic/bionic/memcmp.S",
"arch-arm64/generic/bionic/memcpy.S",
@@ -1102,6 +1078,12 @@
"arch-arm64/generic/bionic/strncmp.S",
"arch-arm64/generic/bionic/strnlen.S",
"arch-arm64/generic/bionic/wmemmove.S",
+
+ "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",
],
exclude_srcs: [
"bionic/__memcpy_chk.cpp",
@@ -1122,6 +1104,12 @@
mips: {
srcs: [
+ "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",
+
"arch-mips/bionic/__bionic_clone.S",
"arch-mips/bionic/bzero.S",
"arch-mips/bionic/cacheflush.cpp",
@@ -1129,12 +1117,6 @@
"arch-mips/bionic/setjmp.S",
"arch-mips/bionic/syscall.S",
"arch-mips/bionic/vfork.S",
-
- "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",
],
rev6: {
srcs: [
@@ -1147,31 +1129,23 @@
},
mips64: {
srcs: [
+ "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",
+
"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",
-
- "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",
],
},
x86: {
srcs: [
- "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-x86/generic/string/memcmp.S",
"arch-x86/generic/string/strcmp.S",
"arch-x86/generic/string/strncmp.S",
@@ -1195,6 +1169,14 @@
"arch-x86/silvermont/string/sse2-strcpy-slm.S",
"arch-x86/silvermont/string/sse2-strlen-slm.S",
"arch-x86/silvermont/string/sse2-strncpy-slm.S",
+
+ "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",
],
exclude_srcs: [
@@ -1256,13 +1238,6 @@
},
x86_64: {
srcs: [
- "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",
-
"arch-x86_64/string/sse2-memcpy-slm.S",
"arch-x86_64/string/sse2-memmove-slm.S",
"arch-x86_64/string/sse2-memset-slm.S",
@@ -1278,6 +1253,13 @@
"arch-x86_64/string/sse4-memcmp-slm.S",
"arch-x86_64/string/ssse3-strcmp-slm.S",
"arch-x86_64/string/ssse3-strncmp-slm.S",
+
+ "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",
],
},
},
@@ -1357,6 +1339,7 @@
"bionic/libgen.cpp",
"bionic/link.cpp",
"bionic/locale.cpp",
+ "bionic/lockf.cpp",
"bionic/lstat.cpp",
"bionic/malloc_info.cpp",
"bionic/mbrtoc16.cpp",
@@ -1370,6 +1353,7 @@
"bionic/mremap.cpp",
"bionic/NetdClientDispatch.cpp",
"bionic/net_if.cpp",
+ "bionic/netinet_in.cpp",
"bionic/open.cpp",
"bionic/pathconf.cpp",
"bionic/pause.cpp",
@@ -1583,7 +1567,7 @@
cc_library_static {
name: "libc_ndk",
defaults: ["libc_defaults"],
- srcs: libc_common_src_files + ["bionic/malloc_debug_common.cpp"],
+ srcs: libc_common_src_files + ["bionic/malloc_common.cpp"],
multilib: {
lib32: {
srcs: libc_common_src_files_32,
@@ -1618,6 +1602,7 @@
"libc_syscalls",
"libc_tzcode",
"libm",
+ "libjemalloc",
],
}
@@ -1696,15 +1681,7 @@
// ========================================================
cc_library_static {
defaults: ["libc_defaults"],
- product_variables: {
- device_uses_jemalloc: {
- srcs: ["bionic/jemalloc_wrapper.cpp"],
- whole_static_libs: ["libjemalloc"],
- },
- device_uses_dlmalloc: {
- srcs: ["bionic/dlmalloc.c"],
- },
- },
+ srcs: ["bionic/jemalloc_wrapper.cpp"],
cflags: ["-fvisibility=hidden"],
name: "libc_malloc",
@@ -1721,10 +1698,11 @@
asflags: ["-DPLATFORM_SDK_VERSION=%d"],
},
},
- srcs: ["bionic/malloc_debug_common.cpp"],
+ srcs: ["bionic/malloc_common.cpp"],
static: {
srcs: [
"bionic/dl_iterate_phdr_static.cpp",
+ "bionic/libc_init_static.cpp",
],
cflags: ["-DLIBC_STATIC"],
whole_static_libs: ["libc_init_static"],
@@ -1754,7 +1732,7 @@
// you wanted!
shared_libs: ["libdl"],
- whole_static_libs: ["libc_common"],
+ whole_static_libs: ["libc_common", "libjemalloc"],
// We'd really like to do this for all architectures, but since this wasn't done
// before, these symbols must continue to be exported on LP32 for binary
@@ -1829,91 +1807,20 @@
},
}
-// For all builds, except for the -user build we will enable memory
-// allocation checking (including memory leaks, buffer overwrites, etc.)
-// Note that all these checks are also controlled by env. settings
-// that can enable, or disable specific checks. Note also that some of
-// the checks are available only in emulator and are implemeted in
-// libc_malloc_qemu_instrumented.so.
-// ANDROIDMK TRANSLATION ERROR: unsupported directive
-// ifneq ($(TARGET_BUILD_VARIANT),user)
// ========================================================
-// libc_malloc_debug_leak.so
+// libc_logging.a
// ========================================================
-cc_library_shared {
+cc_library_static {
defaults: ["libc_defaults"],
srcs: [
- "bionic/debug_backtrace.cpp",
- "bionic/debug_mapinfo.cpp",
"bionic/libc_logging.cpp",
- "bionic/malloc_debug_leak.cpp",
- "bionic/malloc_debug_check.cpp",
],
- name: "libc_malloc_debug_leak",
-
- shared_libs: [
- "libc",
- "libdl",
- ],
- // Only need this for arm since libc++ uses its own unwind code that
- // doesn't mix with the other default unwind code.
- arch: {
- arm: {
- static_libs: [
- "libunwind_llvm",
- "libc++abi",
- ],
- ldflags: ["-Wl,--exclude-libs,libunwind_llvm.a"],
- },
- },
- allow_undefined_symbols: true,
-
- // Don't re-export new/delete and friends, even if the compiler really wants to.
- version_script: "version_script.txt",
-
- // Don't install on release build
- tags: [
- "eng",
- "debug",
- ],
+ name: "libc_logging",
}
// ========================================================
-// libc_malloc_debug_qemu.so
-// ========================================================
-cc_library_shared {
- defaults: ["libc_defaults"],
- cflags: ["-DMALLOC_QEMU_INSTRUMENT"],
-
- srcs: [
- "bionic/libc_logging.cpp",
- "bionic/malloc_debug_qemu.cpp",
- ],
-
- name: "libc_malloc_debug_qemu",
-
- shared_libs: [
- "libc",
- "libdl",
- ],
-
- // Don't re-export new/delete and friends, even if the compiler really wants to.
- version_script: "version_script.txt",
-
- // Don't install on release build
- tags: [
- "eng",
- "debug",
- ],
-}
-
-// ANDROIDMK TRANSLATION ERROR: unsupported directive
-// endif
-//!user
-
-// ========================================================
// libstdc++.so + libstdc++.a
// ========================================================
cc_library {
@@ -1923,10 +1830,12 @@
"bionic/__cxa_guard.cpp",
"bionic/__cxa_pure_virtual.cpp",
"bionic/new.cpp",
- "bionic/libc_logging.cpp",
],
name: "libstdc++",
system_shared_libs: ["libc"],
+ shared: {
+ static_libs: ["libc_logging"],
+ },
//TODO: This is to work around b/24465209. Remove after root cause is fixed
arch: {