> -----Original Message----- > From: Ard Biesheuvel [mailto:[email protected]] > Sent: Monday, November 9, 2015 2:45 PM > To: Hao, Xudong <[email protected]> > Cc: [email protected] > Subject: Re: [edk2] edk2 build failure on GCC44 > > 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/Sec > Main.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. >
Yes, I've tried. This patch works for me. Do you have plan to merge this patch in upstream? Thanks, Xudong > > -------------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

