From 0b364732723e5dcecc1a74a4f592e8afcbadd2ba Mon Sep 17 00:00:00 2001 From: Ryan Campbell Date: Tue, 21 Feb 2017 17:27:02 -0800 Subject: [PATCH] Add global GCOV_PREFIX option. When native coverage is enabled, add a global GCOV_PREFIX environment variable specifying that gcda files be output with path prefix /data/local/tmp. Bug: 35635587 Test: make NATIVE_COVERAGE=true; check init.environ.rc Change-Id: I40972aea3ca3168d0687bdc93e9d4b7b3a1071b9 --- rootdir/Android.mk | 7 +++++++ rootdir/init.environ.rc.in | 1 + rootdir/init.rc | 1 + 3 files changed, 9 insertions(+) diff --git a/rootdir/Android.mk b/rootdir/Android.mk index 7d0c87dc4..03f878a70 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -116,6 +116,12 @@ ifneq ($(filter address,$(SANITIZE_TARGET)),) EXPORT_GLOBAL_ASAN_OPTIONS := export ASAN_OPTIONS include=/system/asan.options LOCAL_REQUIRED_MODULES := asan.options $(ASAN_OPTIONS_FILES) endif + +EXPORT_GLOBAL_GCOV_OPTIONS := +ifeq ($(NATIVE_COVERAGE),true) + EXPORT_GLOBAL_GCOV_OPTIONS := export GCOV_PREFIX /data/misc/gcov +endif + # Put it here instead of in init.rc module definition, # because init.rc is conditionally included. # @@ -163,6 +169,7 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/init.environ.rc.in $(bcp_dep) $(hide) sed -e 's?%BOOTCLASSPATH%?$(PRODUCT_BOOTCLASSPATH)?g' $< >$@ $(hide) sed -i -e 's?%SYSTEMSERVERCLASSPATH%?$(PRODUCT_SYSTEM_SERVER_CLASSPATH)?g' $@ $(hide) sed -i -e 's?%EXPORT_GLOBAL_ASAN_OPTIONS%?$(EXPORT_GLOBAL_ASAN_OPTIONS)?g' $@ + $(hide) sed -i -e 's?%EXPORT_GLOBAL_GCOV_OPTIONS%?$(EXPORT_GLOBAL_GCOV_OPTIONS)?g' $@ bcp_md5 := bcp_dep := diff --git a/rootdir/init.environ.rc.in b/rootdir/init.environ.rc.in index 32817fa68..2e2ab7465 100644 --- a/rootdir/init.environ.rc.in +++ b/rootdir/init.environ.rc.in @@ -10,3 +10,4 @@ on init export BOOTCLASSPATH %BOOTCLASSPATH% export SYSTEMSERVERCLASSPATH %SYSTEMSERVERCLASSPATH% %EXPORT_GLOBAL_ASAN_OPTIONS% + %EXPORT_GLOBAL_GCOV_OPTIONS% diff --git a/rootdir/init.rc b/rootdir/init.rc index 1e5fa504f..757e1ffa7 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -408,6 +408,7 @@ on post-fs-data mkdir /data/misc/profiles/cur 0771 system system mkdir /data/misc/profiles/ref 0771 system system mkdir /data/misc/profman 0770 system shell + mkdir /data/misc/gcov 0770 root root # For security reasons, /data/local/tmp should always be empty. # Do not place files or directories in /data/local/tmp