Hello,
Current hypervisor code/build produces an invalid binary when linked
with lld 8 (llvm linker). This is because lld 8 places orphaned sections
at the beginning of the output file, thus displacing the multiboot
headers.
In order to build a correct image with lld 8 make sure there are no
orphaned sections, and also add a build-time check to assert the
multiboot headers are present between the offset boundary given in the
specification.
Roger Pau Monne (4):
xz: use initconst for hypervisor build
x86/linker: use DECL_SECTION uniformly
x86/linker: add a reloc section to ELF binary
x86: check for multiboot{1,2} header presence
xen/arch/x86/Makefile | 3 +++
xen/arch/x86/xen.lds.S | 14 +++++++++-----
xen/common/decompress.h | 2 ++
xen/common/xz/dec_bcj.c | 6 +++---
xen/common/xz/dec_stream.c | 2 +-
5 files changed, 18 insertions(+), 9 deletions(-)
--
2.20.1 (Apple Git-117)
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel