From: Daniel Kiper Date: Mon, 27 Oct 2025 15:56:39 +0000 (+0100) Subject: windows: Fix relocation sections generation during module conversion from PE to ELF X-Git-Tag: grub-2.14-rc1~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a340750f9e2e234be37df34f422eb5bfd799e75f;p=thirdparty%2Fgrub.git windows: Fix relocation sections generation during module conversion from PE to ELF The commit 98ad84328 (kern/dl: Check for the SHF_INFO_LINK flag in grub_dl_relocate_symbols()) revealed a bug in the code converting PE module images to ELF files. The missing SHF_INFO_LINK flag for SHT_REL and SHT_RELA sections lead to hangs during GRUB load. This only happens for the GRUB images generated on Windows platforms. The *NIX platforms are not affected due to lack of PE to ELF conversion step. This patch fixes the issue... Signed-off-by: Daniel Kiper Reviewed-by: Ross Philipson Reviewed-by: Alec Brown --- diff --git a/util/grub-pe2elf.c b/util/grub-pe2elf.c index 11331294f..5d8d9c1de 100644 --- a/util/grub-pe2elf.c +++ b/util/grub-pe2elf.c @@ -189,6 +189,7 @@ write_section_data (FILE* fp, const char *name, char *image, shdr[idx_reloc].sh_name = insert_string (relname); shdr[idx_reloc].sh_link = i; + shdr[idx_reloc].sh_flags = SHF_INFO_LINK; shdr[idx_reloc].sh_info = idx; shdr[idx].sh_name = shdr[idx_reloc].sh_name + 4;