The more I look at, the more I don't like the current solution.
If I understand it correctly, we added 2 EFI targets for
each arch just so that we can do
# objcopy -O efi-XXX-x86_64 HelloWorld.elf HelloWorld.efi
The only difference between 3 EFI targets is different
IMAGE_SUBSYSTEM_EFI_XXX. Why not just have one EFI
target, efi-x8_64, defaulting to IMAGE_SUBSYSTEM_EFI_APPLICATION??
We can add a switch to objcopy with
--efi=app|bsdrv|rtdrv
We can provide backward compatibility for efi-XXX-x86_64.
Any comments?