summaryrefslogtreecommitdiffstats
path: root/rootdir/Android.mk
diff options
context:
space:
mode:
authorJiyong Park <jiyong@google.com>2017-12-07 09:59:48 +0900
committerJiyong Park <jiyong@google.com>2017-12-07 13:44:46 +0900
commitad7ddd5a02e3ae0bd6e57d2c9df7715425fe2fc0 (patch)
tree3221e7990e79d693ee8018fbb75ae6d382833eb8 /rootdir/Android.mk
parente93d7f994182ece10259b95f660a53af8d6ad37a (diff)
downloadsystem_core-ad7ddd5a02e3ae0bd6e57d2c9df7715425fe2fc0.tar.gz
system_core-ad7ddd5a02e3ae0bd6e57d2c9df7715425fe2fc0.tar.bz2
system_core-ad7ddd5a02e3ae0bd6e57d2c9df7715425fe2fc0.zip
Reland "Prevent vendors from accessing private VNDK libs"
This reverts commit 875fe42a81696f44cc03eeaa538f370b44639bb7. ... and fixes a bug that private VNDK libs are not accessible even to RenderScript framework libraries (such as libRS_internal.so). This is fixed by exceptionally allowing the private libs only to 'rs' namespace. Bug: 70260989 Bug: 70279973 Bug: 63878960 Test: Build for walleye and tested Photos edit. Test: other renderscript app (camerascript) works as well Merged-In: I3978cbe2e869f6a1c214c755ded038349bde7b6b Change-Id: I3978cbe2e869f6a1c214c755ded038349bde7b6b (cherry picked from commit 781c47f4da82062c5445d53064566673c70119ee)
Diffstat (limited to 'rootdir/Android.mk')
-rw-r--r--rootdir/Android.mk14
1 files changed, 11 insertions, 3 deletions
diff --git a/rootdir/Android.mk b/rootdir/Android.mk
index aa970d6a7..c702d03ea 100644
--- a/rootdir/Android.mk
+++ b/rootdir/Android.mk
@@ -211,11 +211,17 @@ vndk_lib_dep := $(intermediates)/$(vndk_lib_md5).dep
$(vndk_lib_dep):
$(hide) mkdir -p $(dir $@) && rm -rf $(dir $@)*.dep && touch $@
-llndk_libraries := $(subst $(space),:,$(addsuffix .so,$(LLNDK_LIBRARIES)))
+llndk_libraries := $(subst $(space),:,$(addsuffix .so,\
+$(filter-out $(VNDK_PRIVATE_LIBRARIES),$(LLNDK_LIBRARIES))))
-vndk_sameprocess_libraries := $(subst $(space),:,$(addsuffix .so,$(VNDK_SAMEPROCESS_LIBRARIES)))
+private_llndk_libraries := $(subst $(space),:,$(addsuffix .so,\
+$(filter $(VNDK_PRIVATE_LIBRARIES),$(LLNDK_LIBRARIES))))
-vndk_core_libraries := $(subst $(space),:,$(addsuffix .so,$(VNDK_CORE_LIBRARIES)))
+vndk_sameprocess_libraries := $(subst $(space),:,$(addsuffix .so,\
+$(filter-out $(VNDK_PRIVATE_LIBRARIES),$(VNDK_SAMEPROCESS_LIBRARIES))))
+
+vndk_core_libraries := $(subst $(space),:,$(addsuffix .so,\
+$(filter-out $(VNDK_PRIVATE_LIBRARIES),$(VNDK_CORE_LIBRARIES))))
sanitizer_runtime_libraries := $(subst $(space),:,$(addsuffix .so,\
$(ADDRESS_SANITIZER_RUNTIME_LIBRARY) \
@@ -226,6 +232,7 @@ $(2ND_UBSAN_RUNTIME_LIBRARY) \
$(2ND_TSAN_RUNTIME_LIBRARY)))
$(LOCAL_BUILT_MODULE): PRIVATE_LLNDK_LIBRARIES := $(llndk_libraries)
+$(LOCAL_BUILT_MODULE): PRIVATE_PRIVATE_LLNDK_LIBRARIES := $(private_llndk_libraries)
$(LOCAL_BUILT_MODULE): PRIVATE_VNDK_SAMEPROCESS_LIBRARIES := $(vndk_sameprocess_libraries)
$(LOCAL_BUILT_MODULE): PRIVATE_LLNDK_PRIVATE_LIBRARIES := $(llndk_private_libraries)
$(LOCAL_BUILT_MODULE): PRIVATE_VNDK_CORE_LIBRARIES := $(vndk_core_libraries)
@@ -234,6 +241,7 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/ld.config.txt.in $(vndk_lib_dep)
@echo "Generate: $< -> $@"
@mkdir -p $(dir $@)
$(hide) sed -e 's?%LLNDK_LIBRARIES%?$(PRIVATE_LLNDK_LIBRARIES)?g' $< >$@
+ $(hide) sed -i -e 's?%PRIVATE_LLNDK_LIBRARIES%?$(PRIVATE_PRIVATE_LLNDK_LIBRARIES)?g' $@
$(hide) sed -i -e 's?%VNDK_SAMEPROCESS_LIBRARIES%?$(PRIVATE_VNDK_SAMEPROCESS_LIBRARIES)?g' $@
$(hide) sed -i -e 's?%VNDK_CORE_LIBRARIES%?$(PRIVATE_VNDK_CORE_LIBRARIES)?g' $@
$(hide) sed -i -e 's?%SANITIZER_RUNTIME_LIBRARIES%?$(PRIVATE_SANITIZER_RUNTIME_LIBRARIES)?g' $@