Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b43b96b authored by Ashutosh Agarwal's avatar Ashutosh Agarwal
Browse files

Add capability to let devices specify linker config fragments for /product partition.

PRODUCT_PRODUCT_LINKER_CONFIG_FRAGMENTS to build product/etc/linker.config.pb is added to the core build Makefile. This is used to support product-specific linker config fragments.

Bug: 369573086
Change-Id: Id964e70731389e106190dcac92fa9ff98bef6d80
Test: manual
parent 1b9d4505
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -4010,6 +4010,21 @@ INTERNAL_PRODUCTIMAGE_FILES := \
    $(filter $(TARGET_OUT_PRODUCT)/%,\
      $(ALL_DEFAULT_INSTALLED_MODULES))

# Install product/etc/linker.config.pb with PRODUCT_PRODUCT_LINKER_CONFIG_FRAGMENTS
product_linker_config_file := $(TARGET_OUT_PRODUCT)/etc/linker.config.pb
$(product_linker_config_file): private_linker_config_fragments := $(PRODUCT_PRODUCT_LINKER_CONFIG_FRAGMENTS)
$(product_linker_config_file): $(INTERNAL_PRODUCTIMAGE_FILES) | $(HOST_OUT_EXECUTABLES)/conv_linker_config
	@echo Creating linker config: $@
	@mkdir -p $(dir $@)
	@rm -f $@
	$(HOST_OUT_EXECUTABLES)/conv_linker_config proto \
		--source $(call normalize-path-list,$(private_linker_config_fragments)) \
		--output $@
$(call define declare-1p-target,$(product_linker_config_file),)
INTERNAL_PRODUCTIMAGE_FILES += $(product_linker_config_file)
ALL_DEFAULT_INSTALLED_MODULES += $(product_linker_config_file)


INSTALLED_FILES_FILE_PRODUCT := $(PRODUCT_OUT)/installed-files-product.txt
INSTALLED_FILES_JSON_PRODUCT := $(INSTALLED_FILES_FILE_PRODUCT:.txt=.json)
$(INSTALLED_FILES_FILE_PRODUCT): .KATI_IMPLICIT_OUTPUTS := $(INSTALLED_FILES_JSON_PRODUCT)
+2 −1
Original line number Diff line number Diff line
@@ -422,8 +422,9 @@ _product_single_value_vars += PRODUCT_MEMCG_V2_FORCE_ENABLED
# If true, the cgroup v2 hierarchy will be split into apps/system subtrees
_product_single_value_vars += PRODUCT_CGROUP_V2_SYS_APP_ISOLATION_ENABLED

# List of .json files to be merged/compiled into vendor/etc/linker.config.pb
# List of .json files to be merged/compiled into vendor/etc/linker.config.pb and product/etc/linker.config.pb
_product_list_vars += PRODUCT_VENDOR_LINKER_CONFIG_FRAGMENTS
_product_list_vars += PRODUCT_PRODUCT_LINKER_CONFIG_FRAGMENTS

# Whether to use userfaultfd GC.
# Possible values are: