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

Reply via email to