diff options
author | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2018-04-06 15:36:31 +0200 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2018-04-09 10:20:59 +0200 |
commit | f4cf153a487486428a061b5d866fe2f68653b2f8 (patch) | |
tree | 1ebd5a4fbd8cdd8155673e3ea3cc2e91a1c3620a /arch | |
parent | 806d2fa8e3c4ebaa1a2b1854ee4569ccc056d238 (diff) |
efi_loader: correctly set the machine type in the PE header
The portable executable header has a field describing the machine type.
The machine type should match the binary. So on i386 we should use
IMAGE_FILE_MACHINE_I386 and on x86_64 we should use
IMAGE_FILE_MACHINE_AMD64. The actual value is issued by the objcopy
command invoked in scripts/Makefile.lib in depdendence of the value of
EFI_TARGET.
The value is used both for EFI_STUB and for EFI_LOADER.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/config.mk | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/config.mk b/arch/x86/config.mk index 472ada5490..69074f4711 100644 --- a/arch/x86/config.mk +++ b/arch/x86/config.mk @@ -94,12 +94,16 @@ ifneq ($(CONFIG_EFI_STUB_64BIT),) EFI_LDS := elf_x86_64_efi.lds EFI_CRT0 := crt0_x86_64_efi.o EFI_RELOC := reloc_x86_64_efi.o -EFI_TARGET := --target=efi-app-ia32 else EFI_LDS := elf_ia32_efi.lds EFI_CRT0 := crt0_ia32_efi.o EFI_RELOC := reloc_ia32_efi.o +endif + +ifdef CONFIG_X86_64 EFI_TARGET := --target=efi-app-x86_64 +else +EFI_TARGET := --target=efi-app-ia32 endif endif |