Hi Dann,

Thanks for raising this issue. 

Would you provide the static_library_files.list file, so that I can have a 
check?

As this patch was pushed month ago, I'd like to ask if this build failure 
always happens since this patch was pushed?

Thanks,
Bob 
-----Original Message-----
From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of dann 
frazier
Sent: Tuesday, September 24, 2019 9:19 AM
To: devel@edk2.groups.io; Feng, Bob C <bob.c.f...@intel.com>
Cc: Gao, Liming <liming....@intel.com>
Subject: Re: [edk2-devel] [Patch 05/10 V8] BaseTools: Enable Multiple Process 
AutoGen

On Wed, Aug 07, 2019 at 12:25:32PM +0800, Bob Feng wrote:
> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1875
> 
> Assign the Module AutoGen tasks into multiple sub process.
> 
> Cc: Liming Gao <liming....@intel.com>
> Signed-off-by: Bob Feng <bob.c.f...@intel.com>
> ---
>  .../Source/Python/AutoGen/AutoGenWorker.py    | 191 ++++++++++++++++++
>  BaseTools/Source/Python/AutoGen/DataPipe.py   |  17 +-
>  BaseTools/Source/Python/AutoGen/GenC.py       |   4 +-
>  .../Source/Python/AutoGen/ModuleAutoGen.py    |   2 +-
>  .../Source/Python/AutoGen/PlatformAutoGen.py  |  16 +-
>  .../Source/Python/AutoGen/WorkspaceAutoGen.py |   6 +-
>  BaseTools/Source/Python/build/build.py        | 125 ++++++++----
>  7 files changed, 306 insertions(+), 55 deletions(-)  create mode 
> 100644 BaseTools/Source/Python/AutoGen/AutoGenWorker.py

I've bisected a regression building the ArmVirt architecture of 
ArmVirtPkg/ArmVirtQemu.dsc to this commit.

$ build -a ARM -p ArmVirtPkg/ArmVirtQemu.dsc -t GCC49 [...] 
"arm-linux-gnueabihf-gcc" -o 
/home/dannf/git/edk2.debug/Build/ArmVirtQemu-ARM/DEBUG_GCC49/ARM/MdeModulePkg/Logo/LogoDxe/DEBUG/LogoDxe.dll
 -Wl,--emit-relocs -nostdlib -Wl,--gc-sections -u _ModuleEntryPoint 
-Wl,-e,_ModuleEntryPoint,-Map,/home/dannf/git/edk2.debug/Build/ArmVirtQemu-ARM/DEBUG_GCC49/ARM/MdeModulePkg/Logo/LogoDxe/DEBUG/LogoDxe.map
 -z common-page-size=0x20 -Wl,--pic-veneer -Wl,--oformat=elf32-littlearm -z 
common-page-size=0x1000 
-Wl,--start-group,@/home/dannf/git/edk2.debug/Build/ArmVirtQemu-ARM/DEBUG_GCC49/ARM/MdeModulePkg/Logo/LogoDxe/OUTPUT/static_library_files.lst,--end-group
 -mthumb -march=armv7-a -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing 
-Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common -mlittle-endian 
-mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections 
-fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft 
-fno-pic -fno-pie -fstack-protector -mword-relocations -O0 
-DDISABLE_NEW_DEPRECATED_INTERFACES 
-Wl,--script=/home/dannf/git/edk2.debug/BaseTools/Scripts/GccBase.lds 
-Wl,--defsym=PECOFF_HEADER_SIZE=0x220
/usr/lib/gcc-cross/arm-linux-gnueabihf/9/../../../../arm-linux-gnueabihf/bin/ld:
 error: source object 
/home/dannf/git/edk2.debug/Build/ArmVirtQemu-ARM/DEBUG_GCC49/ARM/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint/OUTPUT/UefiDriverEntryPoint.lib(DriverEntryPoint.obj)
 has EABI version 5, but target 
/home/dannf/git/edk2.debug/Build/ArmVirtQemu-ARM/DEBUG_GCC49/ARM/MdeModulePkg/Logo/LogoDxe/DEBUG/LogoDxe.dll
 has EABI version 0
/usr/lib/gcc-cross/arm-linux-gnueabihf/9/../../../../arm-linux-gnueabihf/bin/ld:
 failed to merge target specific data of file 
/home/dannf/git/edk2.debug/Build/ArmVirtQemu-ARM/DEBUG_GCC49/ARM/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint/OUTPUT/UefiDriverEntryPoint.lib(DriverEntryPoint.obj)
/usr/lib/gcc-cross/arm-linux-gnueabihf/9/../../../../arm-linux-gnueabihf/bin/ld:
 error: source object 
/home/dannf/git/edk2.debug/Build/ArmVirtQemu-ARM/DEBUG_GCC49/ARM/MdeModulePkg/Logo/LogoDxe/OUTPUT/LogoDxe.lib(AutoGen.obj)
 has EABI version 5, but target 
/home/dannf/git/edk2.debug/Build/ArmVirtQemu-ARM/DEBUG_GCC49/ARM/MdeModulePkg/Logo/LogoDxe/DEBUG/LogoDxe.dll
 has EABI version 0 [...]

It looks like this maybe a side-effect of the ordering of the entries in 
static_library_files.list. Previous to this commit, LogoDxehii.lib would appear 
near the end of the file - now it is near the beginning.
Moving it back to the end of the file allows the linking to continue.

Also, is it expected that this does not report being an EABI5 object?
$ file 
Build/ArmVirtQemu-ARM/DEBUG_GCC49/ARM/MdeModulePkg/Logo/LogoDxe/OUTPUT/LogoDxehii.lib
Build/ArmVirtQemu-ARM/DEBUG_GCC49/ARM/MdeModulePkg/Logo/LogoDxe/OUTPUT/LogoDxehii.lib:
 ELF 32-bit LSB relocatable, ARM, version 1 (ARM), not stripped

 -dann




-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#47904): https://edk2.groups.io/g/devel/message/47904
Mute This Topic: https://groups.io/mt/32779332/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to