Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53ef5006 authored by Ivan Lozano's avatar Ivan Lozano Committed by Gerrit Code Review
Browse files

Merge "Add support for AArch64 XOM binaries."

parents 12fa690f fda9a6f3
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -73,6 +73,30 @@ else
  my_native_coverage := false
endif

ifeq ($(strip $(ENABLE_XOM)),true)
  ifndef LOCAL_IS_HOST_MODULE
    my_xom := true
    # Disable XOM in excluded paths.
    combined_xom_exclude_paths := $(XOM_EXCLUDE_PATHS) \
                                  $(PRODUCT_XOM_EXCLUDE_PATHS)
    ifneq ($(strip $(foreach dir,$(subst $(comma),$(space),$(combined_xom_exclude_paths)),\
           $(filter $(dir)%,$(LOCAL_PATH)))),)
      my_xom := false
    endif

    # Allow LOCAL_XOM to override the above
    ifdef LOCAL_XOM
      my_xom := $(LOCAL_XOM)
    endif

    ifeq ($(strip $(my_xom)),true)
      ifeq (arm64,$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH))
        my_ldflags += -Wl,-execute-only
      endif
    endif
  endif
endif

my_allow_undefined_symbols := $(strip $(LOCAL_ALLOW_UNDEFINED_SYMBOLS))
ifdef SANITIZE_HOST
ifdef LOCAL_IS_HOST_MODULE
+1 −0
Original line number Diff line number Diff line
@@ -302,6 +302,7 @@ LOCAL_VTS_INCLUDES:=
LOCAL_VTS_MODE:=
LOCAL_WARNINGS_ENABLE:=
LOCAL_WHOLE_STATIC_LIBRARIES:=
LOCAL_XOM:=
LOCAL_YACCFLAGS:=
# TODO: deprecate, it does nothing
OVERRIDE_BUILT_MODULE_PATH:=
+1 −0
Original line number Diff line number Diff line
@@ -212,6 +212,7 @@ _product_var_list := \
    PRODUCT_USE_DYNAMIC_PARTITIONS \
    PRODUCT_RETROFIT_DYNAMIC_PARTITIONS \
    PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS \
    PRODUCT_XOM_EXCLUDE_PATHS \

define dump-product
$(info ==== $(1) ====)\
+4 −0
Original line number Diff line number Diff line
@@ -501,6 +501,10 @@ PRODUCT_CFI_EXCLUDE_PATHS := \
PRODUCT_CFI_INCLUDE_PATHS := \
    $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_CFI_INCLUDE_PATHS))

# Whether any paths are excluded from being set XOM when ENABLE_XOM=true
PRODUCT_XOM_EXCLUDE_PATHS := \
    $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_XOM_EXCLUDE_PATHS))

# which Soong namespaces to export to Make
PRODUCT_SOONG_NAMESPACES := \
    $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SOONG_NAMESPACES))
+2 −0
Original line number Diff line number Diff line
@@ -82,6 +82,8 @@ $(call add_json_bool, Safestack, $(filter true,$(USE_SAF
$(call add_json_bool, EnableCFI,                         $(call invert_bool,$(filter false,$(ENABLE_CFI))))
$(call add_json_list, CFIExcludePaths,                   $(CFI_EXCLUDE_PATHS) $(PRODUCT_CFI_EXCLUDE_PATHS))
$(call add_json_list, CFIIncludePaths,                   $(CFI_INCLUDE_PATHS) $(PRODUCT_CFI_INCLUDE_PATHS))
$(call add_json_bool, EnableXOM,                         $(filter true,$(ENABLE_XOM)))
$(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_bool, ClangTidy,                         $(filter 1 true,$(WITH_TIDY)))