On Wed, 05 Nov, at 05:00:56PM, Ard Biesheuvel wrote: > This reverts commit 84be880560fb, which itself reverted my original > attempt to move x86 from #include'ing .c files from across the tree > to using the EFI stub built as a static library. > > The issue that affected the original approach was that splitting > the implementation into several .o files resulted in the variable > 'efi_early' becoming a global with external linkage, which under > -fPIC implies that references to it must go through the GOT. However, > dealing with this additional GOT entry turned out to be troublesome > on some EFI implementations. (GCC's visibility=hidden attribute is > supposed to lift this requirement, but it turned out not to work on > the 32-bit build.) > > Instead, use a pure getter function to get a reference to efi_early. > This approach results in no additional GOT entries being generated, > so there is no need for any changes in the early GOT handling. > > Tested-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> > --- > v2: rebased onto v3.18-rc3, added tested-by > > arch/x86/boot/compressed/Makefile | 3 ++- > arch/x86/boot/compressed/eboot.c | 8 ++++---- > arch/x86/boot/compressed/eboot.h | 16 ---------------- > arch/x86/include/asm/efi.h | 24 ++++++++++++++++++++++++ > drivers/firmware/efi/Makefile | 2 +- > 5 files changed, 31 insertions(+), 22 deletions(-) Thanks Ard, applied. -- Matt Fleming, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html