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)
|
ifeq ($(my_use_clang_lld),true)
|
||||||
my_target_global_ldflags := $($(LOCAL_2ND_ARCH_VAR_PREFIX)CLANG_$(my_prefix)GLOBAL_LLDFLAGS)
|
my_target_global_ldflags := $($(LOCAL_2ND_ARCH_VAR_PREFIX)CLANG_$(my_prefix)GLOBAL_LLDFLAGS)
|
||||||
include $(BUILD_SYSTEM)/pack_dyn_relocs_setup.mk
|
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
|
my_target_global_ldflags += -Wl,--pack-dyn-relocs=none
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
|
|
|
@ -32,3 +32,12 @@ ifdef LOCAL_IS_HOST_MODULE
|
||||||
# Do not pack relocations on host modules
|
# Do not pack relocations on host modules
|
||||||
my_pack_module_relocations := false
|
my_pack_module_relocations := false
|
||||||
endif
|
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