]> git.proxmox.com Git - mirror_edk2.git/commit
Preserve hii section in GCC binaries
authorThomas Palmer <thomas.palmer@hpe.com>
Fri, 22 Jul 2016 02:56:49 +0000 (10:56 +0800)
committerYonghong Zhu <yonghong.zhu@intel.com>
Tue, 26 Jul 2016 02:21:45 +0000 (10:21 +0800)
commit03630a81488ca30c384c09034caa1a70afb80a0d
treeb633efdc2de4de978303c0fcc884088804ede7e3
parent910e206238e83be352e840d2e668266257fcf7fa
Preserve hii section in GCC binaries

According to UEFI spec:
Once an image is loaded, LoadImage() installs
EFI_HII_PACKAGE_LIST_PROTOCOL on the handle if the image contains a
custom PE/COFF resource with the type 'HII'. The protocol's
interface pointer points to the HII package list which is contained
in the resource's data.

This is controlled by the UEFI_HII_RESOURCE_SECTION define in the INF
file.  When present the HII resource is linked with the module
binary.

Unfortunately GCC-built binaries have been stripping the .hii section
entirely.  See  "[edk2] HII gEfiHiiPackageListProtocolGuid problem
with  GCC48(VS2012x86 works)"
http://thread.gmane.org/gmane.comp.bios.tianocore.devel/13438
http://thread.gmane.org/gmane.comp.bios.tianocore.devel/14899

This patch tells the linker to preserve the .hii sections

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Thomas Palmer <thomas.palmer@hpe.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Bruce Cran <bruce.cran@gmail.com>
Reviewed-by: Bruce Cran <bruce.cran@gmail.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
BaseTools/Scripts/GccBase.lds