diff options
Diffstat (limited to 'libc/Android.mk')
| -rw-r--r-- | libc/Android.mk | 97 |
1 files changed, 71 insertions, 26 deletions
diff --git a/libc/Android.mk b/libc/Android.mk index f627640..d8cc721 100644 --- a/libc/Android.mk +++ b/libc/Android.mk @@ -26,6 +26,7 @@ libc_common_src_files := \ unistd/initgroups.c \ unistd/isatty.c \ unistd/issetugid.c \ + unistd/killpg.c \ unistd/lseek64.c \ unistd/mmap.c \ unistd/nice.c \ @@ -46,7 +47,10 @@ libc_common_src_files := \ unistd/sbrk.c \ unistd/send.c \ unistd/setegid.c \ + unistd/setuid.c \ unistd/seteuid.c \ + unistd/setreuid.c \ + unistd/setresuid.c \ unistd/setpgrp.c \ unistd/sigblock.c \ unistd/siginterrupt.c \ @@ -215,14 +219,19 @@ libc_common_src_files := \ bionic/__errno.c \ bionic/__set_errno.c \ bionic/_rand48.c \ + bionic/cpuacct.c \ bionic/arc4random.c \ bionic/basename.c \ bionic/basename_r.c \ + bionic/clearenv.c \ bionic/dirname.c \ bionic/dirname_r.c \ bionic/drand48.c \ bionic/erand48.c \ + bionic/err.c \ + bionic/fdprintf.c \ bionic/fork.c \ + bionic/fts.c \ bionic/if_nametoindex.c \ bionic/if_indextoname.c \ bionic/ioctl.c \ @@ -270,13 +279,18 @@ libc_common_src_files := \ netbsd/nameser/ns_ttl.c \ netbsd/nameser/ns_netint.c \ netbsd/nameser/ns_print.c \ - netbsd/nameser/ns_samedomain.c + netbsd/nameser/ns_samedomain.c \ + regex/regcomp.c \ + regex/regerror.c \ + regex/regexec.c \ + regex/regfree.c \ # Architecture specific source files go here # ========================================================= ifeq ($(TARGET_ARCH),arm) libc_common_src_files += \ bionic/eabi.c \ + bionic/bionic_clone.c \ arch-arm/bionic/__get_pc.S \ arch-arm/bionic/__get_sp.S \ arch-arm/bionic/_exit_with_stack_teardown.S \ @@ -398,7 +412,16 @@ libc_common_cflags := \ -DNEED_PSELECT=1 \ -DINET6 \ -I$(LOCAL_PATH)/private \ - -DUSE_DL_PREFIX + -DUSE_DL_PREFIX \ + -DPOSIX_MISTAKE + +# these macro definitions are required to implement the +# 'timezone' and 'daylight' global variables, as well as +# properly update the 'tm_gmtoff' field in 'struct tm'. +# +libc_common_cflags += \ + -DTM_GMTOFF=tm_gmtoff \ + -DUSG_COMPAT=1 ifeq ($(strip $(DEBUG_BIONIC_LIBC)),true) libc_common_cflags += -DDEBUG @@ -532,17 +555,12 @@ include $(CLEAR_VARS) LOCAL_SRC_FILES := \ $(libc_arch_static_src_files) \ bionic/dlmalloc.c \ + bionic/malloc_debug_common.c \ bionic/libc_init_static.c -LOCAL_CFLAGS := $(libc_common_cflags) - -ifeq ($(WITH_MALLOC_CHECK_LIBC_A),true) - LOCAL_CFLAGS += -DMALLOC_LEAK_CHECK - LOCAL_SRC_FILES += bionic/malloc_leak.c.arm -endif - +LOCAL_CFLAGS := $(libc_common_cflags) \ + -DLIBC_STATIC LOCAL_C_INCLUDES := $(libc_common_c_includes) - LOCAL_MODULE := libc LOCAL_WHOLE_STATIC_LIBRARIES := libc_common LOCAL_SYSTEM_SHARED_LIBRARIES := @@ -561,7 +579,7 @@ LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_SRC_FILES := \ $(libc_arch_dynamic_src_files) \ bionic/dlmalloc.c \ - bionic/malloc_leak.c.arm \ + bionic/malloc_debug_common.c \ bionic/libc_init_dynamic.c LOCAL_MODULE:= libc @@ -581,8 +599,16 @@ LOCAL_SYSTEM_SHARED_LIBRARIES := include $(BUILD_SHARED_LIBRARY) +# 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. +ifneq ($(TARGET_BUILD_VARIANT),user) + # ======================================================== -# libc_debug.so +# libc_malloc_debug_leak.so # ======================================================== include $(CLEAR_VARS) @@ -593,30 +619,49 @@ LOCAL_CFLAGS := \ LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_SRC_FILES := \ - $(libc_arch_dynamic_src_files) \ - bionic/dlmalloc.c \ - bionic/malloc_leak.c.arm \ - bionic/libc_init_dynamic.c + bionic/malloc_debug_leak.c -LOCAL_MODULE:= libc_debug +LOCAL_MODULE:= libc_malloc_debug_leak -# 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 an "cloaked" dependency on libgcc.a in libc though the libraries, which is not what -# you wanted! +LOCAL_SHARED_LIBRARIES := libc +LOCAL_WHOLE_STATIC_LIBRARIES := libc_common +LOCAL_SYSTEM_SHARED_LIBRARIES := +# Don't prelink +LOCAL_PRELINK_MODULE := false +# Don't install on release build +LOCAL_MODULE_TAGS := eng debug -LOCAL_SHARED_LIBRARIES := libdl +include $(BUILD_SHARED_LIBRARY) + + +# ======================================================== +# libc_malloc_debug_qemu.so +# ======================================================== +include $(CLEAR_VARS) + +LOCAL_CFLAGS := \ + $(libc_common_cflags) \ + -DMALLOC_QEMU_INSTRUMENT + +LOCAL_C_INCLUDES := $(libc_common_c_includes) + +LOCAL_SRC_FILES := \ + bionic/malloc_debug_qemu.c + +LOCAL_MODULE:= libc_malloc_debug_qemu + +LOCAL_SHARED_LIBRARIES := libc LOCAL_WHOLE_STATIC_LIBRARIES := libc_common LOCAL_SYSTEM_SHARED_LIBRARIES := # Don't prelink LOCAL_PRELINK_MODULE := false # Don't install on release build -LOCAL_MODULE_TAGS := eng +LOCAL_MODULE_TAGS := eng debug include $(BUILD_SHARED_LIBRARY) +endif #!user + + # ======================================================== include $(call all-makefiles-under,$(LOCAL_PATH)) |
