diff --git a/BaseTools/ImageTool/ElfScan.c b/BaseTools/ImageTool/ElfScan.c index b046782cc1..79be692aa8 100644 --- a/BaseTools/ImageTool/ElfScan.c +++ b/BaseTools/ImageTool/ElfScan.c @@ -791,18 +791,21 @@ ScanElf ( mImageInfo.DebugInfo.SymbolsPathLen = strlen (ElfName); switch (mEhdr->e_machine) { - case EM_386: - mImageInfo.HeaderInfo.Machine = EFI_IMAGE_MACHINE_IA32; - break; +#if defined(EFI_TARGET64) case EM_X86_64: mImageInfo.HeaderInfo.Machine = EFI_IMAGE_MACHINE_X64; break; - case EM_ARM: - mImageInfo.HeaderInfo.Machine = EFI_IMAGE_MACHINE_ARMTHUMB_MIXED; - break; case EM_AARCH64: mImageInfo.HeaderInfo.Machine = EFI_IMAGE_MACHINE_AARCH64; break; +#elif defined(EFI_TARGET32) + case EM_386: + mImageInfo.HeaderInfo.Machine = EFI_IMAGE_MACHINE_IA32; + break; + case EM_ARM: + mImageInfo.HeaderInfo.Machine = EFI_IMAGE_MACHINE_ARMTHUMB_MIXED; + break; +#endif default: fprintf (stderr, "ImageTool: Unknown ELF architecture %d\n", mEhdr->e_machine); free (mEhdr);