From bd153e76db333d5f980603b8db2204608ff421f5 Mon Sep 17 00:00:00 2001 From: Liana Kazanova Date: Wed, 31 Jul 2024 17:56:36 +0000 Subject: [PATCH] Revert "Migrate init.environ.rc module to Soong" Revert submission 3197177-init_environ_rc_soong Reason for revert: DroidMonitor: Potential culprit for b/356587212 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted. Reverted changes: /q/submissionid:3197177-init_environ_rc_soong Change-Id: I3834d7f76f4baef747f3536167ad9bd2d2a474b4 --- rootdir/Android.bp | 53 ---------------------------------------------- rootdir/Android.mk | 44 ++++++++++++++++++++++++++++++++------ 2 files changed, 38 insertions(+), 59 deletions(-) diff --git a/rootdir/Android.bp b/rootdir/Android.bp index 3b79cd5e6..7105ed52a 100644 --- a/rootdir/Android.bp +++ b/rootdir/Android.bp @@ -134,56 +134,3 @@ llndk_libraries_txt { sanitizer_libraries_txt { name: "sanitizer.libraries.txt", } - -EXPORT_GLOBAL_ASAN_OPTIONS = select(soong_config_variable("ANDROID", "ASAN_ENABLED"), { - true: "export ASAN_OPTIONS include=/system/asan.options", - default: "", -}) - -EXPORT_GLOBAL_HWASAN_OPTIONS = select((soong_config_variable("ANDROID", "HWASAN_ENABLED"), soong_config_variable("ANDROID", "HWADDRESS_SANITIZER_GLOBAL_OPTIONS")), { - (true, ""): "", - (true, any @ options): "export HWASAN_OPTIONS " + options, - (default, default): "", -}) - -EXPORT_GLOBAL_GCOV_OPTIONS = select(soong_config_variable("ANDROID", "GCOV_COVERAGE"), { - true: "export GCOV_PREFIX /data/misc/trace", - default: "", -}) - -EXPORT_GLOBAL_CLANG_COVERAGE_OPTIONS = select((soong_config_variable("ANDROID", "CLANG_COVERAGE"), soong_config_variable("ANDROID", "CLANG_COVERAGE_CONTINUOUS_MODE")), { - (true, true): "export LLVM_PROFILE_FILE /data/misc/trace/clang%c-%20m.profraw", - (true, default): "export LLVM_PROFILE_FILE /data/misc/trace/clang-%20m.profraw", - (default, default): "", -}) - -EXPORT_GLOBAL_SCUDO_ALLOCATION_RING_BUFFER_SIZE = select(soong_config_variable("ANDROID", "SCUDO_ALLOCATION_RING_BUFFER_SIZE"), { - "": "", - any @ size: "export SCUDO_ALLOCATION_RING_BUFFER_SIZE " + size, - default: "", -}) - -genrule { - name: "init.environ.rc.gen", - srcs: ["init.environ.rc.in"], - out: ["init.environ.rc"], - cmd: "cp -f $(in) $(out) && " + - "sed -i -e 's?%EXPORT_GLOBAL_ASAN_OPTIONS%?" + EXPORT_GLOBAL_ASAN_OPTIONS + "?g' $(out) && " + - "sed -i -e 's?%EXPORT_GLOBAL_GCOV_OPTIONS%?" + EXPORT_GLOBAL_GCOV_OPTIONS + "?g' $(out) && " + - "sed -i -e 's?%EXPORT_GLOBAL_CLANG_COVERAGE_OPTIONS%?" + EXPORT_GLOBAL_CLANG_COVERAGE_OPTIONS + "?g' $(out) && " + - "sed -i -e 's?%EXPORT_GLOBAL_HWASAN_OPTIONS%?" + EXPORT_GLOBAL_HWASAN_OPTIONS + "?g' $(out) && " + - "sed -i -e 's?%EXPORT_GLOBAL_SCUDO_ALLOCATION_RING_BUFFER_SIZE%?" + EXPORT_GLOBAL_SCUDO_ALLOCATION_RING_BUFFER_SIZE + "?g' $(out)", -} - -prebuilt_root { - name: "init.environ.rc-soong", - src: ":init.environ.rc.gen", - filename: "init.environ.rc", - install_in_root: true, - no_full_install: true, - required: select((soong_config_variable("ANDROID", "ASAN_ENABLED"), soong_config_variable("ANDROID", "SANITIZE_TARGET_SYSTEM_ENABLED")), { - (true, true): ["asan.options", "asan_extract"], - (true, default): ["asan.options"], - (default, default): [], - }), -} diff --git a/rootdir/Android.mk b/rootdir/Android.mk index e743743bd..e6ccda788 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -11,7 +11,6 @@ endif endif ####################################### # init.environ.rc -# TODO(b/353429422): move LOCAL_POST_INSTALL_CMD to other rules and remove Android.mk module. include $(CLEAR_VARS) LOCAL_MODULE_CLASS := ETC @@ -20,8 +19,36 @@ LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 LOCAL_LICENSE_CONDITIONS := notice LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) +EXPORT_GLOBAL_ASAN_OPTIONS := ifneq ($(filter address,$(SANITIZE_TARGET)),) - LOCAL_REQUIRED_MODULES := asan.options $(ASAN_EXTRACT_FILES) + EXPORT_GLOBAL_ASAN_OPTIONS := export ASAN_OPTIONS include=/system/asan.options + LOCAL_REQUIRED_MODULES := asan.options $(ASAN_OPTIONS_FILES) $(ASAN_EXTRACT_FILES) +endif + +EXPORT_GLOBAL_HWASAN_OPTIONS := +ifneq ($(filter hwaddress,$(SANITIZE_TARGET)),) + ifneq ($(HWADDRESS_SANITIZER_GLOBAL_OPTIONS),) + EXPORT_GLOBAL_HWASAN_OPTIONS := export HWASAN_OPTIONS $(HWADDRESS_SANITIZER_GLOBAL_OPTIONS) + endif +endif + +EXPORT_GLOBAL_SCUDO_ALLOCATION_RING_BUFFER_SIZE := +ifneq ($(PRODUCT_SCUDO_ALLOCATION_RING_BUFFER_SIZE),) + EXPORT_GLOBAL_SCUDO_ALLOCATION_RING_BUFFER_SIZE := export SCUDO_ALLOCATION_RING_BUFFER_SIZE $(PRODUCT_SCUDO_ALLOCATION_RING_BUFFER_SIZE) +endif + +EXPORT_GLOBAL_GCOV_OPTIONS := +ifeq ($(NATIVE_COVERAGE),true) + EXPORT_GLOBAL_GCOV_OPTIONS := export GCOV_PREFIX /data/misc/trace +endif + +EXPORT_GLOBAL_CLANG_COVERAGE_OPTIONS := +ifeq ($(CLANG_COVERAGE),true) + ifeq ($(CLANG_COVERAGE_CONTINUOUS_MODE),true) + EXPORT_GLOBAL_CLANG_COVERAGE_OPTIONS := export LLVM_PROFILE_FILE /data/misc/trace/clang%c-%20m.profraw + else + EXPORT_GLOBAL_CLANG_COVERAGE_OPTIONS := export LLVM_PROFILE_FILE /data/misc/trace/clang-%20m.profraw + endif endif # Put it here instead of in init.rc module definition, @@ -146,10 +173,15 @@ ALL_DEFAULT_INSTALLED_MODULES += $(ALL_ROOTDIR_SYMLINKS) include $(BUILD_SYSTEM)/base_rules.mk $(ALL_ROOTDIR_SYMLINKS): $(LOCAL_BUILT_MODULE) - -init.environ.rc-soong := $(call intermediates-dir-for,ETC,init.environ.rc-soong)/init.environ.rc-soong -$(eval $(call copy-one-file,$(init.environ.rc-soong),$(LOCAL_BUILT_MODULE))) -init.environ.rc-soong := +$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/init.environ.rc.in + @echo "Generate: $< -> $@" + @mkdir -p $(dir $@) + $(hide) cp $< $@ + $(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' $@ + $(hide) sed -i -e 's?%EXPORT_GLOBAL_CLANG_COVERAGE_OPTIONS%?$(EXPORT_GLOBAL_CLANG_COVERAGE_OPTIONS)?g' $@ + $(hide) sed -i -e 's?%EXPORT_GLOBAL_HWASAN_OPTIONS%?$(EXPORT_GLOBAL_HWASAN_OPTIONS)?g' $@ + $(hide) sed -i -e 's?%EXPORT_GLOBAL_SCUDO_ALLOCATION_RING_BUFFER_SIZE%?$(EXPORT_GLOBAL_SCUDO_ALLOCATION_RING_BUFFER_SIZE)?g' $@ ####################################### # ramdisk_node_list