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)?