am 6f2935dc: am dabf96ab: am c84b3a78: am 648f1b66: Merge "Pack relocation tables for dynamic executables"
* commit '6f2935dc1432a38e149498b6efbd43ed9aceb827': Pack relocation tables for dynamic executables
This commit is contained in:
commit
be55caf288
|
@ -94,6 +94,7 @@ LOCAL_COPY_HEADERS:=
|
|||
LOCAL_FORCE_STATIC_EXECUTABLE:=
|
||||
LOCAL_ADDITIONAL_DEPENDENCIES:=
|
||||
LOCAL_STRIP_MODULE:=
|
||||
LOCAL_PACK_MODULE_RELOCATIONS:=
|
||||
LOCAL_JNI_SHARED_LIBRARIES:=
|
||||
LOCAL_JNI_SHARED_LIBRARIES_ABI:=
|
||||
LOCAL_PREBUILT_JNI_LIBS:=
|
||||
|
|
|
@ -188,7 +188,7 @@ $(combo_2nd_arch_prefix)TARGET_CRTEND_O := $($(combo_2nd_arch_prefix)TARGET_OUT_
|
|||
$(combo_2nd_arch_prefix)TARGET_CRTBEGIN_SO_O := $($(combo_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_so.o
|
||||
$(combo_2nd_arch_prefix)TARGET_CRTEND_SO_O := $($(combo_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_so.o
|
||||
|
||||
$(combo_2nd_arch_prefix)TARGET_STRIP_MODULE:=true
|
||||
$(combo_2nd_arch_prefix)TARGET_PACK_MODULE_RELOCATIONS := true
|
||||
|
||||
$(combo_2nd_arch_prefix)TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libm
|
||||
|
||||
|
|
|
@ -158,7 +158,7 @@ TARGET_CRTEND_O := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_android.o
|
|||
TARGET_CRTBEGIN_SO_O := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_so.o
|
||||
TARGET_CRTEND_SO_O := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_so.o
|
||||
|
||||
TARGET_STRIP_MODULE:=true
|
||||
TARGET_PACK_MODULE_RELOCATIONS := true
|
||||
|
||||
TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libm
|
||||
|
||||
|
|
|
@ -162,8 +162,6 @@ $(combo_2nd_arch_prefix)TARGET_CRTEND_O := $($(combo_2nd_arch_prefix)TARGET_OUT_
|
|||
$(combo_2nd_arch_prefix)TARGET_CRTBEGIN_SO_O := $($(combo_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_so.o
|
||||
$(combo_2nd_arch_prefix)TARGET_CRTEND_SO_O := $($(combo_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_so.o
|
||||
|
||||
$(combo_2nd_arch_prefix)TARGET_STRIP_MODULE:=true
|
||||
|
||||
$(combo_2nd_arch_prefix)TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libm
|
||||
|
||||
$(combo_2nd_arch_prefix)TARGET_LINKER := /system/bin/linker
|
||||
|
|
|
@ -169,8 +169,6 @@ TARGET_CRTEND_O := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_android.o
|
|||
TARGET_CRTBEGIN_SO_O := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_so.o
|
||||
TARGET_CRTEND_SO_O := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_so.o
|
||||
|
||||
TARGET_STRIP_MODULE:=true
|
||||
|
||||
TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libstdc++ libm
|
||||
|
||||
TARGET_LINKER := /system/bin/linker64
|
||||
|
|
|
@ -142,8 +142,6 @@ $(combo_2nd_arch_prefix)TARGET_CRTEND_O := $($(combo_2nd_arch_prefix)TARGET_OUT_
|
|||
$(combo_2nd_arch_prefix)TARGET_CRTBEGIN_SO_O := $($(combo_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_so.o
|
||||
$(combo_2nd_arch_prefix)TARGET_CRTEND_SO_O := $($(combo_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_so.o
|
||||
|
||||
$(combo_2nd_arch_prefix)TARGET_STRIP_MODULE:=true
|
||||
|
||||
$(combo_2nd_arch_prefix)TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libm
|
||||
|
||||
$(combo_2nd_arch_prefix)TARGET_LINKER := /system/bin/linker
|
||||
|
|
|
@ -151,8 +151,6 @@ TARGET_CRTEND_O := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_android.o
|
|||
TARGET_CRTBEGIN_SO_O := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_so.o
|
||||
TARGET_CRTEND_SO_O := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_so.o
|
||||
|
||||
TARGET_STRIP_MODULE:=true
|
||||
|
||||
TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libm
|
||||
|
||||
TARGET_LINKER := /system/bin/linker64
|
||||
|
|
|
@ -475,6 +475,10 @@ ACP := $(BUILD_OUT_EXECUTABLES)/acp$(BUILD_EXECUTABLE_SUFFIX)
|
|||
# dx is java behind a shell script; no .exe necessary.
|
||||
DX := $(HOST_OUT_EXECUTABLES)/dx
|
||||
ZIPALIGN := $(HOST_OUT_EXECUTABLES)/zipalign$(HOST_EXECUTABLE_SUFFIX)
|
||||
|
||||
# relocation packer
|
||||
RELOCATION_PACKER := prebuilts/misc/$(BUILD_OS)-$(HOST_PREBUILT_ARCH)/relocation_packer/relocation_packer
|
||||
|
||||
FINDBUGS_DIR := external/owasp/sanitizer/tools/findbugs/bin
|
||||
FINDBUGS := $(FINDBUGS_DIR)/findbugs
|
||||
EMMA_JAR := external/emma/lib/emma$(COMMON_JAVA_PACKAGE_SUFFIX)
|
||||
|
|
|
@ -1489,6 +1489,15 @@ $(hide) $(PRIVATE_OBJCOPY) \
|
|||
$(TARGET_STRIP_KEEP_SYMBOLS_EXTRA) $< $@
|
||||
endef
|
||||
|
||||
###########################################################
|
||||
## Commands for packing a target executable or library
|
||||
###########################################################
|
||||
|
||||
define pack-elf-relocations
|
||||
$(copy-file-to-target)
|
||||
@echo "target Pack Relocations: $(PRIVATE_MODULE) ($@)"
|
||||
$(hide) $(RELOCATION_PACKER) $@
|
||||
endef
|
||||
|
||||
###########################################################
|
||||
## Commands for running gcc to link an executable
|
||||
|
|
|
@ -57,11 +57,11 @@ $(symbolic_output) : $(symbolic_input) | $(ACP)
|
|||
## Strip
|
||||
###########################################################
|
||||
strip_input := $(symbolic_output)
|
||||
strip_output := $(LOCAL_BUILT_MODULE)
|
||||
strip_output := $(intermediates)/STRIPPED/$(my_built_module_stem)
|
||||
|
||||
my_strip_module := $(LOCAL_STRIP_MODULE)
|
||||
ifeq ($(my_strip_module),)
|
||||
my_strip_module := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_STRIP_MODULE)
|
||||
my_strip_module := true
|
||||
endif
|
||||
|
||||
$(strip_output): PRIVATE_STRIP := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_STRIP)
|
||||
|
@ -107,7 +107,39 @@ $(strip_output): $(strip_input)
|
|||
endif
|
||||
endif # my_strip_module
|
||||
|
||||
###########################################################
|
||||
## Pack relocation tables
|
||||
###########################################################
|
||||
relocation_packer_input := $(strip_output)
|
||||
relocation_packer_output := $(LOCAL_BUILT_MODULE)
|
||||
|
||||
my_pack_module_relocations := $(LOCAL_PACK_MODULE_RELOCATIONS)
|
||||
|
||||
ifeq ($(my_pack_module_relocations),)
|
||||
my_pack_module_relocations := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_PACK_MODULE_RELOCATIONS)
|
||||
endif
|
||||
|
||||
# Do not pack relocations for static executables.
|
||||
ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true)
|
||||
my_pack_module_relocations := false
|
||||
endif
|
||||
|
||||
# TODO (dimitry): Relocation packer is not yet available for darwin
|
||||
ifneq ($(HOST_OS),linux)
|
||||
my_pack_module_relocations := false
|
||||
endif
|
||||
|
||||
ifeq (true,$(my_pack_module_relocations))
|
||||
# Pack relocations
|
||||
$(relocation_packer_output): $(relocation_packer_input) | $(ACP)
|
||||
$(pack-elf-relocations)
|
||||
else
|
||||
$(relocation_packer_output): $(relocation_packer_input) | $(ACP)
|
||||
@echo "target Unpacked: $(PRIVATE_MODULE) ($@)"
|
||||
$(copy-file-to-target)
|
||||
endif
|
||||
|
||||
$(cleantarget): PRIVATE_CLEAN_FILES += \
|
||||
$(linked_module) \
|
||||
$(symbolic_output)
|
||||
$(symbolic_output) \
|
||||
$(strip_output)
|
||||
|
|
Loading…
Reference in New Issue