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>
This commit is contained in:
parent
806d2fa8e3
commit
f4cf153a48
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user