On 9 November 2015 at 06:51, Hao, Xudong <[email protected]> wrote: >> -----Original Message----- >> From: Ard Biesheuvel [mailto:[email protected]] >> Sent: Monday, November 9, 2015 1:43 PM >> To: Hao, Xudong <[email protected]> >> Cc: [email protected] >> Subject: Re: [edk2] edk2 build failure on GCC44 >> >> On 9 November 2015 at 02:34, Hao, Xudong <[email protected]> wrote: >> > Hi, all >> > >> > I'm using edk2 as Xen HVM guest firmware, but the edk2 build fail with GCC >> 4.4.7 (RHEL6.5). I clone the edk2 source from >> git://git.code.sf.net/p/tianocore/edk2, and the commit is >> a100d0073b365bc4f0ac95d30934e639e31175ac. >> > >> > Command: OvmfPkg/build.sh -a X64 -b RELEASE -n 4 The whole compile log >> > attached, the simple error log is: >> > ... >> > /home/hao/src/tianocore-edk2/BaseTools/Scripts/GccBase.lds:1: >> > undefined symbol `PECOFF_HEADER_SIZE' referenced in expression >> > make: *** >> > [/home/hao/src/tianocore- >> edk2/Build/OvmfX64/RELEASE_GCC44/X64/OvmfPkg/Sec/SecMain/DEBUG/Sec >> Main.dll] Error 1 ... >> > >> >> I don't see the attachment. Could you paste the ld command line (the one that >> references PECOFF_HEADER_SIZE') from the build log? >> > > Ard, > > Thanks response. The command line is: > "ld" -o > /home/hao/src/tianocore-edk2/Build/OvmfX64/RELEASE_GCC44/X64/OvmfPkg/Sec/SecMain/DEBUG/SecMain.dll > -nostdlib -n -q --gc-sections -z c ommon-page-size=0x20 --entry > _ModuleEntryPoint -u _ModuleEntryPoint -Map > /home/hao/src/tianocore-edk2/Build/OvmfX64/RELEASE_GCC44/X64/OvmfPkg > /Sec/SecMain/DEBUG/SecMain.map -melf_x86_64 --oformat=elf64-x86-64 > --start-group @/home/hao/src/tianocore-edk2/Build/OvmfX64/RELEASE_GCC44/X > 64/OvmfPkg/Sec/SecMain/OUTPUT/static_library_files.lst --end-group > --script=/home/hao/src/tianocore-edk2/BaseTools/Scripts/GccBase.lds --defs > ym=PECOFF_HEADER_SIZE=0x228 >
Could you try the following patch? Don't forget to remove Conf/tools_def.tx and re-run 'source edksetup.sh' after apply it. -------------8<----------------- diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index 1fef6af5464a..db08e252d2b9 100644 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -3844,9 +3844,9 @@ DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-p DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -n -q --gc-sections -z common-page-size=0x20 DEFINE GCC44_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) --entry ReferenceAcpiTable -u ReferenceAcpiTable DEFINE GCC44_IA32_X64_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map -DEFINE GCC44_IA32_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) --defsym=PECOFF_HEADER_SIZE=0x220 +DEFINE GCC44_IA32_DLINK2_FLAGS = --defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON) DEFINE GCC44_X64_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_FLAGS) -melf_x86_64 --oformat=elf64-x86-64 -DEFINE GCC44_X64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) --defsym=PECOFF_HEADER_SIZE=0x228 +DEFINE GCC44_X64_DLINK2_FLAGS = --defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_DLINK2_FLAGS_COMMON) DEFINE GCC44_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEFINE GCC45_IA32_CC_FLAGS = DEF(GCC44_IA32_CC_FLAGS) _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

