On Wed, Jan 08, 2020 at 04:25:41PM +0100, Ard Biesheuvel wrote: > On Wed, 8 Jan 2020 at 16:25, Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> wrote: > > > > On Wed, 8 Jan 2020 at 16:23, Arvind Sankar <nivedita@xxxxxxxxxxxx> wrote: > > > > > > On Wed, Jan 08, 2020 at 08:45:01AM +0100, Ard Biesheuvel wrote: > > > > Reshuffle the x86 stub code a bit so that we can tag the efi_is_64bit() > > > > function with the 'const' attribute, which permits the compiler to > > > > optimize away any redundant calls. Since we have two different entry > > > > points for 32 and 64 bit firmware in the startup code, this also > > > > simplifies the C code since we'll enter it with the efi_is64 variable > > > > already set. > > > > > > > > Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx> > > > > --- > > > > arch/x86/boot/compressed/eboot.c | 14 ++++++-------- > > > > arch/x86/boot/compressed/head_64.S | 7 +++---- > > > > arch/x86/include/asm/efi.h | 2 +- > > > > 3 files changed, 10 insertions(+), 13 deletions(-) > > > > > > > > diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c > > > > index 4afd29eb5b34..ab3a40283db7 100644 > > > > --- a/arch/x86/boot/compressed/eboot.c > > > > +++ b/arch/x86/boot/compressed/eboot.c > > > > @@ -21,16 +21,18 @@ > > > > #include "eboot.h" > > > > > > > > static efi_system_table_t *sys_table; > > > > -static bool efi_is64 = IS_ENABLED(CONFIG_X86_64); > > > > +extern const bool efi_is64; > > > > > > > > > > Didn't we need to declare this with hidden visibility? Or use the > > > #pragma GCC visibility push(hidden)? > > > > Yes. So this patch depends on > > https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git/commit/?h=next&id=c71339946177f235aa1f750b2dc556ede3288c23 > > which is part of the open PR to the TIP maintainers. Ah sorry.