Make -rpath-link work with multilib.
Change-Id: If69ea6ed6cdbb657ed4005f8217d653e29626783
This commit is contained in:
@@ -250,7 +250,7 @@ $(hide) $(PRIVATE_CXX) -nostdlib -Bdynamic -fPIE -pie \
|
|||||||
-Wl,--gc-sections \
|
-Wl,--gc-sections \
|
||||||
-Wl,-z,nocopyreloc \
|
-Wl,-z,nocopyreloc \
|
||||||
$(PRIVATE_TARGET_GLOBAL_LD_DIRS) \
|
$(PRIVATE_TARGET_GLOBAL_LD_DIRS) \
|
||||||
-Wl,-rpath-link=$(TARGET_OUT_INTERMEDIATE_LIBRARIES) \
|
-Wl,-rpath-link=$(PRIVATE_TARGET_OUT_INTERMEDIATE_LIBRARIES) \
|
||||||
$(if $(filter true,$(PRIVATE_NO_CRT)),,$(PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O)) \
|
$(if $(filter true,$(PRIVATE_NO_CRT)),,$(PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O)) \
|
||||||
$(PRIVATE_ALL_OBJECTS) \
|
$(PRIVATE_ALL_OBJECTS) \
|
||||||
-Wl,--whole-archive \
|
-Wl,--whole-archive \
|
||||||
|
@@ -192,7 +192,7 @@ $(hide) $(PRIVATE_CXX) -nostdlib -Bdynamic -fPIE -pie \
|
|||||||
-Wl,-dynamic-linker,/system/bin/linker64 \
|
-Wl,-dynamic-linker,/system/bin/linker64 \
|
||||||
-Wl,-z,nocopyreloc \
|
-Wl,-z,nocopyreloc \
|
||||||
$(PRIVATE_TARGET_GLOBAL_LD_DIRS) \
|
$(PRIVATE_TARGET_GLOBAL_LD_DIRS) \
|
||||||
-Wl,-rpath-link=$(TARGET_OUT_INTERMEDIATE_LIBRARIES) \
|
-Wl,-rpath-link=$(PRIVATE_TARGET_OUT_INTERMEDIATE_LIBRARIES) \
|
||||||
$(if $(filter true,$(PRIVATE_NO_CRT)),,$(PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O)) \
|
$(if $(filter true,$(PRIVATE_NO_CRT)),,$(PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O)) \
|
||||||
$(PRIVATE_ALL_OBJECTS) \
|
$(PRIVATE_ALL_OBJECTS) \
|
||||||
-Wl,--whole-archive \
|
-Wl,--whole-archive \
|
||||||
|
@@ -241,7 +241,7 @@ $(hide) $(PRIVATE_CXX) -nostdlib -Bdynamic -fPIE -pie \
|
|||||||
-Wl,--gc-sections \
|
-Wl,--gc-sections \
|
||||||
-Wl,-z,nocopyreloc \
|
-Wl,-z,nocopyreloc \
|
||||||
$(PRIVATE_TARGET_GLOBAL_LD_DIRS) \
|
$(PRIVATE_TARGET_GLOBAL_LD_DIRS) \
|
||||||
-Wl,-rpath-link=$(TARGET_OUT_INTERMEDIATE_LIBRARIES) \
|
-Wl,-rpath-link=$(PRIVATE_TARGET_OUT_INTERMEDIATE_LIBRARIES) \
|
||||||
$(if $(filter true,$(PRIVATE_NO_CRT)),,$(PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O)) \
|
$(if $(filter true,$(PRIVATE_NO_CRT)),,$(PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O)) \
|
||||||
$(PRIVATE_ALL_OBJECTS) \
|
$(PRIVATE_ALL_OBJECTS) \
|
||||||
-Wl,--whole-archive \
|
-Wl,--whole-archive \
|
||||||
|
@@ -250,7 +250,7 @@ $(hide) $(PRIVATE_CXX) -nostdlib -Bdynamic -fPIE -pie \
|
|||||||
-Wl,--gc-sections \
|
-Wl,--gc-sections \
|
||||||
-Wl,-z,nocopyreloc \
|
-Wl,-z,nocopyreloc \
|
||||||
$(PRIVATE_TARGET_GLOBAL_LD_DIRS) \
|
$(PRIVATE_TARGET_GLOBAL_LD_DIRS) \
|
||||||
-Wl,-rpath-link=$(TARGET_OUT_INTERMEDIATE_LIBRARIES) \
|
-Wl,-rpath-link=$(PRIVATE_TARGET_OUT_INTERMEDIATE_LIBRARIES) \
|
||||||
$(if $(filter true,$(PRIVATE_NO_CRT)),,$(PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O)) \
|
$(if $(filter true,$(PRIVATE_NO_CRT)),,$(PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O)) \
|
||||||
$(PRIVATE_ALL_OBJECTS) \
|
$(PRIVATE_ALL_OBJECTS) \
|
||||||
-Wl,--whole-archive \
|
-Wl,--whole-archive \
|
||||||
|
@@ -208,7 +208,7 @@ $(hide) $(PRIVATE_CXX) \
|
|||||||
-Wl,-z,nocopyreloc \
|
-Wl,-z,nocopyreloc \
|
||||||
-fPIE -pie \
|
-fPIE -pie \
|
||||||
$(PRIVATE_TARGET_GLOBAL_LD_DIRS) \
|
$(PRIVATE_TARGET_GLOBAL_LD_DIRS) \
|
||||||
-Wl,-rpath-link=$(TARGET_OUT_INTERMEDIATE_LIBRARIES) \
|
-Wl,-rpath-link=$(PRIVATE_TARGET_OUT_INTERMEDIATE_LIBRARIES) \
|
||||||
$(if $(filter true,$(PRIVATE_NO_CRT)),,$(PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O)) \
|
$(if $(filter true,$(PRIVATE_NO_CRT)),,$(PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O)) \
|
||||||
$(PRIVATE_ALL_OBJECTS) \
|
$(PRIVATE_ALL_OBJECTS) \
|
||||||
-Wl,--whole-archive \
|
-Wl,--whole-archive \
|
||||||
|
@@ -213,7 +213,7 @@ $(hide) $(PRIVATE_CXX) \
|
|||||||
-Wl,-z,nocopyreloc \
|
-Wl,-z,nocopyreloc \
|
||||||
-fPIE -pie \
|
-fPIE -pie \
|
||||||
$(PRIVATE_TARGET_GLOBAL_LD_DIRS) \
|
$(PRIVATE_TARGET_GLOBAL_LD_DIRS) \
|
||||||
-Wl,-rpath-link=$(TARGET_OUT_INTERMEDIATE_LIBRARIES) \
|
-Wl,-rpath-link=$(PRIVATE_TARGET_OUT_INTERMEDIATE_LIBRARIES) \
|
||||||
$(if $(filter true,$(PRIVATE_NO_CRT)),,$(PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O)) \
|
$(if $(filter true,$(PRIVATE_NO_CRT)),,$(PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O)) \
|
||||||
$(PRIVATE_ALL_OBJECTS) \
|
$(PRIVATE_ALL_OBJECTS) \
|
||||||
-Wl,--whole-archive \
|
-Wl,--whole-archive \
|
||||||
|
@@ -438,16 +438,16 @@ TARGET_GLOBAL_CFLAGS += $(TARGET_RELEASE_CFLAGS)
|
|||||||
TARGET_GLOBAL_CPPFLAGS += $(TARGET_RELEASE_CPPFLAGS)
|
TARGET_GLOBAL_CPPFLAGS += $(TARGET_RELEASE_CPPFLAGS)
|
||||||
|
|
||||||
ifdef TARGET_2ND_ARCH
|
ifdef TARGET_2ND_ARCH
|
||||||
$(combo_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS += $(COMMON_GLOBAL_CFLAGS)
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_CFLAGS += $(COMMON_GLOBAL_CFLAGS)
|
||||||
$(combo_2nd_arch_prefix)TARGET_RELEASE_CFLAGS += $(COMMON_RELEASE_CFLAGS)
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_RELEASE_CFLAGS += $(COMMON_RELEASE_CFLAGS)
|
||||||
$(combo_2nd_arch_prefix)TARGET_GLOBAL_CPPFLAGS += $(COMMON_GLOBAL_CPPFLAGS)
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_CPPFLAGS += $(COMMON_GLOBAL_CPPFLAGS)
|
||||||
$(combo_2nd_arch_prefix)TARGET_RELEASE_CPPFLAGS += $(COMMON_RELEASE_CPPFLAGS)
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_RELEASE_CPPFLAGS += $(COMMON_RELEASE_CPPFLAGS)
|
||||||
$(combo_2nd_arch_prefix)TARGET_GLOBAL_LD_DIRS += -L$($(combo_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_LD_DIRS += -L$($(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)
|
||||||
$(combo_2nd_arch_prefix)TARGET_PROJECT_INCLUDES := $(TARGET_PROJECT_INCLUDES)
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_PROJECT_INCLUDES := $(TARGET_PROJECT_INCLUDES)
|
||||||
$(combo_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS += $(TARGET_ERROR_FLAGS)
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_CFLAGS += $(TARGET_ERROR_FLAGS)
|
||||||
$(combo_2nd_arch_prefix)TARGET_GLOBAL_CPPFLAGS += $(TARGET_ERROR_FLAGS)
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_CPPFLAGS += $(TARGET_ERROR_FLAGS)
|
||||||
$(combo_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS += $($(combo_2nd_arch_prefix)TARGET_RELEASE_CFLAGS)
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_CFLAGS += $($(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_RELEASE_CFLAGS)
|
||||||
$(combo_2nd_arch_prefix)TARGET_GLOBAL_CPPFLAGS += $($(combo_2nd_arch_prefix)TARGET_RELEASE_CPPFLAGS)
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_CPPFLAGS += $($(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_RELEASE_CPPFLAGS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# allow overriding default Java libraries on a per-target basis
|
# allow overriding default Java libraries on a per-target basis
|
||||||
|
@@ -1290,7 +1290,7 @@ ifneq ($(TARGET_CUSTOM_LD_COMMAND),true)
|
|||||||
define transform-o-to-shared-lib-inner
|
define transform-o-to-shared-lib-inner
|
||||||
$(hide) $(PRIVATE_CXX) \
|
$(hide) $(PRIVATE_CXX) \
|
||||||
$(PRIVATE_TARGET_GLOBAL_LDFLAGS) \
|
$(PRIVATE_TARGET_GLOBAL_LDFLAGS) \
|
||||||
-Wl,-rpath-link=$(TARGET_OUT_INTERMEDIATE_LIBRARIES) \
|
-Wl,-rpath-link=$(PRIVATE_TARGET_OUT_INTERMEDIATE_LIBRARIES) \
|
||||||
-Wl,-rpath,\$$ORIGIN/../lib \
|
-Wl,-rpath,\$$ORIGIN/../lib \
|
||||||
-shared -Wl,-soname,$(notdir $@) \
|
-shared -Wl,-soname,$(notdir $@) \
|
||||||
$(PRIVATE_LDFLAGS) \
|
$(PRIVATE_LDFLAGS) \
|
||||||
@@ -1335,7 +1335,7 @@ define transform-o-to-executable-inner
|
|||||||
$(hide) $(PRIVATE_CXX) \
|
$(hide) $(PRIVATE_CXX) \
|
||||||
$(PRIVATE_TARGET_GLOBAL_LDFLAGS) \
|
$(PRIVATE_TARGET_GLOBAL_LDFLAGS) \
|
||||||
$(PRIVATE_TARGET_GLOBAL_LD_DIRS) \
|
$(PRIVATE_TARGET_GLOBAL_LD_DIRS) \
|
||||||
-Wl,-rpath-link=$(TARGET_OUT_INTERMEDIATE_LIBRARIES) \
|
-Wl,-rpath-link=$(PRIVATE_TARGET_OUT_INTERMEDIATE_LIBRARIES) \
|
||||||
-Wl,-rpath,\$$ORIGIN/../lib \
|
-Wl,-rpath,\$$ORIGIN/../lib \
|
||||||
$(PRIVATE_LDFLAGS) \
|
$(PRIVATE_LDFLAGS) \
|
||||||
$(PRIVATE_ALL_OBJECTS) \
|
$(PRIVATE_ALL_OBJECTS) \
|
||||||
|
@@ -57,6 +57,7 @@ $(linked_module): PRIVATE_TARGET_LIBGCC := $(my_target_libgcc)
|
|||||||
$(linked_module): PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O := $(my_target_crtbegin_dynamic_o)
|
$(linked_module): PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O := $(my_target_crtbegin_dynamic_o)
|
||||||
$(linked_module): PRIVATE_TARGET_CRTBEGIN_STATIC_O := $(my_target_crtbegin_static_o)
|
$(linked_module): PRIVATE_TARGET_CRTBEGIN_STATIC_O := $(my_target_crtbegin_static_o)
|
||||||
$(linked_module): PRIVATE_TARGET_CRTEND_O := $(my_target_crtend_o)
|
$(linked_module): PRIVATE_TARGET_CRTEND_O := $(my_target_crtend_o)
|
||||||
|
$(linked_module): PRIVATE_TARGET_OUT_INTERMEDIATE_LIBRARIES := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)
|
||||||
|
|
||||||
ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true)
|
ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true)
|
||||||
$(linked_module): $(my_target_crtbegin_static_o) $(all_objects) $(all_libraries) $(my_target_crtend_o)
|
$(linked_module): $(my_target_crtbegin_static_o) $(all_objects) $(all_libraries) $(my_target_crtend_o)
|
||||||
|
Reference in New Issue
Block a user