summaryrefslogtreecommitdiffstats
path: root/rootdir
diff options
context:
space:
mode:
authorDavid Ng <dave@codeaurora.org>2016-03-01 11:13:56 -0800
committerKeith Mok <kmok@cyngn.com>2016-03-01 11:14:48 -0800
commit73e251e0ddec3009538f4ede8ad7dc9d1ecb3782 (patch)
treea08328cebffad68ec9e4965cab60292a323a2f50 /rootdir
parentf81fd9a408d3c5d10dcb9fee12612e1672c574dc (diff)
downloadsystem_core-73e251e0ddec3009538f4ede8ad7dc9d1ecb3782.zip
system_core-73e251e0ddec3009538f4ede8ad7dc9d1ecb3782.tar.gz
system_core-73e251e0ddec3009538f4ede8ad7dc9d1ecb3782.tar.bz2
Add optional target-specific LD_PRELOAD to environment
Append additional libraries defined in TARGET_LDPRELOAD to the LD_PRELOAD environment if it is defined. Conflicts: rootdir/init.environ.rc.in Change-Id: I15f083df87605d2b708b56311430e11409a09dd7
Diffstat (limited to 'rootdir')
-rw-r--r--rootdir/Android.mk11
-rw-r--r--rootdir/init.environ.rc.in1
2 files changed, 9 insertions, 3 deletions
diff --git a/rootdir/Android.mk b/rootdir/Android.mk
index 7ab76b8..836e585 100644
--- a/rootdir/Android.mk
+++ b/rootdir/Android.mk
@@ -30,16 +30,21 @@ LOCAL_POST_INSTALL_CMD := mkdir -p $(addprefix $(TARGET_ROOT_OUT)/, \
include $(BUILD_SYSTEM)/base_rules.mk
-# Regenerate init.environ.rc if PRODUCT_BOOTCLASSPATH has changed.
-bcp_md5 := $(word 1, $(shell echo $(PRODUCT_BOOTCLASSPATH) $(PRODUCT_SYSTEM_SERVER_CLASSPATH) | $(MD5SUM)))
+# Regenerate init.environ.rc if PRODUCT_BOOTCLASSPATH or TARGET_LDPRELOAD has changed.
+bcp_md5 := $(word 1, $(shell echo $(PRODUCT_BOOTCLASSPATH) $(PRODUCT_SYSTEM_SERVER_CLASSPATH) $(TARGET_LDPRELOAD) | $(MD5SUM)))
bcp_dep := $(intermediates)/$(bcp_md5).bcp.dep
$(bcp_dep) :
$(hide) mkdir -p $(dir $@) && rm -rf $(dir $@)*.bcp.dep && touch $@
+ifneq ($(strip $(TARGET_LDPRELOAD)),)
+ TARGET_LDPRELOAD_STR := :$(TARGET_LDPRELOAD)
+endif
+
$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/init.environ.rc.in $(bcp_dep)
@echo "Generate: $< -> $@"
@mkdir -p $(dir $@)
- $(hide) sed -e 's?%BOOTCLASSPATH%?$(PRODUCT_BOOTCLASSPATH)?g' $< >$@
+ $(hide) sed -e 's?%BOOTCLASSPATH%?$(PRODUCT_BOOTCLASSPATH)?g'\
+ -e 's?%TARGET_LDPRELOAD%?$(TARGET_LDPRELOAD_STR)?g' $< >$@
$(hide) sed -i -e 's?%SYSTEMSERVERCLASSPATH%?$(PRODUCT_SYSTEM_SERVER_CLASSPATH)?g' $@
bcp_md5 :=
diff --git a/rootdir/init.environ.rc.in b/rootdir/init.environ.rc.in
index b34ea01..46ec1fb 100644
--- a/rootdir/init.environ.rc.in
+++ b/rootdir/init.environ.rc.in
@@ -9,3 +9,4 @@ on init
export ASEC_MOUNTPOINT /mnt/asec
export BOOTCLASSPATH %BOOTCLASSPATH%
export SYSTEMSERVERCLASSPATH %SYSTEMSERVERCLASSPATH%
+ export LD_PRELOAD libsigchain.so%TARGET_LDPRELOAD%