> -----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

Reply via email to