Ard:
  I add my comments. 

Thanks
Liming
>-----Original Message-----
>From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org]
>Sent: Saturday, April 27, 2019 12:33 AM
>To: edk2-devel-groups-io <devel@edk2.groups.io>; Gao, Liming
><liming....@intel.com>
>Subject: Re: [edk2-devel] [Patch 0/7] Add new CLANG8ELF tool chain for new
>LLVM/CLANG8
>
>On Fri, 26 Apr 2019 at 16:43, Liming Gao <liming....@intel.com> wrote:
>>
>> BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1603
>> LLVM/CLANG8 formal release
>http://releases.llvm.org/download.html#8.0.0
>> It can be downloaded and installed in Windows/Linux/Mac OS.
>>
>> CLANG8ELF tool chain is added to generate ELF image, and convert to
>PE/COFF.
>> On Windows OS, set CLANG_HOST_BIN=n, set CLANG8_BIN=LLVM installed
>directory
>> CLANG_HOST_BIN is used CLANG_HOST_PREFIX. Prefix n is for nmake.
>> For example:
>>   set CLANG_HOST_BIN=n
>>   set CLANG8_BIN=C:\Program Files\LLVM\bin\
>> On Linux/Mac, export CLANG8_BIN=LLVM installed directory,
>CLANG_HOST_BIN is
>> not required, because there is no prefix for make.
>> For example:
>>   export CLANG8_BIN=/home/clang8/bin/
>>
>> This tool chain can be used to compile the firmware code. On windows OS,
>> Visual Studio is still required to compile BaseTools C tools and
>> provide nmake.exe for makefile. On Linux/Mac OS, gcc is used to compile
>> BaseTools C tools. make is used for makefile.
>>
>> This tool chain is verified on OVMF Ia32, X64 and Ia32X64 to boot Shell.
>> This tool chain is verified in Windows/Linux and Mac OS.
>>
>
>Hello Liming,
>
>This series confuses me. The existing CLANGxx toolchains already use
>GenFw and ELF to PE/COFF conversion, so the name CLANG8ELF is
>misleading.
>
LLVM/CLANG8.0 compiler supports to generate PE image or ELF image. This tool 
chain is to generate ELF image and be converted to PE image. I am investigating 
another tool chain with CLANG8.0 to directly generate PE image. To 
differentiate them, I use the tool chain name CLANG8ELF and CLANG8PE for them.  
>Also, it seems that the primary difference is using LLD instead of GNU
>ld, but this has nothing to do with the Clang version.
>
>What is the benefit of using LLD over GNU ld? It seems we are working
>around various incompatibilities, and I think this is only justified
>if LLD has some benefit over GNU ld.
LLD is part of LLVM/CLANG8 tool set. User can get all required compilers and 
linkers from http://releases.llvm.org/download.html#8.0.0.
LLVM8 release includes Windows/Linux/Mac version. User can download it and 
install them together. This tool chain is the unified tool
chain to be used in Windows/Linux/Mac OS. 
>
>Thanks,
>Ard.
>
>
>
>> Liming Gao (7):
>>   BaseTools: Add ClangBase.lds for CLANG8 tool chain with max-page-size
>>   BaseTools GenFw: Support CLANG8ELF with conversion ELF to PE/COFF
>>     image
>>   BaseTools: Update build_rule.template for ASLC rule with full C flags
>>   BaseTools: Update build_rule to skip CLANG resource section generation
>>   BaseTools: Update tools_def.template to directly refer to AutoGen.h
>>   BaseTools: Add new CLANG8ELF tool chain for new LLVM/CLANG8
>>   OvmfPkg: Update DSC/FDF to support CLANG8ELF tool chain
>>
>>  BaseTools/Source/C/GenFw/Elf32Convert.c |  12 +---
>>  BaseTools/Source/C/GenFw/Elf64Convert.c |  11 +--
>>  BaseTools/Conf/build_rule.template      |   8 +--
>>  BaseTools/Conf/tools_def.template       | 121
>+++++++++++++++++++++++++++++---
>>  BaseTools/Scripts/ClangBase.lds         |  79 +++++++++++++++++++++
>>  OvmfPkg/OvmfPkgIa32.dsc                 |   4 +-
>>  OvmfPkg/OvmfPkgIa32.fdf                 |   2 +-
>>  OvmfPkg/OvmfPkgIa32X64.dsc              |   4 +-
>>  OvmfPkg/OvmfPkgIa32X64.fdf              |   2 +-
>>  OvmfPkg/OvmfPkgX64.dsc                  |   4 +-
>>  OvmfPkg/OvmfPkgX64.fdf                  |   2 +-
>>  11 files changed, 213 insertions(+), 36 deletions(-)
>>  create mode 100644 BaseTools/Scripts/ClangBase.lds
>>
>> --
>> 2.13.0.windows.1
>>
>>
>> 
>>

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

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

Reply via email to