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] -=-=-=-=-=-=-=-=-=-=-=-