On Thu, Apr 01, 2021 at 11:45:38AM +0200, Jan Beulich wrote: > There's no need to link relocs-dummy.o into the ELF binary. The two > symbols needed can as well be provided by the linker script. Then our > mkreloc tool also doesn't need to put them in the generated assembler > source.
Maybe I'm just dense today, but I think the message needs to be expanded a bit to mention that while the __base_relocs_{start,end} are not used when loaded as an EFI application, they are used by the EFI code in Xen when booted using the multiboot2 protocol for example, as they are used by efi_arch_relocate_image. I think relocation is not needed when natively loaded as an EFI application, as then the load address matches the one expected by Xen? I also wonder, at some point there where plans for providing a single binary that would work as multiboot{1,2} and also be capable of being loaded as an EFI application (ie: have a PE/COFF header also I assume together with the ELF one), won't the changes here make it more difficult to reach that goal or require reverting later on, as I feel they are adding more differences between the PE binary and the ELF one. The code LGTM, but I think at least I would like the commit message to be expanded. Thanks, Roger.