public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "dann frazier" <dann.frazier@canonical.com>
To: devel@edk2.groups.io, bob.c.feng@intel.com
Cc: Liming Gao <liming.gao@intel.com>
Subject: Re: [edk2-devel] [Patch 05/10 V8] BaseTools: Enable Multiple Process AutoGen
Date: Mon, 23 Sep 2019 19:18:36 -0600	[thread overview]
Message-ID: <20190924011836.GA17237@xps13.dannf> (raw)
In-Reply-To: <20190807042537.11928-6-bob.c.feng@intel.com>

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.gao@intel.com>
> Signed-off-by: Bob Feng <bob.c.feng@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

  reply	other threads:[~2019-09-24  1:18 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-07  4:25 [Patch 00/10 V8] Enable multiple process AutoGen Bob Feng
2019-08-07  4:25 ` [Patch 01/10 V8] BaseTools: Singleton the object to handle build conf file Bob Feng
2019-08-07  4:25 ` [Patch 02/10 V8] BaseTools: Split WorkspaceAutoGen._InitWorker into multiple functions Bob Feng
2019-08-07  4:25 ` [Patch 03/10 V8] BaseTools: Add functions to get platform scope build options Bob Feng
2019-08-07  4:25 ` [Patch 04/10 V8] BaseTools: Decouple AutoGen Objects Bob Feng
2019-08-22  8:04   ` [edk2-devel] " Gary Lin
2019-08-22  8:15     ` Bob Feng
2019-08-22  8:26       ` Gary Lin
2019-08-07  4:25 ` [Patch 05/10 V8] BaseTools: Enable Multiple Process AutoGen Bob Feng
2019-09-24  1:18   ` dann frazier [this message]
2019-09-24  2:25     ` [edk2-devel] " Bob Feng
2019-09-24 12:49       ` dann frazier
2019-08-07  4:25 ` [Patch 06/10 V8] BaseTools: Add shared data for processes Bob Feng
2019-08-07  4:25 ` [Patch 07/10 V8] BaseTools: Add LogAgent to support multiple process Autogen Bob Feng
2019-08-07  4:25 ` [Patch 08/10 V8] BaseTools: Move BuildOption parser out of build.py Bob Feng
2019-08-07  4:25 ` [Patch 09/10 V8] BaseTools: Add the support for python 2 Bob Feng
2019-08-07  4:25 ` [Patch 10/10 V8] BaseTools: Enable block queue log agent Bob Feng
2019-08-08 13:08 ` [edk2-devel] [Patch 00/10 V8] Enable multiple process AutoGen Laszlo Ersek
2019-08-08 13:45   ` Leif Lindholm
2019-08-08 15:38     ` Bob Feng
2019-08-08 22:18       ` Laszlo Ersek
2019-08-08 23:29         ` Laszlo Ersek
2019-08-09  0:49           ` Liming Gao
2019-08-09  1:37             ` Bob Feng
2019-08-09 12:54               ` Laszlo Ersek
2019-08-09 13:28                 ` Leif Lindholm
2019-08-09 14:54                   ` Liming Gao
2019-08-09 15:31                     ` Leif Lindholm
2019-08-09 15:09                   ` Bob Feng
2019-08-09 14:42                 ` Bob Feng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190924011836.GA17237@xps13.dannf \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox