Update builds_rules.template to add $(SLINK) to the GCC
steps for processing HII resources to produce a static
library instead of an object file.  This improves linker
compatibility and specifically fixes a link failure seen
on Linux GCC ARM builds of the MdeModulePkg due to
mismatched ABI types between the HII resource section
and the rest of the libraries.

Cc: Bob Feng <bob.c.f...@intel.com>
Cc: Liming Gao <gaolim...@byosoft.com.cn>
Cc: Yuwei Chen <yuwei.c...@intel.com>
Cc: Leif Lindholm <l...@nuviainc.com>
Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>
Signed-off-by: Michael D Kinney <michael.d.kin...@intel.com>
---
 BaseTools/Conf/build_rule.template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/BaseTools/Conf/build_rule.template 
b/BaseTools/Conf/build_rule.template
index 3add1029f276..5f59044da36d 100755
--- a/BaseTools/Conf/build_rule.template
+++ b/BaseTools/Conf/build_rule.template
@@ -668,6 +668,8 @@
 
     <Command.GCC>
         "$(GENFW)" -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) 
--hiibinpackage $(HII_BINARY_PACKAGES) $(GENFW_FLAGS)
-        "$(RC)" $(RC_FLAGS) $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc ${dst}
+        "$(RC)" $(RC_FLAGS) $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc 
$(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc.obj
+        "$(SLINK)" cr  ${dst} $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc.obj
+
     <Command.XCODE, Command.RVCT, Command.CLANGGCC>
         "$(GENFW)" -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) 
--hiibinpackage $(HII_BINARY_PACKAGES) $(GENFW_FLAGS)
-- 
2.32.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#83303): https://edk2.groups.io/g/devel/message/83303
Mute This Topic: https://groups.io/mt/86804632/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to