From 49801502726bfb1480587e2bbbce38a95184f84b Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Jul 08 2016 11:59:38 +0000 Subject: Distribute edk2-ovmf on aarch64 --- diff --git a/0010-prepare-tools_def-for-x86-cross.patch b/0010-prepare-tools_def-for-x86-cross.patch new file mode 100644 index 0000000..c867a26 --- /dev/null +++ b/0010-prepare-tools_def-for-x86-cross.patch @@ -0,0 +1,429 @@ +--- a/BaseTools/Conf/tools_def.template 2016-04-18 10:18:14.000000000 +0200 ++++ b/BaseTools/Conf/tools_def.template 2016-07-08 13:48:01.394134576 +0200 +@@ -179,24 +179,6 @@ + DEFINE CYGWIN_BINX64 = c:/cygwin/opt/tiano/x86_64-pc-mingw64/x86_64-pc-mingw64/bin/ + DEFINE CYGWIN_BINIPF = c:/cygwin/opt/tiano/gcc/ipf/bin/ia64-pc-elf- + +-DEFINE GCC44_IA32_PREFIX = ENV(GCC44_BIN) +-DEFINE GCC44_X64_PREFIX = ENV(GCC44_BIN) +- +-DEFINE GCC45_IA32_PREFIX = ENV(GCC45_BIN) +-DEFINE GCC45_X64_PREFIX = ENV(GCC45_BIN) +- +-DEFINE GCC46_IA32_PREFIX = ENV(GCC46_BIN) +-DEFINE GCC46_X64_PREFIX = ENV(GCC46_BIN) +- +-DEFINE GCC47_IA32_PREFIX = ENV(GCC47_BIN) +-DEFINE GCC47_X64_PREFIX = ENV(GCC47_BIN) +- +-DEFINE GCC48_IA32_PREFIX = ENV(GCC48_BIN) +-DEFINE GCC48_X64_PREFIX = ENV(GCC48_BIN) +- +-DEFINE GCC49_IA32_PREFIX = ENV(GCC49_BIN) +-DEFINE GCC49_X64_PREFIX = ENV(GCC49_BIN) +- + DEFINE UNIX_IASL_BIN = ENV(IASL_PREFIX)iasl + DEFINE WIN_ASL_BIN_DIR = C:\ASL + DEFINE WIN_IASL_BIN = DEF(WIN_ASL_BIN_DIR)\iasl.exe +@@ -4546,7 +4528,7 @@ + #################################################################################### + *_GCC44_*_*_FAMILY = GCC + +-*_GCC44_*_MAKE_PATH = DEF(GCC44_IA32_PREFIX)make ++*_GCC44_*_MAKE_PATH = make + *_GCC44_*_*_DLL = ENV(GCC44_DLL) + *_GCC44_*_ASL_PATH = DEF(UNIX_IASL_BIN) + +@@ -4561,17 +4543,17 @@ + ################## + # GCC44 IA32 definitions + ################## +-*_GCC44_IA32_OBJCOPY_PATH = DEF(GCC44_IA32_PREFIX)objcopy +-*_GCC44_IA32_CC_PATH = DEF(GCC44_IA32_PREFIX)gcc +-*_GCC44_IA32_SLINK_PATH = DEF(GCC44_IA32_PREFIX)ar +-*_GCC44_IA32_DLINK_PATH = DEF(GCC44_IA32_PREFIX)ld +-*_GCC44_IA32_ASLDLINK_PATH = DEF(GCC44_IA32_PREFIX)ld +-*_GCC44_IA32_ASM_PATH = DEF(GCC44_IA32_PREFIX)gcc +-*_GCC44_IA32_PP_PATH = DEF(GCC44_IA32_PREFIX)gcc +-*_GCC44_IA32_VFRPP_PATH = DEF(GCC44_IA32_PREFIX)gcc +-*_GCC44_IA32_ASLCC_PATH = DEF(GCC44_IA32_PREFIX)gcc +-*_GCC44_IA32_ASLPP_PATH = DEF(GCC44_IA32_PREFIX)gcc +-*_GCC44_IA32_RC_PATH = DEF(GCC44_IA32_PREFIX)objcopy ++*_GCC44_IA32_OBJCOPY_PATH = ENV(GCC44_IA32_PREFIX)objcopy ++*_GCC44_IA32_CC_PATH = ENV(GCC44_IA32_PREFIX)gcc ++*_GCC44_IA32_SLINK_PATH = ENV(GCC44_IA32_PREFIX)ar ++*_GCC44_IA32_DLINK_PATH = ENV(GCC44_IA32_PREFIX)ld ++*_GCC44_IA32_ASLDLINK_PATH = ENV(GCC44_IA32_PREFIX)ld ++*_GCC44_IA32_ASM_PATH = ENV(GCC44_IA32_PREFIX)gcc ++*_GCC44_IA32_PP_PATH = ENV(GCC44_IA32_PREFIX)gcc ++*_GCC44_IA32_VFRPP_PATH = ENV(GCC44_IA32_PREFIX)gcc ++*_GCC44_IA32_ASLCC_PATH = ENV(GCC44_IA32_PREFIX)gcc ++*_GCC44_IA32_ASLPP_PATH = ENV(GCC44_IA32_PREFIX)gcc ++*_GCC44_IA32_RC_PATH = ENV(GCC44_IA32_PREFIX)objcopy + + *_GCC44_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 + *_GCC44_IA32_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_ASLDLINK_FLAGS) -m elf_i386 +@@ -4586,17 +4568,17 @@ + ################## + # GCC44 X64 definitions + ################## +-*_GCC44_X64_OBJCOPY_PATH = DEF(GCC44_X64_PREFIX)objcopy +-*_GCC44_X64_CC_PATH = DEF(GCC44_X64_PREFIX)gcc +-*_GCC44_X64_SLINK_PATH = DEF(GCC44_X64_PREFIX)ar +-*_GCC44_X64_DLINK_PATH = DEF(GCC44_X64_PREFIX)ld +-*_GCC44_X64_ASLDLINK_PATH = DEF(GCC44_X64_PREFIX)ld +-*_GCC44_X64_ASM_PATH = DEF(GCC44_X64_PREFIX)gcc +-*_GCC44_X64_PP_PATH = DEF(GCC44_X64_PREFIX)gcc +-*_GCC44_X64_VFRPP_PATH = DEF(GCC44_X64_PREFIX)gcc +-*_GCC44_X64_ASLCC_PATH = DEF(GCC44_X64_PREFIX)gcc +-*_GCC44_X64_ASLPP_PATH = DEF(GCC44_X64_PREFIX)gcc +-*_GCC44_X64_RC_PATH = DEF(GCC44_X64_PREFIX)objcopy ++*_GCC44_X64_OBJCOPY_PATH = ENV(GCC44_X64_PREFIX)objcopy ++*_GCC44_X64_CC_PATH = ENV(GCC44_X64_PREFIX)gcc ++*_GCC44_X64_SLINK_PATH = ENV(GCC44_X64_PREFIX)ar ++*_GCC44_X64_DLINK_PATH = ENV(GCC44_X64_PREFIX)ld ++*_GCC44_X64_ASLDLINK_PATH = ENV(GCC44_X64_PREFIX)ld ++*_GCC44_X64_ASM_PATH = ENV(GCC44_X64_PREFIX)gcc ++*_GCC44_X64_PP_PATH = ENV(GCC44_X64_PREFIX)gcc ++*_GCC44_X64_VFRPP_PATH = ENV(GCC44_X64_PREFIX)gcc ++*_GCC44_X64_ASLCC_PATH = ENV(GCC44_X64_PREFIX)gcc ++*_GCC44_X64_ASLPP_PATH = ENV(GCC44_X64_PREFIX)gcc ++*_GCC44_X64_RC_PATH = ENV(GCC44_X64_PREFIX)objcopy + + *_GCC44_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 + *_GCC44_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_ASLDLINK_FLAGS) -m elf_x86_64 +@@ -4616,7 +4598,7 @@ + #################################################################################### + *_GCC45_*_*_FAMILY = GCC + +-*_GCC45_*_MAKE_PATH = DEF(GCC45_IA32_PREFIX)make ++*_GCC45_*_MAKE_PATH = make + *_GCC45_*_*_DLL = ENV(GCC45_DLL) + *_GCC45_*_ASL_PATH = DEF(UNIX_IASL_BIN) + +@@ -4631,17 +4613,17 @@ + ################## + # GCC45 IA32 definitions + ################## +-*_GCC45_IA32_OBJCOPY_PATH = DEF(GCC45_IA32_PREFIX)objcopy +-*_GCC45_IA32_CC_PATH = DEF(GCC45_IA32_PREFIX)gcc +-*_GCC45_IA32_SLINK_PATH = DEF(GCC45_IA32_PREFIX)ar +-*_GCC45_IA32_DLINK_PATH = DEF(GCC45_IA32_PREFIX)ld +-*_GCC45_IA32_ASLDLINK_PATH = DEF(GCC45_IA32_PREFIX)ld +-*_GCC45_IA32_ASM_PATH = DEF(GCC45_IA32_PREFIX)gcc +-*_GCC45_IA32_PP_PATH = DEF(GCC45_IA32_PREFIX)gcc +-*_GCC45_IA32_VFRPP_PATH = DEF(GCC45_IA32_PREFIX)gcc +-*_GCC45_IA32_ASLCC_PATH = DEF(GCC45_IA32_PREFIX)gcc +-*_GCC45_IA32_ASLPP_PATH = DEF(GCC45_IA32_PREFIX)gcc +-*_GCC45_IA32_RC_PATH = DEF(GCC45_IA32_PREFIX)objcopy ++*_GCC45_IA32_OBJCOPY_PATH = ENV(GCC45_IA32_PREFIX)objcopy ++*_GCC45_IA32_CC_PATH = ENV(GCC45_IA32_PREFIX)gcc ++*_GCC45_IA32_SLINK_PATH = ENV(GCC45_IA32_PREFIX)ar ++*_GCC45_IA32_DLINK_PATH = ENV(GCC45_IA32_PREFIX)ld ++*_GCC45_IA32_ASLDLINK_PATH = ENV(GCC45_IA32_PREFIX)ld ++*_GCC45_IA32_ASM_PATH = ENV(GCC45_IA32_PREFIX)gcc ++*_GCC45_IA32_PP_PATH = ENV(GCC45_IA32_PREFIX)gcc ++*_GCC45_IA32_VFRPP_PATH = ENV(GCC45_IA32_PREFIX)gcc ++*_GCC45_IA32_ASLCC_PATH = ENV(GCC45_IA32_PREFIX)gcc ++*_GCC45_IA32_ASLPP_PATH = ENV(GCC45_IA32_PREFIX)gcc ++*_GCC45_IA32_RC_PATH = ENV(GCC45_IA32_PREFIX)objcopy + + *_GCC45_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 + *_GCC45_IA32_ASLDLINK_FLAGS = DEF(GCC45_IA32_X64_ASLDLINK_FLAGS) -m elf_i386 +@@ -4656,17 +4638,17 @@ + ################## + # GCC45 X64 definitions + ################## +-*_GCC45_X64_OBJCOPY_PATH = DEF(GCC45_X64_PREFIX)objcopy +-*_GCC45_X64_CC_PATH = DEF(GCC45_X64_PREFIX)gcc +-*_GCC45_X64_SLINK_PATH = DEF(GCC45_X64_PREFIX)ar +-*_GCC45_X64_DLINK_PATH = DEF(GCC45_X64_PREFIX)ld +-*_GCC45_X64_ASLDLINK_PATH = DEF(GCC45_X64_PREFIX)ld +-*_GCC45_X64_ASM_PATH = DEF(GCC45_X64_PREFIX)gcc +-*_GCC45_X64_PP_PATH = DEF(GCC45_X64_PREFIX)gcc +-*_GCC45_X64_VFRPP_PATH = DEF(GCC45_X64_PREFIX)gcc +-*_GCC45_X64_ASLCC_PATH = DEF(GCC45_X64_PREFIX)gcc +-*_GCC45_X64_ASLPP_PATH = DEF(GCC45_X64_PREFIX)gcc +-*_GCC45_X64_RC_PATH = DEF(GCC45_X64_PREFIX)objcopy ++*_GCC45_X64_OBJCOPY_PATH = ENV(GCC45_X64_PREFIX)objcopy ++*_GCC45_X64_CC_PATH = ENV(GCC45_X64_PREFIX)gcc ++*_GCC45_X64_SLINK_PATH = ENV(GCC45_X64_PREFIX)ar ++*_GCC45_X64_DLINK_PATH = ENV(GCC45_X64_PREFIX)ld ++*_GCC45_X64_ASLDLINK_PATH = ENV(GCC45_X64_PREFIX)ld ++*_GCC45_X64_ASM_PATH = ENV(GCC45_X64_PREFIX)gcc ++*_GCC45_X64_PP_PATH = ENV(GCC45_X64_PREFIX)gcc ++*_GCC45_X64_VFRPP_PATH = ENV(GCC45_X64_PREFIX)gcc ++*_GCC45_X64_ASLCC_PATH = ENV(GCC45_X64_PREFIX)gcc ++*_GCC45_X64_ASLPP_PATH = ENV(GCC45_X64_PREFIX)gcc ++*_GCC45_X64_RC_PATH = ENV(GCC45_X64_PREFIX)objcopy + + *_GCC45_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 + *_GCC45_X64_ASLDLINK_FLAGS = DEF(GCC45_IA32_X64_ASLDLINK_FLAGS) -m elf_x86_64 +@@ -4686,7 +4668,7 @@ + #################################################################################### + *_GCC46_*_*_FAMILY = GCC + +-*_GCC46_*_MAKE_PATH = DEF(GCC46_IA32_PREFIX)make ++*_GCC46_*_MAKE_PATH = make + *_GCC46_*_*_DLL = ENV(GCC46_DLL) + *_GCC46_*_ASL_PATH = DEF(UNIX_IASL_BIN) + +@@ -4701,17 +4683,17 @@ + ################## + # GCC46 IA32 definitions + ################## +-*_GCC46_IA32_OBJCOPY_PATH = DEF(GCC46_IA32_PREFIX)objcopy +-*_GCC46_IA32_CC_PATH = DEF(GCC46_IA32_PREFIX)gcc +-*_GCC46_IA32_SLINK_PATH = DEF(GCC46_IA32_PREFIX)ar +-*_GCC46_IA32_DLINK_PATH = DEF(GCC46_IA32_PREFIX)ld +-*_GCC46_IA32_ASLDLINK_PATH = DEF(GCC46_IA32_PREFIX)ld +-*_GCC46_IA32_ASM_PATH = DEF(GCC46_IA32_PREFIX)gcc +-*_GCC46_IA32_PP_PATH = DEF(GCC46_IA32_PREFIX)gcc +-*_GCC46_IA32_VFRPP_PATH = DEF(GCC46_IA32_PREFIX)gcc +-*_GCC46_IA32_ASLCC_PATH = DEF(GCC46_IA32_PREFIX)gcc +-*_GCC46_IA32_ASLPP_PATH = DEF(GCC46_IA32_PREFIX)gcc +-*_GCC46_IA32_RC_PATH = DEF(GCC46_IA32_PREFIX)objcopy ++*_GCC46_IA32_OBJCOPY_PATH = ENV(GCC46_IA32_PREFIX)objcopy ++*_GCC46_IA32_CC_PATH = ENV(GCC46_IA32_PREFIX)gcc ++*_GCC46_IA32_SLINK_PATH = ENV(GCC46_IA32_PREFIX)ar ++*_GCC46_IA32_DLINK_PATH = ENV(GCC46_IA32_PREFIX)ld ++*_GCC46_IA32_ASLDLINK_PATH = ENV(GCC46_IA32_PREFIX)ld ++*_GCC46_IA32_ASM_PATH = ENV(GCC46_IA32_PREFIX)gcc ++*_GCC46_IA32_PP_PATH = ENV(GCC46_IA32_PREFIX)gcc ++*_GCC46_IA32_VFRPP_PATH = ENV(GCC46_IA32_PREFIX)gcc ++*_GCC46_IA32_ASLCC_PATH = ENV(GCC46_IA32_PREFIX)gcc ++*_GCC46_IA32_ASLPP_PATH = ENV(GCC46_IA32_PREFIX)gcc ++*_GCC46_IA32_RC_PATH = ENV(GCC46_IA32_PREFIX)objcopy + + *_GCC46_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 + *_GCC46_IA32_ASLDLINK_FLAGS = DEF(GCC46_IA32_X64_ASLDLINK_FLAGS) -m elf_i386 +@@ -4728,17 +4710,17 @@ + ################## + # GCC46 X64 definitions + ################## +-*_GCC46_X64_OBJCOPY_PATH = DEF(GCC46_X64_PREFIX)objcopy +-*_GCC46_X64_CC_PATH = DEF(GCC46_X64_PREFIX)gcc +-*_GCC46_X64_SLINK_PATH = DEF(GCC46_X64_PREFIX)ar +-*_GCC46_X64_DLINK_PATH = DEF(GCC46_X64_PREFIX)ld +-*_GCC46_X64_ASLDLINK_PATH = DEF(GCC46_X64_PREFIX)ld +-*_GCC46_X64_ASM_PATH = DEF(GCC46_X64_PREFIX)gcc +-*_GCC46_X64_PP_PATH = DEF(GCC46_X64_PREFIX)gcc +-*_GCC46_X64_VFRPP_PATH = DEF(GCC46_X64_PREFIX)gcc +-*_GCC46_X64_ASLCC_PATH = DEF(GCC46_X64_PREFIX)gcc +-*_GCC46_X64_ASLPP_PATH = DEF(GCC46_X64_PREFIX)gcc +-*_GCC46_X64_RC_PATH = DEF(GCC46_X64_PREFIX)objcopy ++*_GCC46_X64_OBJCOPY_PATH = ENV(GCC46_X64_PREFIX)objcopy ++*_GCC46_X64_CC_PATH = ENV(GCC46_X64_PREFIX)gcc ++*_GCC46_X64_SLINK_PATH = ENV(GCC46_X64_PREFIX)ar ++*_GCC46_X64_DLINK_PATH = ENV(GCC46_X64_PREFIX)ld ++*_GCC46_X64_ASLDLINK_PATH = ENV(GCC46_X64_PREFIX)ld ++*_GCC46_X64_ASM_PATH = ENV(GCC46_X64_PREFIX)gcc ++*_GCC46_X64_PP_PATH = ENV(GCC46_X64_PREFIX)gcc ++*_GCC46_X64_VFRPP_PATH = ENV(GCC46_X64_PREFIX)gcc ++*_GCC46_X64_ASLCC_PATH = ENV(GCC46_X64_PREFIX)gcc ++*_GCC46_X64_ASLPP_PATH = ENV(GCC46_X64_PREFIX)gcc ++*_GCC46_X64_RC_PATH = ENV(GCC46_X64_PREFIX)objcopy + + *_GCC46_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 + *_GCC46_X64_ASLDLINK_FLAGS = DEF(GCC46_IA32_X64_ASLDLINK_FLAGS) -m elf_x86_64 +@@ -4791,7 +4773,7 @@ + #################################################################################### + *_GCC47_*_*_FAMILY = GCC + +-*_GCC47_*_MAKE_PATH = DEF(GCC47_IA32_PREFIX)make ++*_GCC47_*_MAKE_PATH = make + *_GCC47_*_*_DLL = ENV(GCC47_DLL) + *_GCC47_*_ASL_PATH = DEF(UNIX_IASL_BIN) + +@@ -4806,17 +4788,17 @@ + ################## + # GCC47 IA32 definitions + ################## +-*_GCC47_IA32_OBJCOPY_PATH = DEF(GCC47_IA32_PREFIX)objcopy +-*_GCC47_IA32_CC_PATH = DEF(GCC47_IA32_PREFIX)gcc +-*_GCC47_IA32_SLINK_PATH = DEF(GCC47_IA32_PREFIX)ar +-*_GCC47_IA32_DLINK_PATH = DEF(GCC47_IA32_PREFIX)ld +-*_GCC47_IA32_ASLDLINK_PATH = DEF(GCC47_IA32_PREFIX)ld +-*_GCC47_IA32_ASM_PATH = DEF(GCC47_IA32_PREFIX)gcc +-*_GCC47_IA32_PP_PATH = DEF(GCC47_IA32_PREFIX)gcc +-*_GCC47_IA32_VFRPP_PATH = DEF(GCC47_IA32_PREFIX)gcc +-*_GCC47_IA32_ASLCC_PATH = DEF(GCC47_IA32_PREFIX)gcc +-*_GCC47_IA32_ASLPP_PATH = DEF(GCC47_IA32_PREFIX)gcc +-*_GCC47_IA32_RC_PATH = DEF(GCC47_IA32_PREFIX)objcopy ++*_GCC47_IA32_OBJCOPY_PATH = ENV(GCC47_IA32_PREFIX)objcopy ++*_GCC47_IA32_CC_PATH = ENV(GCC47_IA32_PREFIX)gcc ++*_GCC47_IA32_SLINK_PATH = ENV(GCC47_IA32_PREFIX)ar ++*_GCC47_IA32_DLINK_PATH = ENV(GCC47_IA32_PREFIX)ld ++*_GCC47_IA32_ASLDLINK_PATH = ENV(GCC47_IA32_PREFIX)ld ++*_GCC47_IA32_ASM_PATH = ENV(GCC47_IA32_PREFIX)gcc ++*_GCC47_IA32_PP_PATH = ENV(GCC47_IA32_PREFIX)gcc ++*_GCC47_IA32_VFRPP_PATH = ENV(GCC47_IA32_PREFIX)gcc ++*_GCC47_IA32_ASLCC_PATH = ENV(GCC47_IA32_PREFIX)gcc ++*_GCC47_IA32_ASLPP_PATH = ENV(GCC47_IA32_PREFIX)gcc ++*_GCC47_IA32_RC_PATH = ENV(GCC47_IA32_PREFIX)objcopy + + *_GCC47_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 + *_GCC47_IA32_ASLDLINK_FLAGS = DEF(GCC47_IA32_X64_ASLDLINK_FLAGS) -m elf_i386 +@@ -4833,17 +4815,17 @@ + ################## + # GCC47 X64 definitions + ################## +-*_GCC47_X64_OBJCOPY_PATH = DEF(GCC47_X64_PREFIX)objcopy +-*_GCC47_X64_CC_PATH = DEF(GCC47_X64_PREFIX)gcc +-*_GCC47_X64_SLINK_PATH = DEF(GCC47_X64_PREFIX)ar +-*_GCC47_X64_DLINK_PATH = DEF(GCC47_X64_PREFIX)ld +-*_GCC47_X64_ASLDLINK_PATH = DEF(GCC47_X64_PREFIX)ld +-*_GCC47_X64_ASM_PATH = DEF(GCC47_X64_PREFIX)gcc +-*_GCC47_X64_PP_PATH = DEF(GCC47_X64_PREFIX)gcc +-*_GCC47_X64_VFRPP_PATH = DEF(GCC47_X64_PREFIX)gcc +-*_GCC47_X64_ASLCC_PATH = DEF(GCC47_X64_PREFIX)gcc +-*_GCC47_X64_ASLPP_PATH = DEF(GCC47_X64_PREFIX)gcc +-*_GCC47_X64_RC_PATH = DEF(GCC47_X64_PREFIX)objcopy ++*_GCC47_X64_OBJCOPY_PATH = ENV(GCC47_X64_PREFIX)objcopy ++*_GCC47_X64_CC_PATH = ENV(GCC47_X64_PREFIX)gcc ++*_GCC47_X64_SLINK_PATH = ENV(GCC47_X64_PREFIX)ar ++*_GCC47_X64_DLINK_PATH = ENV(GCC47_X64_PREFIX)ld ++*_GCC47_X64_ASLDLINK_PATH = ENV(GCC47_X64_PREFIX)ld ++*_GCC47_X64_ASM_PATH = ENV(GCC47_X64_PREFIX)gcc ++*_GCC47_X64_PP_PATH = ENV(GCC47_X64_PREFIX)gcc ++*_GCC47_X64_VFRPP_PATH = ENV(GCC47_X64_PREFIX)gcc ++*_GCC47_X64_ASLCC_PATH = ENV(GCC47_X64_PREFIX)gcc ++*_GCC47_X64_ASLPP_PATH = ENV(GCC47_X64_PREFIX)gcc ++*_GCC47_X64_RC_PATH = ENV(GCC47_X64_PREFIX)objcopy + + *_GCC47_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 + *_GCC47_X64_ASLDLINK_FLAGS = DEF(GCC47_IA32_X64_ASLDLINK_FLAGS) -m elf_x86_64 +@@ -4923,7 +4905,7 @@ + #################################################################################### + *_GCC48_*_*_FAMILY = GCC + +-*_GCC48_*_MAKE_PATH = DEF(GCC48_IA32_PREFIX)make ++*_GCC48_*_MAKE_PATH = make + *_GCC48_*_*_DLL = ENV(GCC48_DLL) + *_GCC48_*_ASL_PATH = DEF(UNIX_IASL_BIN) + +@@ -4938,17 +4920,17 @@ + ################## + # GCC48 IA32 definitions + ################## +-*_GCC48_IA32_OBJCOPY_PATH = DEF(GCC48_IA32_PREFIX)objcopy +-*_GCC48_IA32_CC_PATH = DEF(GCC48_IA32_PREFIX)gcc +-*_GCC48_IA32_SLINK_PATH = DEF(GCC48_IA32_PREFIX)ar +-*_GCC48_IA32_DLINK_PATH = DEF(GCC48_IA32_PREFIX)ld +-*_GCC48_IA32_ASLDLINK_PATH = DEF(GCC48_IA32_PREFIX)ld +-*_GCC48_IA32_ASM_PATH = DEF(GCC48_IA32_PREFIX)gcc +-*_GCC48_IA32_PP_PATH = DEF(GCC48_IA32_PREFIX)gcc +-*_GCC48_IA32_VFRPP_PATH = DEF(GCC48_IA32_PREFIX)gcc +-*_GCC48_IA32_ASLCC_PATH = DEF(GCC48_IA32_PREFIX)gcc +-*_GCC48_IA32_ASLPP_PATH = DEF(GCC48_IA32_PREFIX)gcc +-*_GCC48_IA32_RC_PATH = DEF(GCC48_IA32_PREFIX)objcopy ++*_GCC48_IA32_OBJCOPY_PATH = ENV(GCC48_IA32_PREFIX)objcopy ++*_GCC48_IA32_CC_PATH = ENV(GCC48_IA32_PREFIX)gcc ++*_GCC48_IA32_SLINK_PATH = ENV(GCC48_IA32_PREFIX)ar ++*_GCC48_IA32_DLINK_PATH = ENV(GCC48_IA32_PREFIX)ld ++*_GCC48_IA32_ASLDLINK_PATH = ENV(GCC48_IA32_PREFIX)ld ++*_GCC48_IA32_ASM_PATH = ENV(GCC48_IA32_PREFIX)gcc ++*_GCC48_IA32_PP_PATH = ENV(GCC48_IA32_PREFIX)gcc ++*_GCC48_IA32_VFRPP_PATH = ENV(GCC48_IA32_PREFIX)gcc ++*_GCC48_IA32_ASLCC_PATH = ENV(GCC48_IA32_PREFIX)gcc ++*_GCC48_IA32_ASLPP_PATH = ENV(GCC48_IA32_PREFIX)gcc ++*_GCC48_IA32_RC_PATH = ENV(GCC48_IA32_PREFIX)objcopy + + *_GCC48_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 + *_GCC48_IA32_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_ASLDLINK_FLAGS) -m elf_i386 +@@ -4965,17 +4947,17 @@ + ################## + # GCC48 X64 definitions + ################## +-*_GCC48_X64_OBJCOPY_PATH = DEF(GCC48_X64_PREFIX)objcopy +-*_GCC48_X64_CC_PATH = DEF(GCC48_X64_PREFIX)gcc +-*_GCC48_X64_SLINK_PATH = DEF(GCC48_X64_PREFIX)ar +-*_GCC48_X64_DLINK_PATH = DEF(GCC48_X64_PREFIX)ld +-*_GCC48_X64_ASLDLINK_PATH = DEF(GCC48_X64_PREFIX)ld +-*_GCC48_X64_ASM_PATH = DEF(GCC48_X64_PREFIX)gcc +-*_GCC48_X64_PP_PATH = DEF(GCC48_X64_PREFIX)gcc +-*_GCC48_X64_VFRPP_PATH = DEF(GCC48_X64_PREFIX)gcc +-*_GCC48_X64_ASLCC_PATH = DEF(GCC48_X64_PREFIX)gcc +-*_GCC48_X64_ASLPP_PATH = DEF(GCC48_X64_PREFIX)gcc +-*_GCC48_X64_RC_PATH = DEF(GCC48_X64_PREFIX)objcopy ++*_GCC48_X64_OBJCOPY_PATH = ENV(GCC48_X64_PREFIX)objcopy ++*_GCC48_X64_CC_PATH = ENV(GCC48_X64_PREFIX)gcc ++*_GCC48_X64_SLINK_PATH = ENV(GCC48_X64_PREFIX)ar ++*_GCC48_X64_DLINK_PATH = ENV(GCC48_X64_PREFIX)ld ++*_GCC48_X64_ASLDLINK_PATH = ENV(GCC48_X64_PREFIX)ld ++*_GCC48_X64_ASM_PATH = ENV(GCC48_X64_PREFIX)gcc ++*_GCC48_X64_PP_PATH = ENV(GCC48_X64_PREFIX)gcc ++*_GCC48_X64_VFRPP_PATH = ENV(GCC48_X64_PREFIX)gcc ++*_GCC48_X64_ASLCC_PATH = ENV(GCC48_X64_PREFIX)gcc ++*_GCC48_X64_ASLPP_PATH = ENV(GCC48_X64_PREFIX)gcc ++*_GCC48_X64_RC_PATH = ENV(GCC48_X64_PREFIX)objcopy + + *_GCC48_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 + *_GCC48_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_ASLDLINK_FLAGS) -m elf_x86_64 +@@ -5055,7 +5037,7 @@ + #################################################################################### + *_GCC49_*_*_FAMILY = GCC + +-*_GCC49_*_MAKE_PATH = DEF(GCC49_IA32_PREFIX)make ++*_GCC49_*_MAKE_PATH = make + *_GCC49_*_*_DLL = ENV(GCC49_DLL) + *_GCC49_*_ASL_PATH = DEF(UNIX_IASL_BIN) + +@@ -5070,17 +5052,17 @@ + ################## + # GCC49 IA32 definitions + ################## +-*_GCC49_IA32_OBJCOPY_PATH = DEF(GCC49_IA32_PREFIX)objcopy +-*_GCC49_IA32_CC_PATH = DEF(GCC49_IA32_PREFIX)gcc +-*_GCC49_IA32_SLINK_PATH = DEF(GCC49_IA32_PREFIX)ar +-*_GCC49_IA32_DLINK_PATH = DEF(GCC49_IA32_PREFIX)ld +-*_GCC49_IA32_ASLDLINK_PATH = DEF(GCC49_IA32_PREFIX)ld +-*_GCC49_IA32_ASM_PATH = DEF(GCC49_IA32_PREFIX)gcc +-*_GCC49_IA32_PP_PATH = DEF(GCC49_IA32_PREFIX)gcc +-*_GCC49_IA32_VFRPP_PATH = DEF(GCC49_IA32_PREFIX)gcc +-*_GCC49_IA32_ASLCC_PATH = DEF(GCC49_IA32_PREFIX)gcc +-*_GCC49_IA32_ASLPP_PATH = DEF(GCC49_IA32_PREFIX)gcc +-*_GCC49_IA32_RC_PATH = DEF(GCC49_IA32_PREFIX)objcopy ++*_GCC49_IA32_OBJCOPY_PATH = ENV(GCC49_IA32_PREFIX)objcopy ++*_GCC49_IA32_CC_PATH = ENV(GCC49_IA32_PREFIX)gcc ++*_GCC49_IA32_SLINK_PATH = ENV(GCC49_IA32_PREFIX)ar ++*_GCC49_IA32_DLINK_PATH = ENV(GCC49_IA32_PREFIX)ld ++*_GCC49_IA32_ASLDLINK_PATH = ENV(GCC49_IA32_PREFIX)ld ++*_GCC49_IA32_ASM_PATH = ENV(GCC49_IA32_PREFIX)gcc ++*_GCC49_IA32_PP_PATH = ENV(GCC49_IA32_PREFIX)gcc ++*_GCC49_IA32_VFRPP_PATH = ENV(GCC49_IA32_PREFIX)gcc ++*_GCC49_IA32_ASLCC_PATH = ENV(GCC49_IA32_PREFIX)gcc ++*_GCC49_IA32_ASLPP_PATH = ENV(GCC49_IA32_PREFIX)gcc ++*_GCC49_IA32_RC_PATH = ENV(GCC49_IA32_PREFIX)objcopy + + *_GCC49_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 + *_GCC49_IA32_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -m elf_i386 +@@ -5097,17 +5079,17 @@ + ################## + # GCC49 X64 definitions + ################## +-*_GCC49_X64_OBJCOPY_PATH = DEF(GCC49_X64_PREFIX)objcopy +-*_GCC49_X64_CC_PATH = DEF(GCC49_X64_PREFIX)gcc +-*_GCC49_X64_SLINK_PATH = DEF(GCC49_X64_PREFIX)ar +-*_GCC49_X64_DLINK_PATH = DEF(GCC49_X64_PREFIX)ld +-*_GCC49_X64_ASLDLINK_PATH = DEF(GCC49_X64_PREFIX)ld +-*_GCC49_X64_ASM_PATH = DEF(GCC49_X64_PREFIX)gcc +-*_GCC49_X64_PP_PATH = DEF(GCC49_X64_PREFIX)gcc +-*_GCC49_X64_VFRPP_PATH = DEF(GCC49_X64_PREFIX)gcc +-*_GCC49_X64_ASLCC_PATH = DEF(GCC49_X64_PREFIX)gcc +-*_GCC49_X64_ASLPP_PATH = DEF(GCC49_X64_PREFIX)gcc +-*_GCC49_X64_RC_PATH = DEF(GCC49_X64_PREFIX)objcopy ++*_GCC49_X64_OBJCOPY_PATH = ENV(GCC49_X64_PREFIX)objcopy ++*_GCC49_X64_CC_PATH = ENV(GCC49_X64_PREFIX)gcc ++*_GCC49_X64_SLINK_PATH = ENV(GCC49_X64_PREFIX)ar ++*_GCC49_X64_DLINK_PATH = ENV(GCC49_X64_PREFIX)ld ++*_GCC49_X64_ASLDLINK_PATH = ENV(GCC49_X64_PREFIX)ld ++*_GCC49_X64_ASM_PATH = ENV(GCC49_X64_PREFIX)gcc ++*_GCC49_X64_PP_PATH = ENV(GCC49_X64_PREFIX)gcc ++*_GCC49_X64_VFRPP_PATH = ENV(GCC49_X64_PREFIX)gcc ++*_GCC49_X64_ASLCC_PATH = ENV(GCC49_X64_PREFIX)gcc ++*_GCC49_X64_ASLPP_PATH = ENV(GCC49_X64_PREFIX)gcc ++*_GCC49_X64_RC_PATH = ENV(GCC49_X64_PREFIX)objcopy + + *_GCC49_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 + *_GCC49_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -m elf_x86_64 diff --git a/edk2.spec b/edk2.spec index 17bb59c..dad2d20 100644 --- a/edk2.spec +++ b/edk2.spec @@ -4,7 +4,7 @@ Name: edk2 Version: %{edk2_date}git%{edk2_githash} -Release: 1%{dist} +Release: 2%{dist} Summary: EFI Development Kit II Group: Applications/Emulators @@ -31,13 +31,13 @@ Patch0007: 0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch Patch0008: 0008-MdeModulePkg-TerminalDxe-add-other-text-resolutions.patch # Support qemu 'secondary-vga'. Not send upstream yet Patch0009: 0009-pick-up-any-display-device-not-only-vga.patch +# Tweak the tools_def to support cross-compiling. These files are meant +# for customization, so this is not upstream. +Patch0010: 0010-prepare-tools_def-for-x86-cross.patch # -# actual firmware builds are done on x86_64 and aarch64, -# see all the %ifarch blocks below. -# -# edk2-tools builds are done on all x86 and arm. -# in theory they should build everywhere without much trouble, but +# actual firmware builds support cross-compiling. edk2-tools +# in theory should build everywhere without much trouble, but # in practice the edk2 build system barfs on archs it doesn't know # (such as ppc), so lets limit things to the known-good ones. # @@ -46,13 +46,12 @@ ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 BuildRequires: python BuildRequires: libuuid-devel BuildRequires: gcc-aarch64-linux-gnu -%ifarch x86_64 +BuildRequires: gcc-x86_64-linux-gnu BuildRequires: iasl BuildRequires: nasm BuildRequires: dosfstools BuildRequires: mtools BuildRequires: genisoimage -%endif %description @@ -85,7 +84,6 @@ BuildArch: noarch This package documents the tools that are needed to build EFI executables and ROMs using the GNU tools. -%ifarch x86_64 %package ovmf Summary: Open Virtual Machine Firmware License: BSD and OpenSSL @@ -94,7 +92,6 @@ BuildArch: noarch %description ovmf EFI Development Kit II Open Virtual Machine Firmware (x64) -%endif %package aarch64 Summary: AARCH64 Virtual Machine Firmware @@ -153,8 +150,9 @@ unset MAKEFLAGS make -C BaseTools #%{?_smp_mflags} sed -i -e 's/-Werror//' Conf/tools_def.txt -%ifarch x86_64 # build ovmf +export GCC49_IA32_PREFIX="x86_64-linux-gnu-" +export GCC49_X64_PREFIX="x86_64-linux-gnu-" mkdir -p ovmf build ${OVMF_FLAGS} -a X64 -p OvmfPkg/OvmfPkgX64.dsc cp Build/OvmfX64/*/FV/OVMF_*.fd ovmf @@ -168,7 +166,8 @@ cp Build/Ovmf3264/*/FV/OVMF_CODE.fd ovmf/OVMF_CODE.secboot.fd cp Build/Ovmf3264/*/X64/Shell.efi ovmf cp Build/Ovmf3264/*/X64/EnrollDefaultKeys.efi ovmf sh %{SOURCE3} ovmf -%endif +unset GCC49_IA32_PREFIX +unset GCC49_X64_PREFIX # build arm/aarch64 firmware export GCC49_AARCH64_PREFIX="aarch64-linux-gnu-" @@ -205,9 +204,7 @@ exec python '%{_datadir}/%{name}/Python/$i/$i.py' "$@"' > %{buildroot}%{_bindir} done mkdir -p %{buildroot}/usr/share/%{name} -%ifarch x86_64 cp -a ovmf %{buildroot}/usr/share/%{name} -%endif cp -a aarch64 %{buildroot}/usr/share/%{name} @@ -251,7 +248,6 @@ cp -a aarch64 %{buildroot}/usr/share/%{name} %files tools-doc %doc BaseTools/UserManuals/*.rtf -%ifarch x86_64 %files ovmf %license OvmfPkg/License.txt %license LICENSE.openssl @@ -261,7 +257,6 @@ cp -a aarch64 %{buildroot}/usr/share/%{name} /usr/share/%{name}/ovmf/OVMF*.fd /usr/share/%{name}/ovmf/*.efi /usr/share/%{name}/ovmf/*.iso -%endif %files aarch64 %license ArmVirtPkg/License.txt @@ -272,6 +267,9 @@ cp -a aarch64 %{buildroot}/usr/share/%{name} %changelog +* Fri Jul 8 2016 Paolo Bonzini - 20160418gita8c39ba-2 +- Distribute edk2-ovmf on aarch64 + * Sat May 21 2016 Cole Robinson - 20160418gita8c39ba-1 - Distribute edk2-aarch64 on x86 (bz #1338027)