Revert "Produce mappings of hashes to elf symbols and r8 dictionaries"
This reverts commit 3570b3ed86d0322a951a931487dd77e1e1a8e000.
Reason for revert: b/228195288
Bug: 218888599
Change-Id: I17b38ca1b6f8940d682f2782515bfd5f8db1ce58
diff --git a/core/Makefile b/core/Makefile
index 7b96482..4c6ac37 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -6136,39 +6136,25 @@
# -----------------------------------------------------------------
# A zip of the symbols directory. Keep the full paths to make it
# more obvious where these files came from.
-# Also produces a textproto containing mappings from elf IDs to symbols
-# filename, which will allow finding the appropriate symbols to deobfuscate
-# a stack trace frame.
#
-
name := $(TARGET_PRODUCT)
ifeq ($(TARGET_BUILD_TYPE),debug)
name := $(name)_debug
endif
+name := $(name)-symbols-$(FILE_NAME_TAG)
-# The path to the zip file containing binaries with symbols.
-SYMBOLS_ZIP := $(PRODUCT_OUT)/$(name)-symbols-$(FILE_NAME_TAG).zip
-# The path to a file containing mappings from elf IDs to filenames.
-SYMBOLS_MAPPING := $(PRODUCT_OUT)/$(name)-symbols-mapping-$(FILE_NAME_TAG).textproto
-.KATI_READONLY := SYMBOLS_ZIP SYMBOLS_MAPPING
+SYMBOLS_ZIP := $(PRODUCT_OUT)/$(name).zip
# For apps_only build we'll establish the dependency later in build/make/core/main.mk.
ifeq (,$(TARGET_BUILD_UNBUNDLED))
$(SYMBOLS_ZIP): $(INTERNAL_ALLIMAGES_FILES) $(updater_dep)
endif
$(SYMBOLS_ZIP): PRIVATE_LIST_FILE := $(call intermediates-dir-for,PACKAGING,symbols)/filelist
-$(SYMBOLS_ZIP): PRIVATE_MAPPING_PACKAGING_DIR := $(call intermediates-dir-for,PACKAGING,elf_symbol_mapping)
-$(SYMBOLS_ZIP): $(SOONG_ZIP) $(SYMBOLS_MAP)
+$(SYMBOLS_ZIP): $(SOONG_ZIP)
@echo "Package symbols: $@"
$(hide) rm -rf $@ $(PRIVATE_LIST_FILE)
- $(hide) mkdir -p $(TARGET_OUT_UNSTRIPPED) $(dir $(PRIVATE_LIST_FILE)) $(PRIVATE_MAPPING_PACKAGING_DIR)
- # Find all of the files in the symbols directory and zip them into the symbols zip.
+ $(hide) mkdir -p $(dir $@) $(TARGET_OUT_UNSTRIPPED) $(dir $(PRIVATE_LIST_FILE))
$(hide) find -L $(TARGET_OUT_UNSTRIPPED) -type f | sort >$(PRIVATE_LIST_FILE)
$(hide) $(SOONG_ZIP) --ignore_missing_files -d -o $@ -C $(OUT_DIR)/.. -l $(PRIVATE_LIST_FILE)
- # Find all of the files in the symbols mapping directory and merge them into the symbols mapping textproto.
- $(hide) find -L $(PRIVATE_MAPPING_PACKAGING_DIR) -type f | sort >$(PRIVATE_LIST_FILE)
- $(hide) $(SYMBOLS_MAP) -merge $(SYMBOLS_MAPPING) -ignore_missing_files @$(PRIVATE_LIST_FILE)
-$(SYMBOLS_ZIP): .KATI_IMPLICIT_OUTPUTS := $(SYMBOLS_MAPPING)
-
# -----------------------------------------------------------------
# A zip of the coverage directory.
#
@@ -6261,35 +6247,17 @@
#------------------------------------------------------------------
# A zip of Proguard obfuscation dictionary files.
-# Also produces a textproto containing mappings from the hashes of the
-# dictionary contents (which are also stored in the dex files on the
-# devices) to the filename of the proguard dictionary, which will allow
-# finding the appropriate dictionary to deobfuscate a stack trace frame.
#
-
-# The path to the zip file containing proguard dictionaries.
PROGUARD_DICT_ZIP := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-proguard-dict-$(FILE_NAME_TAG).zip
-# The path to the zip file containing mappings from dictionary hashes to filenames.
-PROGUARD_DICT_MAPPING := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-proguard-dict-mapping-$(FILE_NAME_TAG).textproto
-.KATI_READONLY := PROGUARD_DICT_ZIP PROGUARD_DICT_MAPPING
# For apps_only build we'll establish the dependency later in build/make/core/main.mk.
ifeq (,$(TARGET_BUILD_UNBUNDLED))
$(PROGUARD_DICT_ZIP): $(INTERNAL_ALLIMAGES_FILES) $(updater_dep)
endif
$(PROGUARD_DICT_ZIP): PRIVATE_PACKAGING_DIR := $(call intermediates-dir-for,PACKAGING,proguard_dictionary)
-$(PROGUARD_DICT_ZIP): PRIVATE_MAPPING_PACKAGING_DIR := $(call intermediates-dir-for,PACKAGING,proguard_dictionary_mapping)
-$(PROGUARD_DICT_ZIP): PRIVATE_LIST_FILE := $(call intermediates-dir-for,PACKAGING,proguard_dictionary_filelist)/filelist
-$(PROGUARD_DICT_ZIP): $(SOONG_ZIP) $(SYMBOLS_MAP)
+$(PROGUARD_DICT_ZIP): $(SOONG_ZIP)
@echo "Packaging Proguard obfuscation dictionary files."
- rm -rf $@ $(PRIVATE_LIST_FILE)
- mkdir -p $(PRIVATE_PACKAGING_DIR) $(PRIVATE_MAPPING_PACKAGING_DIR) $(dir $(PRIVATE_LIST_FILE))
- # Zip all of the files in the proguard dictionary directory.
- $(SOONG_ZIP) --ignore_missing_files -d -o $@ -C $(PRIVATE_PACKAGING_DIR) -D $(PRIVATE_PACKAGING_DIR)
- # Find all of the files in the proguard dictionary mapping directory and merge them into the mapping textproto.
- # Strip the PRIVATE_PACKAGING_DIR off the filenames to match soong_zip's -C argument.
- $(hide) find -L $(PRIVATE_MAPPING_PACKAGING_DIR) -type f | sort >$(PRIVATE_LIST_FILE)
- $(SYMBOLS_MAP) -merge $(PROGUARD_DICT_MAPPING) -strip_prefix $(PRIVATE_PACKAGING_DIR)/ -ignore_missing_files @$(PRIVATE_LIST_FILE)
-$(PROGUARD_DICT_ZIP): .KATI_IMPLICIT_OUTPUTS := $(PROGUARD_DICT_MAPPING)
+ mkdir -p $(dir $@) $(PRIVATE_PACKAGING_DIR)
+ $(SOONG_ZIP) --ignore_missing_files -d -o $@ -C $(PRIVATE_PACKAGING_DIR) -P out/target/common/obj -D $(PRIVATE_PACKAGING_DIR)
#------------------------------------------------------------------
# A zip of Proguard usage files.
diff --git a/core/config.mk b/core/config.mk
index 205a2fb..e2bdcbd 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -620,7 +620,6 @@
OTA_FROM_TARGET_FILES := $(HOST_OUT_EXECUTABLES)/ota_from_target_files$(HOST_EXECUTABLE_SUFFIX)
SPARSE_IMG := $(HOST_OUT_EXECUTABLES)/sparse_img$(HOST_EXECUTABLE_SUFFIX)
CHECK_PARTITION_SIZES := $(HOST_OUT_EXECUTABLES)/check_partition_sizes$(HOST_EXECUTABLE_SUFFIX)
-SYMBOLS_MAP := $(HOST_OUT_EXECUTABLES)/symbols_map
PROGUARD_HOME := external/proguard
PROGUARD := $(PROGUARD_HOME)/bin/proguard.sh
diff --git a/core/definitions.mk b/core/definitions.mk
index 2369a07..2711f57 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -3111,50 +3111,6 @@
fi
endef
-# Copy an unstripped binary to the symbols directory while also extracting
-# a hash mapping to the mapping directory.
-# $(1): unstripped intermediates file
-# $(2): path in symbols directory
-define copy-unstripped-elf-file-with-mapping
-$(call _copy-symbols-file-with-mapping,$(1),$(2),\
- elf,$(patsubst $(TARGET_OUT_UNSTRIPPED)/%,$(call intermediates-dir-for,PACKAGING,elf_symbol_mapping)/%,$(2).textproto))
-endef
-
-# Copy an R8 dictionary to the packaging directory while also extracting
-# a hash mapping to the mapping directory.
-# $(1): unstripped intermediates file
-# $(2): path in packaging directory
-# $(3): path in mappings packaging directory
-define copy-r8-dictionary-file-with-mapping
-$(call _copy-symbols-file-with-mapping,$(1),$(2),r8,$(3))
-endef
-
-# Copy an unstripped binary or R8 dictionary to the symbols directory
-# while also extracting a hash mapping to the mapping directory.
-# $(1): unstripped intermediates file
-# $(2): path in symbols directory
-# $(3): file type (elf or r8)
-# $(4): path in the mappings directory
-define _copy-symbols-file-with-mapping
-$(2): .KATI_IMPLICIT_OUTPUTS := $(4)
-$(2): $(SYMBOLS_MAP)
-$(2): $(1)
- @echo "Copy symbols with mapping: $$@"
- $$(copy-file-to-target)
- $(SYMBOLS_MAP) -$(strip $(3)) $(2) -write_if_changed $(4)
-.KATI_RESTAT: $(2)
-endef
-
-# Returns the directory to copy proguard dictionaries into
-define local-proguard-dictionary-directory
-$(call intermediates-dir-for,PACKAGING,proguard_dictionary)/out/target/common/obj/$(LOCAL_MODULE_CLASS)/$(LOCAL_MODULE)_intermediates
-endef
-
-# Returns the directory to copy proguard dictionary mappings into
-define local-proguard-dictionary-mapping-directory
-$(call intermediates-dir-for,PACKAGING,proguard_dictionary_mapping)/out/target/common/obj/$(LOCAL_MODULE_CLASS)/$(LOCAL_MODULE)_intermediates
-endef
-
###########################################################
## Commands to call R8
diff --git a/core/dynamic_binary.mk b/core/dynamic_binary.mk
index 0d2cd7f..52d7ddc 100644
--- a/core/dynamic_binary.mk
+++ b/core/dynamic_binary.mk
@@ -55,7 +55,9 @@
endif
symbolic_input := $(inject_module)
symbolic_output := $(my_unstripped_path)/$(my_installed_module_stem)
-$(eval $(call copy-unstripped-elf-file-with-mapping,$(symbolic_input),$(symbolic_output)))
+$(symbolic_output) : $(symbolic_input)
+ @echo "target Symbolic: $(PRIVATE_MODULE) ($@)"
+ $(copy-file-to-target)
###########################################################
## Store breakpad symbols
diff --git a/core/main.mk b/core/main.mk
index 6a2407c..72958da 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -1761,13 +1761,13 @@
endif
$(PROGUARD_DICT_ZIP) : $(apps_only_installed_files)
- $(call dist-for-goals,apps_only, $(PROGUARD_DICT_ZIP) $(PROGUARD_DICT_MAPPING))
+ $(call dist-for-goals,apps_only, $(PROGUARD_DICT_ZIP))
$(PROGUARD_USAGE_ZIP) : $(apps_only_installed_files)
$(call dist-for-goals,apps_only, $(PROGUARD_USAGE_ZIP))
$(SYMBOLS_ZIP) : $(apps_only_installed_files)
- $(call dist-for-goals,apps_only, $(SYMBOLS_ZIP) $(SYMBOLS_MAPPING))
+ $(call dist-for-goals,apps_only, $(SYMBOLS_ZIP))
$(COVERAGE_ZIP) : $(apps_only_installed_files)
$(call dist-for-goals,apps_only, $(COVERAGE_ZIP))
@@ -1818,9 +1818,7 @@
$(INTERNAL_OTA_PARTIAL_PACKAGE_TARGET) \
$(INTERNAL_OTA_RETROFIT_DYNAMIC_PARTITIONS_PACKAGE_TARGET) \
$(SYMBOLS_ZIP) \
- $(SYMBOLS_MAPPING) \
$(PROGUARD_DICT_ZIP) \
- $(PROGUARD_DICT_MAPPING) \
$(PROGUARD_USAGE_ZIP) \
$(COVERAGE_ZIP) \
$(INSTALLED_FILES_FILE) \
@@ -1964,7 +1962,6 @@
$(call dist-for-goals,sdk, \
$(ALL_SDK_TARGETS) \
$(SYMBOLS_ZIP) \
- $(SYMBOLS_MAPPING) \
$(COVERAGE_ZIP) \
$(APPCOMPAT_ZIP) \
$(INSTALLED_BUILD_PROP_TARGET) \
diff --git a/core/soong_app_prebuilt.mk b/core/soong_app_prebuilt.mk
index d771d22..006e1dc 100644
--- a/core/soong_app_prebuilt.mk
+++ b/core/soong_app_prebuilt.mk
@@ -100,24 +100,18 @@
endif
ifdef LOCAL_SOONG_PROGUARD_DICT
- my_proguard_dictionary_directory := $(local-proguard-dictionary-directory)
- my_proguard_dictionary_mapping_directory := $(local-proguard-dictionary-mapping-directory)
$(eval $(call copy-one-file,$(LOCAL_SOONG_PROGUARD_DICT),\
$(intermediates.COMMON)/proguard_dictionary))
- $(eval $(call copy-r8-dictionary-file-with-mapping,\
- $(LOCAL_SOONG_PROGUARD_DICT),\
- $(my_proguard_dictionary_directory)/proguard_dictionary,\
- $(my_proguard_dictionary_mapping_directory)/proguard_dictionary.textproto))
+ $(eval $(call copy-one-file,$(LOCAL_SOONG_PROGUARD_DICT),\
+ $(call local-packaging-dir,proguard_dictionary)/proguard_dictionary))
$(eval $(call copy-one-file,$(LOCAL_SOONG_CLASSES_JAR),\
- $(my_proguard_dictionary_directory)/classes.jar))
+ $(call local-packaging-dir,proguard_dictionary)/classes.jar))
$(call add-dependency,$(LOCAL_BUILT_MODULE),\
$(intermediates.COMMON)/proguard_dictionary)
$(call add-dependency,$(LOCAL_BUILT_MODULE),\
- $(my_proguard_dictionary_directory)/proguard_dictionary)
+ $(call local-packaging-dir,proguard_dictionary)/proguard_dictionary)
$(call add-dependency,$(LOCAL_BUILT_MODULE),\
- $(my_proguard_dictionary_mapping_directory)/proguard_dictionary.textproto)
- $(call add-dependency,$(LOCAL_BUILT_MODULE),\
- $(my_proguard_dictionary_directory)/classes.jar)
+ $(call local-packaging-dir,proguard_dictionary)/classes.jar)
endif
ifdef LOCAL_SOONG_PROGUARD_USAGE_ZIP
diff --git a/core/soong_cc_rust_prebuilt.mk b/core/soong_cc_rust_prebuilt.mk
index 7a177ff..ca52374 100644
--- a/core/soong_cc_rust_prebuilt.mk
+++ b/core/soong_cc_rust_prebuilt.mk
@@ -184,7 +184,7 @@
# drop /root as /root is mounted as /
my_unstripped_path := $(patsubst $(TARGET_OUT_UNSTRIPPED)/root/%,$(TARGET_OUT_UNSTRIPPED)/%, $(my_unstripped_path))
symbolic_output := $(my_unstripped_path)/$(my_installed_module_stem)
- $(eval $(call copy-unstripped-elf-file-with-mapping,$(LOCAL_SOONG_UNSTRIPPED_BINARY),$(symbolic_output)))
+ $(eval $(call copy-one-file,$(LOCAL_SOONG_UNSTRIPPED_BINARY),$(symbolic_output)))
$(LOCAL_BUILT_MODULE): | $(symbolic_output)
ifeq ($(BREAKPAD_GENERATE_SYMBOLS),true)
diff --git a/core/soong_java_prebuilt.mk b/core/soong_java_prebuilt.mk
index a8f475f..b819cdc 100644
--- a/core/soong_java_prebuilt.mk
+++ b/core/soong_java_prebuilt.mk
@@ -62,24 +62,18 @@
endif
ifdef LOCAL_SOONG_PROGUARD_DICT
- my_proguard_dictionary_directory := $(local-proguard-dictionary-directory)
- my_proguard_dictionary_mapping_directory := $(local-proguard-dictionary-mapping-directory)
$(eval $(call copy-one-file,$(LOCAL_SOONG_PROGUARD_DICT),\
$(intermediates.COMMON)/proguard_dictionary))
- $(eval $(call copy-r8-dictionary-file-with-mapping,\
- $(LOCAL_SOONG_PROGUARD_DICT),\
- $(my_proguard_dictionary_directory)/proguard_dictionary,\
- $(my_proguard_dictionary_mapping_directory)/proguard_dictionary.textproto))
+ $(eval $(call copy-one-file,$(LOCAL_SOONG_PROGUARD_DICT),\
+ $(call local-packaging-dir,proguard_dictionary)/proguard_dictionary))
$(eval $(call copy-one-file,$(LOCAL_SOONG_CLASSES_JAR),\
- $(my_proguard_dictionary_directory)/classes.jar))
+ $(call local-packaging-dir,proguard_dictionary)/classes.jar))
$(call add-dependency,$(common_javalib.jar),\
$(intermediates.COMMON)/proguard_dictionary)
$(call add-dependency,$(common_javalib.jar),\
- $(my_proguard_dictionary_directory)/proguard_dictionary)
+ $(call local-packaging-dir,proguard_dictionary)/proguard_dictionary)
$(call add-dependency,$(common_javalib.jar),\
- $(my_proguard_dictionary_mapping_directory)/proguard_dictionary.textproto)
- $(call add-dependency,$(common_javalib.jar),\
- $(my_proguard_dictionary_directory)/classes.jar)
+ $(call local-packaging-dir,proguard_dictionary)/classes.jar)
endif
ifdef LOCAL_SOONG_PROGUARD_USAGE_ZIP