aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Lozano2019-01-10 11:46:52 -0600
committerIvan Lozano2019-01-15 15:05:59 -0600
commitc244c21573689bb8fa4b389f909b9f77dd9f2f9a (patch)
tree60d46495dd449834d6e540e2bab5ba7fac9335d6
parentdb3c8985be5165d84ba7f15886827046340a1ecf (diff)
downloadplatform-build-c244c21573689bb8fa4b389f909b9f77dd9f2f9a.tar.gz
platform-build-c244c21573689bb8fa4b389f909b9f77dd9f2f9a.tar.xz
platform-build-c244c21573689bb8fa4b389f909b9f77dd9f2f9a.zip
Enable execute-only memory layouts by default.
This enables execute-only memory (XOM) layouts to be used by default in the build system. As of now, there's only support for ARM64 devices, so this only affects those. Since userland XOM requires kernel support, devices without the necessary support will continue to allow pages marked execute-only to be read and they should be unaffected by this. Bug: 77958880 Test: Device with and without kernel support boot. Test: Binary throws segfault when reading from XOM on supported device. Test: Debugger works and stack traces are still generated correctly. Test: Teamfooding, stable during regular usage. Change-Id: I8db4235c8e60eea6d701bdf3c43b79a06d6b01cd
-rw-r--r--core/binary.mk2
-rw-r--r--core/soong_config.mk2
2 files changed, 2 insertions, 2 deletions
diff --git a/core/binary.mk b/core/binary.mk
index be10c2d37..df0e1a501 100644
--- a/core/binary.mk
+++ b/core/binary.mk
@@ -76,7 +76,7 @@ ifneq ($(NATIVE_COVERAGE),true)
76 my_native_coverage := false 76 my_native_coverage := false
77endif 77endif
78 78
79ifeq ($(strip $(ENABLE_XOM)),true) 79ifneq ($(strip $(ENABLE_XOM)),false)
80 ifndef LOCAL_IS_HOST_MODULE 80 ifndef LOCAL_IS_HOST_MODULE
81 my_xom := true 81 my_xom := true
82 # Disable XOM in excluded paths. 82 # Disable XOM in excluded paths.
diff --git a/core/soong_config.mk b/core/soong_config.mk
index 77329c35f..2363f2b16 100644
--- a/core/soong_config.mk
+++ b/core/soong_config.mk
@@ -83,7 +83,7 @@ $(call add_json_bool, Safestack, $(filter true,$(USE_SAF
83$(call add_json_bool, EnableCFI, $(call invert_bool,$(filter false,$(ENABLE_CFI)))) 83$(call add_json_bool, EnableCFI, $(call invert_bool,$(filter false,$(ENABLE_CFI))))
84$(call add_json_list, CFIExcludePaths, $(CFI_EXCLUDE_PATHS) $(PRODUCT_CFI_EXCLUDE_PATHS)) 84$(call add_json_list, CFIExcludePaths, $(CFI_EXCLUDE_PATHS) $(PRODUCT_CFI_EXCLUDE_PATHS))
85$(call add_json_list, CFIIncludePaths, $(CFI_INCLUDE_PATHS) $(PRODUCT_CFI_INCLUDE_PATHS)) 85$(call add_json_list, CFIIncludePaths, $(CFI_INCLUDE_PATHS) $(PRODUCT_CFI_INCLUDE_PATHS))
86$(call add_json_bool, EnableXOM, $(filter true,$(ENABLE_XOM))) 86$(call add_json_bool, EnableXOM, $(call invert_bool,$(filter false,$(ENABLE_XOM))))
87$(call add_json_list, XOMExcludePaths, $(XOM_EXCLUDE_PATHS) $(PRODUCT_XOM_EXCLUDE_PATHS)) 87$(call add_json_list, XOMExcludePaths, $(XOM_EXCLUDE_PATHS) $(PRODUCT_XOM_EXCLUDE_PATHS))
88$(call add_json_list, IntegerOverflowExcludePaths, $(INTEGER_OVERFLOW_EXCLUDE_PATHS) $(PRODUCT_INTEGER_OVERFLOW_EXCLUDE_PATHS)) 88$(call add_json_list, IntegerOverflowExcludePaths, $(INTEGER_OVERFLOW_EXCLUDE_PATHS) $(PRODUCT_INTEGER_OVERFLOW_EXCLUDE_PATHS))
89 89