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

Commit 96a130bd authored by Vishwath Mohan's avatar Vishwath Mohan
Browse files

Use the .cfi variant of a static library where needed.

This CL repoints static dependencies to their .cfi variants for CFI
enabled targets. It also disables CFI for host targets because the
version of ar intended for hosts does not have plugin support (which
CFI requires).

Bug: 67507323
Test: m -j40
Change-Id: Id11afd0c8765469858f406aace2a192afff6d042
parent d6f22984
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -1330,6 +1330,22 @@ $(call track-src-file-obj,$(asm_sources_asm),$(asm_objects_asm))
asm_objects += $(asm_objects_asm)
endif

###################################################################
## When compiling a CFI enabled target, use the .cfi variant of any
## static dependencies (where they exist).
##################################################################
define use_soong_cfi_static_libraries
  $(foreach l,$(1),$(if $(filter $(l),$(SOONG_CFI_STATIC_LIBRARIES)),\
      $(l).cfi,$(l)))
endef

ifneq ($(filter cfi,$(my_sanitize)),)
  my_whole_static_libraries := $(call use_soong_cfi_static_libraries,\
    $(my_whole_static_libraries))
  my_static_libraries := $(call use_soong_cfi_static_libraries,\
    $(my_static_libraries))
endif

###########################################################
## When compiling against the VNDK, use LL-NDK libraries
###########################################################
+6 −0
Original line number Diff line number Diff line
@@ -132,6 +132,12 @@ ifneq ($(filter mips mips64,$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)),)
  my_sanitize_diag := $(filter-out cfi,$(my_sanitize_diag))
endif

# Disable CFI for host targets
ifdef LOCAL_IS_HOST_MODULE
  my_sanitize := $(filter-out cfi,$(my_sanitize))
  my_sanitize_diag := $(filter-out cfi,$(my_sanitize_diag))
endif

# Support for local sanitize blacklist paths.
ifneq ($(my_sanitize)$(my_global_sanitize),)
  ifneq ($(LOCAL_SANITIZE_BLACKLIST),)