On Wed, Apr 21, 2021 at 05:34:29PM +0200, Jan Beulich wrote: > On 21.04.2021 17:20, Roger Pau Monné wrote: > > On Wed, Apr 21, 2021 at 02:03:49PM +0200, Jan Beulich wrote: > >> On 21.04.2021 12:21, Roger Pau Monné wrote: > >>> On Thu, Apr 01, 2021 at 11:46:44AM +0200, Jan Beulich wrote: > >>>> @@ -189,7 +208,11 @@ EFI_LDFLAGS += --no-insert-timestamp > >>>> endif > >>>> > >>>> $(TARGET).efi: VIRT_BASE = 0x$(shell $(NM) efi/relocs-dummy.o | sed -n > >>>> 's, A VIRT_START$$,,p') > >>>> +ifeq ($(MKRELOC),:) > >>>> +$(TARGET).efi: ALT_BASE := > >>>> +else > >>>> $(TARGET).efi: ALT_BASE = 0x$(shell $(NM) efi/relocs-dummy.o | sed -n > >>>> 's, A ALT_START$$,,p') > >>> > >>> Could you maybe check whether $(relocs-dummy) is set as the condition > >>> here and use it here instead of efi/relocs-dummy.o? > >> > >> I can use it in the ifeq() if you think that's neater (the current way > >> is minimally shorter), but using it in the ALT_BASE assignment would > >> make this differ more from the VIRT_BASE one, which I'd like to avoid. > > > > Sorry, I think I'm slightly confused because when the linker can > > produce the required relocations relocs-dummy variable is left empty, > > so it won't be added to $(TARGET).efi. > > > > But we still need to generate the efi/relocs-dummy.o file for the ELF > > build I assume? > > Not anymore (after "x86/EFI: redo .reloc section bounds determination"). > We need it, as said, to fish VIRT_BASE out of it. It indeed wouldn't get > linked into any of the final binaries anymore.
Could you please add some text to the commit message to note that while relocs-dummy is not linked into the final binary it's still needed to get VIRT_BASE? With that: Acked-by: Roger Pau Monné <roger....@citrix.com> FWIW, it would also be nice to add some comments to the $(TARGET).efi target commands, as it's quite impenetrable right now. Thanks, Roger.