Explicitly add lld's relr relocation flags for Android Pie and above
Bug: http://b/119086751 https://android-review.googlesource.com/c/837025 disabled lld relocation packing globally and enabled it for soong modules targeting pie and above. Turn it on for Android.mk modules as well. Test: grep for -Wl,pack-dyn-relocs=android in out/build-aosp_<device>.ninja Change-Id: I81b8625073aa6b364219b8cf3122b69c95ec7589
This commit is contained in:
parent
d69e849c9b
commit
bf2af95f73
|
@ -1614,7 +1614,9 @@ my_target_global_cppflags := $($(LOCAL_2ND_ARCH_VAR_PREFIX)CLANG_$(my_prefix)GLO
|
|||
ifeq ($(my_use_clang_lld),true)
|
||||
my_target_global_ldflags := $($(LOCAL_2ND_ARCH_VAR_PREFIX)CLANG_$(my_prefix)GLOBAL_LLDFLAGS)
|
||||
include $(BUILD_SYSTEM)/pack_dyn_relocs_setup.mk
|
||||
ifeq ($(my_pack_module_relocations),false)
|
||||
ifeq ($(my_pack_module_relocations),true)
|
||||
my_target_global_ldflags += -Wl,--pack-dyn-relocs=android+relr -Wl,--use-android-relr-tags
|
||||
else
|
||||
my_target_global_ldflags += -Wl,--pack-dyn-relocs=none
|
||||
endif
|
||||
else
|
||||
|
|
|
@ -32,3 +32,12 @@ ifdef LOCAL_IS_HOST_MODULE
|
|||
# Do not pack relocations on host modules
|
||||
my_pack_module_relocations := false
|
||||
endif
|
||||
|
||||
# Lld relocation packing cannot be enabled for binaries before Android Pie.
|
||||
ifneq ($(LOCAL_SDK_VERSION),)
|
||||
ifneq ($(LOCAL_SDK_VERSION),current)
|
||||
ifeq ($(call math_lt,$(LOCAL_SDK_VERSION),28),true)
|
||||
my_pack_module_relocations := false
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
|
Loading…
Reference in New Issue