From: Jan Beulich Date: Mon, 26 Apr 2021 08:24:20 +0000 (+0200) Subject: x86/EFI: sections may not live at VA 0 in PE binaries X-Git-Tag: archive/raspbian/4.16.0+51-g0941d6cb-1+rpi1~2^2~42^2~605 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=940f22732ad1f018c87c8decf88b0efeaa3a2b0e;p=xen.git x86/EFI: sections may not live at VA 0 in PE binaries PE binaries specify section addresses by (32-bit) RVA. GNU ld up to at least 2.36 would silently truncate the (negative) difference when a section is placed below the image base. Such sections would also be wrongly placed ahead of all "normal" ones. Since, for the time being, we build xen.efi with --strip-debug anyway, .stab* can't appear. And .comment has an entry in /DISCARD/ already anyway in the EFI case. Because of their unclear origin, keep the directives for the ELF case though. Signed-off-by: Jan Beulich Acked-by: Roger Pau Monné --- diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S index 5fadb02b7f..6346862250 100644 --- a/xen/arch/x86/xen.lds.S +++ b/xen/arch/x86/xen.lds.S @@ -350,6 +350,7 @@ SECTIONS #endif } +#ifndef EFI /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } @@ -358,6 +359,7 @@ SECTIONS .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } +#endif } ASSERT(__2M_rwdata_end <= XEN_VIRT_END - XEN_VIRT_START + __XEN_VIRT_START -