From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: bob.c.feng@intel.com) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by groups.io with SMTP; Mon, 23 Sep 2019 19:25:12 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Sep 2019 19:25:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,542,1559545200"; d="scan'208";a="363833568" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga005.jf.intel.com with ESMTP; 23 Sep 2019 19:25:11 -0700 Received: from fmsmsx112.amr.corp.intel.com (10.18.116.6) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 23 Sep 2019 19:25:11 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by FMSMSX112.amr.corp.intel.com (10.18.116.6) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 23 Sep 2019 19:25:11 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.32]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.140]) with mapi id 14.03.0439.000; Tue, 24 Sep 2019 10:25:09 +0800 From: "Bob Feng" To: "devel@edk2.groups.io" , "dann.frazier@canonical.com" CC: "Gao, Liming" Subject: Re: [edk2-devel] [Patch 05/10 V8] BaseTools: Enable Multiple Process AutoGen Thread-Topic: [edk2-devel] [Patch 05/10 V8] BaseTools: Enable Multiple Process AutoGen Thread-Index: AQHVTNgzPQOcgQhRWEeXfHANAIFjDKc5zC0AgACWLtA= Date: Tue, 24 Sep 2019 02:25:08 +0000 Message-ID: <08650203BA1BD64D8AD9B6D5D74A85D161538F46@SHSMSX104.ccr.corp.intel.com> References: <20190807042537.11928-1-bob.c.feng@intel.com> <20190807042537.11928-6-bob.c.feng@intel.com> <20190924011836.GA17237@xps13.dannf> In-Reply-To: <20190924011836.GA17237@xps13.dannf> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: bob.c.feng@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Dann, Thanks for raising this issue.=20 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=20 -----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 Cc: Gao, Liming Subject: Re: [edk2-devel] [Patch 05/10 V8] BaseTools: Enable Multiple Proc= ess AutoGen On Wed, Aug 07, 2019 at 12:25:32PM +0800, Bob Feng wrote: > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D1875 >=20 > Assign the Module AutoGen tasks into multiple sub process. >=20 > Cc: Liming Gao > Signed-off-by: Bob Feng > --- > .../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=20 > 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-gnu= eabihf-gcc" -o /home/dannf/git/edk2.debug/Build/ArmVirtQemu-ARM/DEBUG_GCC49= /ARM/MdeModulePkg/Logo/LogoDxe/DEBUG/LogoDxe.dll -Wl,--emit-relocs -nostdli= b -Wl,--gc-sections -u _ModuleEntryPoint -Wl,-e,_ModuleEntryPoint,-Map,/hom= e/dannf/git/edk2.debug/Build/ArmVirtQemu-ARM/DEBUG_GCC49/ARM/MdeModulePkg/L= ogo/LogoDxe/DEBUG/LogoDxe.map -z common-page-size=3D0x20 -Wl,--pic-veneer -= Wl,--oformat=3Delf32-littlearm -z common-page-size=3D0x1000 -Wl,--start-gro= up,@/home/dannf/git/edk2.debug/Build/ArmVirtQemu-ARM/DEBUG_GCC49/ARM/MdeMod= ulePkg/Logo/LogoDxe/OUTPUT/static_library_files.lst,--end-group -mthumb -ma= rch=3Darmv7-a -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall = -Werror -Wno-array-bounds -include AutoGen.h -fno-common -mlittle-endian -m= abi=3Daapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sec= tions -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=3Dsoft -fno-pic= -fno-pie -fstack-protector -mword-relocations -O0 -DDISABLE_NEW_DEPRECATED= _INTERFACES -Wl,--script=3D/home/dannf/git/edk2.debug/BaseTools/Scripts/Gcc= Base.lds -Wl,--defsym=3DPECOFF_HEADER_SIZE=3D0x220 /usr/lib/gcc-cross/arm-linux-gnueabihf/9/../../../../arm-linux-gnueabihf/b= in/ld: error: source object /home/dannf/git/edk2.debug/Build/ArmVirtQemu-AR= M/DEBUG_GCC49/ARM/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint/= OUTPUT/UefiDriverEntryPoint.lib(DriverEntryPoint.obj) has EABI version 5, b= ut 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/b= in/ld: failed to merge target specific data of file /home/dannf/git/edk2.de= bug/Build/ArmVirtQemu-ARM/DEBUG_GCC49/ARM/MdePkg/Library/UefiDriverEntryPoi= nt/UefiDriverEntryPoint/OUTPUT/UefiDriverEntryPoint.lib(DriverEntryPoint.ob= j) /usr/lib/gcc-cross/arm-linux-gnueabihf/9/../../../../arm-linux-gnueabihf/b= in/ld: error: source object /home/dannf/git/edk2.debug/Build/ArmVirtQemu-AR= M/DEBUG_GCC49/ARM/MdeModulePkg/Logo/LogoDxe/OUTPUT/LogoDxe.lib(AutoGen.obj)= has EABI version 5, but target /home/dannf/git/edk2.debug/Build/ArmVirtQem= u-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 s= tatic_library_files.list. Previous to this commit, LogoDxehii.lib would app= ear 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/OUT= PUT/LogoDxehii.lib Build/ArmVirtQemu-ARM/DEBUG_GCC49/ARM/MdeModulePkg/Logo/LogoDxe/OUTPUT/Log= oDxehii.lib: ELF 32-bit LSB relocatable, ARM, version 1 (ARM), not stripped -dann