Add option to disable Scudo globally [Make]
This adds an option to turn off Scudo globally, and use it for Go. Bug: 123228023 Test: verify that Scudo is disabled for a Go build, eg: lunch marlin_svelte-eng && m -j, check that Scudo is not linked in out/target/product/marlin/system/bin/mediaextractor Test: verify that Scudo is enabled otherwise, eg: lunch marlin-eng && m -j, check that Scudo is linked in out/target/product/marlin/system/bin/mediaextractor Change-Id: Idc82d581fade544a474e6f2ff0b54dd191ba0818 Merged-In: Idc82d581fade544a474e6f2ff0b54dd191ba0818
This commit is contained in:
@@ -213,6 +213,11 @@ ifneq ($(filter address thread hwaddress,$(my_sanitize)),)
|
|||||||
my_sanitize := $(filter-out scudo,$(my_sanitize))
|
my_sanitize := $(filter-out scudo,$(my_sanitize))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Or if disabled globally.
|
||||||
|
ifeq ($(strip $(PRODUCT_DISABLE_SCUDO)),true)
|
||||||
|
my_sanitize := $(filter-out scudo,$(my_sanitize))
|
||||||
|
endif
|
||||||
|
|
||||||
# Undefined symbols can occur if a non-sanitized library links
|
# Undefined symbols can occur if a non-sanitized library links
|
||||||
# sanitized static libraries. That's OK, because the executable
|
# sanitized static libraries. That's OK, because the executable
|
||||||
# always depends on the ASan runtime library, which defines these
|
# always depends on the ASan runtime library, which defines these
|
||||||
|
@@ -201,6 +201,7 @@ _product_var_list := \
|
|||||||
PRODUCT_ADB_KEYS \
|
PRODUCT_ADB_KEYS \
|
||||||
PRODUCT_CFI_INCLUDE_PATHS \
|
PRODUCT_CFI_INCLUDE_PATHS \
|
||||||
PRODUCT_CFI_EXCLUDE_PATHS \
|
PRODUCT_CFI_EXCLUDE_PATHS \
|
||||||
|
PRODUCT_DISABLE_SCUDO \
|
||||||
PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE \
|
PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE \
|
||||||
PRODUCT_ACTIONABLE_COMPATIBLE_PROPERTY_DISABLE \
|
PRODUCT_ACTIONABLE_COMPATIBLE_PROPERTY_DISABLE \
|
||||||
PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS \
|
PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS \
|
||||||
|
@@ -512,6 +512,10 @@ PRODUCT_CFI_EXCLUDE_PATHS := \
|
|||||||
PRODUCT_CFI_INCLUDE_PATHS := \
|
PRODUCT_CFI_INCLUDE_PATHS := \
|
||||||
$(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_CFI_INCLUDE_PATHS))
|
$(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_CFI_INCLUDE_PATHS))
|
||||||
|
|
||||||
|
# Whether the Scudo hardened allocator is disabled platform-wide
|
||||||
|
PRODUCT_DISABLE_SCUDO := \
|
||||||
|
$(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DISABLE_SCUDO))
|
||||||
|
|
||||||
# Whether any paths are excluded from being set XOM when ENABLE_XOM=true
|
# Whether any paths are excluded from being set XOM when ENABLE_XOM=true
|
||||||
PRODUCT_XOM_EXCLUDE_PATHS := \
|
PRODUCT_XOM_EXCLUDE_PATHS := \
|
||||||
$(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_XOM_EXCLUDE_PATHS))
|
$(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_XOM_EXCLUDE_PATHS))
|
||||||
|
@@ -87,6 +87,8 @@ $(call add_json_bool, EnableXOM, $(call invert_bool,$(fi
|
|||||||
$(call add_json_list, XOMExcludePaths, $(XOM_EXCLUDE_PATHS) $(PRODUCT_XOM_EXCLUDE_PATHS))
|
$(call add_json_list, XOMExcludePaths, $(XOM_EXCLUDE_PATHS) $(PRODUCT_XOM_EXCLUDE_PATHS))
|
||||||
$(call add_json_list, IntegerOverflowExcludePaths, $(INTEGER_OVERFLOW_EXCLUDE_PATHS) $(PRODUCT_INTEGER_OVERFLOW_EXCLUDE_PATHS))
|
$(call add_json_list, IntegerOverflowExcludePaths, $(INTEGER_OVERFLOW_EXCLUDE_PATHS) $(PRODUCT_INTEGER_OVERFLOW_EXCLUDE_PATHS))
|
||||||
|
|
||||||
|
$(call add_json_bool, DisableScudo, $(filter true,$(PRODUCT_DISABLE_SCUDO)))
|
||||||
|
|
||||||
$(call add_json_bool, ClangTidy, $(filter 1 true,$(WITH_TIDY)))
|
$(call add_json_bool, ClangTidy, $(filter 1 true,$(WITH_TIDY)))
|
||||||
$(call add_json_str, TidyChecks, $(WITH_TIDY_CHECKS))
|
$(call add_json_str, TidyChecks, $(WITH_TIDY_CHECKS))
|
||||||
|
|
||||||
|
@@ -69,3 +69,8 @@ PRODUCT_SYSTEM_SERVER_JARS += NetworkStackLib
|
|||||||
# the size of the system image. This has no bearing on stack traces, but will
|
# the size of the system image. This has no bearing on stack traces, but will
|
||||||
# leave less information available via JDWP.
|
# leave less information available via JDWP.
|
||||||
PRODUCT_MINIMIZE_JAVA_DEBUG_INFO := true
|
PRODUCT_MINIMIZE_JAVA_DEBUG_INFO := true
|
||||||
|
|
||||||
|
# Disable Scudo outside of eng builds to save RAM.
|
||||||
|
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||||
|
PRODUCT_DISABLE_SCUDO := true
|
||||||
|
endif
|
||||||
|
Reference in New Issue
Block a user