diff options
author | Matt Fleming <[email protected]> | 2014-08-05 00:12:19 +0100 |
---|---|---|
committer | H. Peter Anvin <[email protected]> | 2014-08-04 16:26:46 -0700 |
commit | b16d8c231e4d03fefc7de1b8b62bad5659ee8070 (patch) | |
tree | 33bf510153d6fa8e20e12bc8d80ee2f04cb2c65d /net/lapb/lapb_subr.c | |
parent | 99a5603e2a1f146ac0c6414d8a3669aa749ccff8 (diff) |
x86/efi: Fix 3DNow optimization build failure in EFI stub
Building a 32-bit kernel with CONFIG_X86_USE_3DNOW and CONFIG_EFI_STUB
leads to the following build error,
drivers/firmware/efi/libstub/lib.a(efi-stub-helper.o): In function `efi_relocate_kernel':
efi-stub-helper.c:(.text+0xda5): undefined reference to `_mmx_memcpy'
This is due to the fact that the EFI boot stub pulls in the 3DNow
optimized versions of the memcpy() prototype from
arch/x86/include/asm/string_32.h, even though the _mmx_memcpy()
implementation isn't available in the EFI stub.
For now, predicate CONFIG_EFI_STUB on !CONFIG_X86_USE_3DNOW. This is
most definitely a temporary fix. A complete solution will involve
selectively including kernel headers/symbols into the early-boot
execution environment of the EFI boot stub, i.e. something analogous to
the way that the _SETUP symbol is used.
Previous attempts have been made to fix this kind of problem, though
none seem to have ever been merged,
http://lkml.kernel.org/r/[email protected]
Clearly, this problem has been around for a long time.
Reported-by: Ingo Molnar <[email protected]>
Cc: Borislav Petkov <[email protected]>
Signed-off-by: Matt Fleming <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: H. Peter Anvin <[email protected]>
Diffstat (limited to 'net/lapb/lapb_subr.c')
0 files changed, 0 insertions, 0 deletions