[edk2] clang + ld build with .data section link error in X64 binary

2015-12-07 Thread Shi, Steven
Hello, I'm working on enabling the standard clang3.7 build for MinnowMax open source firmware. I meet an warning when use GNU ld linker to generate X64 image: "ld: warning: section `.data' type changed to PROGBITS" as below. This warning only appears on X64 binaries linking, and not on the i32

Re: [edk2] edk2 llvm branch

2016-06-13 Thread Shi, Steven
Hi Andrew, Good news! After enhance the GenFw tool, I finally enable the clang LTO build on edk2 and pass test on the OVMF three platforms (OvmfPkgIa32.dsc, OvmfPkgX64.dsc, OvmfPkgIa32X64.dsc) in my side . Below is the code size comparing data between VS2015x86 and CLANGLTO38. You can see they

Re: [edk2] edk2 llvm branch

2016-05-30 Thread Shi, Steven
Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: af...@apple.com [mailto:af...@apple.com] > Sent: Tuesday, May 31, 2016 1:26 AM > To: Shi, Steven <steven@intel.com> > Cc: Kinney, Michael D <michae

Re: [edk2] ASSERT and static code analysis

2016-06-01 Thread Shi, Steven
Hi Marvin, For Clang Static Analyzer, you might look at this edk2 llvm branch. https://github.com/shijunjing/edk2/tree/llvm There is a new tool chain dedicated for clang scan-build checkers: CLANGSCAN38: Base on CLANG38 to seamlessly integrate Clang scan-build analyzer infrastructure into

Re: [edk2] edk2 llvm branch

2016-05-29 Thread Shi, Steven
, 2016 12:53 AM To: Shi, Steven <steven@intel.com> Cc: Kinney, Michael D <michael.d.kin...@intel.com>; edk2-devel@lists.01.org; Justen, Jordan L <jordan.l.jus...@intel.com> Subject: Re: [edk2] edk2 llvm branch On May 25, 2016, at 9:43 AM, Shi, Steven <steven@in

Re: [edk2] edk2 llvm branch

2016-05-11 Thread Shi, Steven
\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 From: af...@apple.com [mailto:af...@apple.com] Sent: Wednesday, May 11, 2016 2:03 AM To: Shi, Steven <steven@intel.com> Cc: edk2-devel@lists.01.org Subject: Re: [edk2] edk2 llvm branch On May 10, 2016, at 8:05 AM, Shi, Steven <st

Re: [edk2] edk2 llvm branch

2016-05-11 Thread Shi, Steven
?id=20070 BTW, does XCODE linker have linux version? If yes, I'd like to try it to co-work with clang 3.8 as CC compiler. Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: af...@apple.com [mailto:af...@apple.com]

Re: [edk2] edk2 llvm branch

2016-05-12 Thread Shi, Steven
2 iNet: 821-6522 > -Original Message- > From: af...@apple.com [mailto:af...@apple.com] > Sent: Thursday, May 12, 2016 2:42 AM > To: Shi, Steven <steven@intel.com> > Cc: edk2-devel@lists.01.org > Subject: Re: [edk2] edk2 llvm branch > > > > On May 11, 2016,

Re: [edk2] edk2 llvm branch

2016-05-12 Thread Shi, Steven
en Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: af...@apple.com [mailto:af...@apple.com] > Sent: Thursday, May 12, 2016 11:15 PM > To: Shi, Steven <steven@intel.com> > Cc: edk2-devel@lists.01.org > Subject: Re:

[edk2] Where is the edk2-devel posting archives?

2016-05-18 Thread Shi, Steven
Hello, Where can I find the edk2 prior postings? The below Edk2-devel Archives link is empty. https://lists.01.org/pipermail/edk2-devel/ [cid:image001.png@01D1B125.4323EFF0] Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522

Re: [edk2] edk2 llvm branch

2016-05-10 Thread Shi, Steven
Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: af...@apple.com [mailto:af...@apple.com] > Sent: Tuesday, May 10, 2016 1:12 PM > To: Shi, Steven <steven@intel.com> > Cc: edk2-devel@lists.01.org >

[edk2] edk2 llvm branch

2016-05-09 Thread Shi, Steven
Hello, I forked a edk2 branch to apply the LLVM compiler and tool chain technologies (http://www.llvm.org/) on the edk2 codebase in below link. If you are also interested in the LLVM/Clang support, please take a look. I welcome and appreciate any feedback or contribution to this branch.

Re: [edk2] [PATCH v2 2/7] BaseTools-GenFw:Add new x86_64 Elf relocation types for PIC/PIE code

2016-08-01 Thread Shi, Steven
> On 1 August 2016 at 09:19, Shi, Steven > <steven@intel.com<mailto:steven@intel.com>> wrote: > >> >> > >> >> The fact that it works does not make it safe. Having multiple fixups > >> >> for the same symbol in the .relo

Re: [edk2] [PATCH v2 2/7] BaseTools-GenFw:Add new x86_64 Elf relocation types for PIC/PIE code

2016-07-31 Thread Shi, Steven
> > > > That was not my point. With your code, how many > > EFI_IMAGE_REL_BASED_DIR64 fixups are added to the .reloc section for > > the GOT entry of 'n'? > > > > int n; > > int f () { return n; } > > int g () { return n; } > > int h () { return n; } [Steven]: If the above global " n " need

Re: [edk2] [PATCH v2 2/7] BaseTools-GenFw:Add new x86_64 Elf relocation types for PIC/PIE code

2016-08-01 Thread Shi, Steven
> >> > >> I am also concerned about the GOTPCRELX/REX_GOTPCRELX relocations. > >> Reading the x86_64 ABI docs, it appears that these may refer to > >> instructions that have been modified by the linker. In that case, how > >> do we deal with the relocation? Also, according to the doc, mov > >>

Re: [edk2] [PATCH v2 2/7] BaseTools-GenFw:Add new x86_64 Elf relocation types for PIC/PIE code

2016-08-01 Thread Shi, Steven
> >> > >> The fact that it works does not make it safe. Having multiple fixups > >> for the same symbol in the .reloc section is a problem, and so is > >> reapplying GOTPCRELX to places where the original instruction has been > >> replaced by the linker. > >> > > [Steven]: I still don't understand

Re: [edk2] [PATCH v2 2/7] BaseTools-GenFw:Add new x86_64 Elf relocation types for PIC/PIE code

2016-08-01 Thread Shi, Steven
> On 1 August 2016 at 09:54, Shi, Steven <steven@intel.com> wrote: > >> On 1 August 2016 at 09:19, Shi, Steven > <steven@intel.com<mailto:steven@intel.com>> wrote: > >> >> >> > >> >> >> The fact that it works d

Re: [edk2] [PATCH v5 0/8] BaseTools: add support for GCC5 in LTO mode

2016-08-01 Thread Shi, Steven
Ard, Where can I check out your v5 patch? Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] > Sent: Monday, August 01, 2016 4:01 PM > To: Shi, Steven <steven@

Re: [edk2] [PATCH v2 2/7] BaseTools-GenFw:Add new x86_64 Elf relocation types for PIC/PIE code

2016-07-30 Thread Shi, Steven
> OK. Could we do that in a separate patch? [Steven]: Yes. We could separate it in a new patch. > >> Is this necessary? I would expect the GOT entry itself to be already > >> covered by a R_X86_64_64 relocation, so I don't think there is a need > >> to emit a EFI_IMAGE_REL_BASED_DIR64 PE/COFF

Re: [edk2] [PATCH v2 2/7] BaseTools-GenFw:Add new x86_64 Elf relocation types for PIC/PIE code

2016-08-02 Thread Shi, Steven
> > CoffAddFixup() must be used for absolute symbol references only. These > instructions contain relative symbol references, which are > recalculated in WriteSections64(). > > The only absolute symbol reference is the GOT entry for 'n', and your > code (in WriteRelocations64()) calculates the

Re: [edk2] [PATCH v5 0/8] BaseTools: add support for GCC5 in LTO mode

2016-08-02 Thread Shi, Steven
Ard, Thank you to check in GCC5! Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] > Sent: Tuesday, August 02, 2016 5:03 PM > To: Shi, Steven <steven@intel.com&

Re: [edk2] Build traceback with new CLANG35 toolset

2016-08-02 Thread Shi, Steven
Cran, We will send CLANG38 patch to support X86, and the new CLANG38 patch will base on current GCC5 implementation. FYI. Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On

[edk2] [PATCH v5 0/4] Introduce CLANG38 toolchain in edk2

2016-08-03 Thread Shi, Steven
os OVMF.fd -serial file:serial.log -m 4096 -hda fat:. Shi, Steven (4): BaseTools-Conf:Remove short dash in ar flag for LLVM BaseTools-Conf:Introduce CLANG38 new toolchain for x86 ShellPkg-UefiShellTftpCommandLib: Replace compiler builtin ShellPkg-UefiShellCommandLib: Add EFIAPI in VA_Li

[edk2] [PATCH v5 4/4] ShellPkg-UefiShellCommandLib: Add EFIAPI in VA_List library function

2016-08-03 Thread Shi, Steven
Add EFIAPI in CatPrint library function. Every function which uses variable list need explicit use EFIAPI to force use MS ABI. This change is needed to pass CLANG38 build. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> --- Sh

[edk2] [PATCH v5 1/4] BaseTools-Conf:Remove short dash in ar flag for LLVM

2016-08-03 Thread Shi, Steven
Both binutils ar and LLVM ar support "cr", but LLVM ar doens't support add "-" in the flags, and llvm-ar cannot accept "-cr". So remove the short dash "-" to make llvm archives work. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: St

[edk2] [PATCH v5 2/4] BaseTools-Conf:Introduce CLANG38 new toolchain for x86

2016-08-03 Thread Shi, Steven
n/g++" -DCMAKE_C_COMPILER="/usr/bin/gcc" -DLLVM_BINUTILS_INCDIR=/home/jshi19/binutils-2.26/include $ make -j 5 LLVMgold The LLVMgold.so is in ~/llvm38build/lib/LLVMgold.so Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@i

[edk2] [PATCH v5 3/4] ShellPkg-UefiShellTftpCommandLib: Replace compiler builtin

2016-08-03 Thread Shi, Steven
Use explicit CopyMem to replace compiler builtin to do the structure values assignment. This change is needed to pass CLANG38 build. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> Reviewed-by: Jaben Carsey <jaben.car...@

Re: [edk2] [PATCH 2/4] BaseTools-Conf:Introduce CLANG38 new toolchain for x86

2016-08-03 Thread Shi, Steven
Hello Ard, > > Hello Steven, > > On 3 August 2016 at 08:48, Shi, Steven <steven@intel.com> wrote: > > This adds support for LLVM 3.8.x in LTO mode for IA32 and X64. > > CLANG38 enable LLVM Link Time Optimization (LTO) and code size > > optimization flag

[edk2] [PATCH 4/4] ShellPkg-UefiShellCommandLib: Add EFIAPI in VA_List library function

2016-08-03 Thread Shi, Steven
Add EFIAPI in CatPrint library function. Every function which uses variable list need explicit use EFIAPI to force use MS ABI. This change is needed to pass CLANG38 build. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> --- Sh

[edk2] [PATCH 2/4] BaseTools-Conf:Introduce CLANG38 new toolchain for x86

2016-08-03 Thread Shi, Steven
n/g++" -DCMAKE_C_COMPILER="/usr/bin/gcc" -DLLVM_BINUTILS_INCDIR=/home/jshi19/binutils-2.26/include $ make -j 5 LLVMgold The LLVMgold.so is in ~/llvm38build/lib/LLVMgold.so Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@i

[edk2] [PATCH 0/4] Introduce CLANG38 toolchain in edk2

2016-08-03 Thread Shi, Steven
$ qemu-system-x86_64.exe -bios OVMF.fd -serial file:serial.log -m 4096 -hda fat:. Shi, Steven (4): BaseTools-Conf:Remove short dash in ar flag for LLVM BaseTools-Conf:Introduce CLANG38 new toolchain for x86 ShellPkg-UefiShellTftpCommandLib: Replace compiler builtin ShellPkg

[edk2] [PATCH 1/4] BaseTools-Conf:Remove short dash in ar flag for LLVM

2016-08-03 Thread Shi, Steven
Both binutils ar and LLVM ar support "cr", but LLVM ar doens't support add "-" in the flags, and llvm-ar cannot accept "-cr". So remove the short dash "-" to make llvm archives work. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-

[edk2] [PATCH 3/4] ShellPkg-UefiShellTftpCommandLib: Replace compiler builtin

2016-08-03 Thread Shi, Steven
Use explicit CopyMem to replace compiler builtin to do the structure values assignment. This change is needed to pass CLANG38 build. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> Reviewed-by: Jaben Carsey <jaben.car...@

Re: [edk2] [PATCH] BaseTools X64: fold PLT relocations into simple relative references

2016-08-04 Thread Shi, Steven
OK, it is. But it is a bit not very clear. Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] > Sent: Thursday, August 04, 2016 4:55 PM > To: Shi, St

Re: [edk2] [PATCH] BaseTools X64: fold PLT relocations into simple relative references

2016-08-04 Thread Shi, Steven
Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] > Sent: Thursday, August 04, 2016 4:46 PM > To: Shi, Steven <steven@intel.com>; Zhu, Yonghong > <yonghong@intel.com>; Gao, L

Re: [edk2] [PATCH v2 0/5] MdePkg BaseTools: GCC optimization for X64

2016-07-16 Thread Shi, Steven
Liming <liming....@intel.com>; Shi, Steven <steven@intel.com>; Zhu, > Yonghong <yonghong@intel.com>; Kinney, Michael D > <michael.d.kin...@intel.com>; Justen, Jordan L <jordan.l.jus...@intel.com> > Cc: br...@cran.org.uk; pbonz...@redhat.com; Ard Biesheuve

Re: [edk2] [PATCH 4/5] MdePkg X64: force 'hidden' visibility when building with -fpic

2016-07-16 Thread Shi, Steven
failed Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] > Sent: Thursday, July 14, 2016 9:16 PM > To: Shi, Steven <steven@intel.com>; Zhu, Yonghong > <

Re: [edk2] [PATCH v2 1/7] BaseTools-GenFw:Use EXE flag to check Elf section type

2016-07-16 Thread Shi, Steven
d Biesheuvel [mailto:ard.biesheu...@linaro.org] > Sent: Wednesday, July 13, 2016 11:06 PM > To: Andrew Fish <af...@apple.com> > Cc: Shi, Steven <steven@intel.com>; edk2-devel-01 de...@lists.01.org>; Gao, Liming <liming@intel.com>; Justen, Jordan L > &

Re: [edk2] [PATCH 1/7] BaseTools: Enable three new toolchains

2016-07-11 Thread Shi, Steven
Ronny Chevalier [mailto:chevalier.ro...@gmail.com] > Sent: Thursday, July 07, 2016 6:15 PM > To: Shi, Steven <steven@intel.com> > Cc: edk2-devel@lists.01.org; Gao, Liming <liming@intel.com>; Kinney, > Michael D <michael.d.kin...@intel.com>; af...@apple.

Re: [edk2] [RFC PATCH] BaseTools GCC: add support for GCC/X64 and GCC/AARCH64 in LTO mode

2016-07-18 Thread Shi, Steven
...@linaro.org] > Sent: Monday, July 18, 2016 1:26 PM > To: edk2-devel@lists.01.org; ler...@redhat.com; af...@apple.com; Gao, > Liming <liming@intel.com>; Shi, Steven <steven@intel.com>; Zhu, > Yonghong <yonghong@intel.com>; Kinney, Michael D > <m

Re: [edk2] [PATCH v2 1/7] BaseTools-GenFw:Use EXE flag to check Elf section type

2016-07-16 Thread Shi, Steven
If PIE can generate smaller code than PIC, why not use PIE? Why “We should only enable it if we must” ? Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] Sent: Saturday, July 16, 2016 10:45 PM To: Shi, Steven

Re: [edk2] [PATCH 4/5] MdePkg X64: force 'hidden' visibility when building with -fpic

2016-07-16 Thread Shi, Steven
iesheu...@linaro.org] > Sent: Saturday, July 16, 2016 10:48 PM > To: Shi, Steven <steven@intel.com> > Cc: Zhu, Yonghong <yonghong@intel.com>; Gao, Liming > <liming@intel.com>; Kinney, Michael D <michael.d.kin...@intel.com>; > Justen, Jordan L <jor

[edk2] [PATCH 0/7] Introduce three new toolchains in edk2

2016-06-28 Thread Shi, Steven
R="/usr/bin/gcc" -DLLVM_BINUTILS_INCDIR=/home/jshi19/binutils-2.26/include $ make -j 5 LLVMgold The LLVMgold.so is in ~/llvm38build/lib/LLVMgold.so Shi, Steven (7): BaseTools: Enable three new toolchains BaseTools: Add missing Elf relocation type for LTO build MdePkg:

[edk2] [PATCH 1/7] BaseTools: Enable three new toolchains

2016-06-28 Thread Shi, Steven
Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> --- BaseTools/Conf/build_rule.template | 17 ++- BaseTools/Conf/tools_def.template | 267 + 2 files changed, 283 insertions(+), 1 deletion(-) mode change 100644 => 100755 BaseT

[edk2] [PATCH 5/7] QuarkSocPkg-MemoryInitPei: Enable compiler builtin and disable CLANG LTO

2016-06-28 Thread Shi, Steven
NG38 could wrongly remove them if enable LTO with high optimization level. Add work around to simply disable the LTO in this module. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> --- QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/MemoryIn

[edk2] [PATCH 4/7] QuarkPlatformPkg-AcpiPlatform: Downgrade the optimization to O1

2016-06-28 Thread Shi, Steven
Quark AcpiPlatform module cannot link successfully by CLANG38 with Oz optimization level. Add a work around to downgrade the optimization to O1. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> --- QuarkPlatformPkg/Acpi/Dxe/AcpiPl

[edk2] [PATCH 2/7] BaseTools: Add missing Elf relocation type for LTO build

2016-06-28 Thread Shi, Steven
Add support to convert missing Elf relocation types (R_X86_64_PLT32, R_X86_64_GOTPCREL, R_X86_64_REX_GOTPCRELX) to PeCoff, which are required by LTO image. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> --- BaseTools/Source/C

[edk2] [PATCH 7/7] ShellPkg-UefiShellTftpCommandLib: Replace compiler builtin

2016-06-28 Thread Shi, Steven
Use explicit CopyMem to replace compiler builtin to do the structure values assignment. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> --- ShellPkg/Library/UefiShellTftpCommandLib/Tftp.c | 2 +- 1 file changed, 1 insertion(+), 1 de

[edk2] [PATCH 6/7] QuarkSocPkg-OhicPei: Fix wrong operator

2016-06-28 Thread Shi, Steven
LANG38 find a bug and give a warning that Ohci silicon code wrongly use '||' as '|'. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> --- QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Pei/OhciReg.c | 2 +- 1 file changed, 1 insertion

[edk2] [PATCH 3/7] MdePkg: Enable new MS VA intrinsics for GNUC 64bits build

2016-06-28 Thread Shi, Steven
the same calling conversion as MS, so we don’t need change them. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> --- MdePkg/Include/Base.h | 27 +-- 1 file changed, 25 insertions(+), 2 deletions(-) mode

Re: [edk2] [PATCH 0/7] Introduce three new toolchains in edk2

2016-06-28 Thread Shi, Steven
.@apple.com [mailto:af...@apple.com] > Sent: Wednesday, June 29, 2016 10:22 AM > To: Gao, Liming <liming@intel.com> > Cc: Bruce Cran <br...@cran.org.uk>; Shi, Steven <steven@intel.com>; > edk2-devel@lists.01.org; Kinney, Michael D <michael.d.kin...@intel.com&g

Re: [edk2] Segfault in GenFw when building driver with new CLANG38 toolchain

2016-06-28 Thread Shi, Steven
e Cran [mailto:br...@cran.org.uk] > Sent: Wednesday, June 29, 2016 11:37 AM > To: edk2-devel@lists.01.org > Cc: Shi, Steven <steven@intel.com> > Subject: Segfault in GenFw when building driver with new CLANG38 toolchain > > After applying Steven's (cc'd) pat

Re: [edk2] Segfault in GenFw when building driver with new CLANG38 toolchain

2016-06-28 Thread Shi, Steven
OK. How about GCC53? Can GCC53 build your driver? Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Bruce Cran [mailto:br...@cran.org.uk] > Sent: Wednesday, June 29, 2016 12:12 PM > To: Shi, Steven <steven@i

[edk2] [PATCH 0/7] Introduce three new toolchains in edk2

2016-07-07 Thread Shi, Steven
. Seperate GenFw update general part from x86 specific part and enhance the PIE/PIC commit log. 4. Not set -D EFI32, but use MDE_CPU_IA32 instead. Shi, Steven (7): BaseTools-GenFw:Use EXE flag to check Elf section type BaseTools-GenFw:Add new x86_64 Elf relocation types for PIC/PIE code MdePkg

Re: [edk2] [PATCH 1/7] BaseTools: Enable three new toolchains

2016-07-07 Thread Shi, Steven
Hi Jordan, I've separated this patch to 3 commits and post a public branch for them: https://github.com/shijunjing/edk2/commits/review6 . Please take a look. Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Shi, Steven

Re: [edk2] [PATCH v2 1/7] BaseTools-GenFw:Use EXE flag to check Elf section type

2016-07-08 Thread Shi, Steven
-Original Message- > From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] > Sent: Friday, July 08, 2016 5:19 PM > To: Shi, Steven <steven@intel.com> > Cc: edk2-devel-01 <edk2-devel@lists.01.org>; Gao, Liming > <liming@intel.com>; af...@apple.com; Jus

Re: [edk2] [PATCH v2 1/7] BaseTools-GenFw:Use EXE flag to check Elf section type

2016-07-11 Thread Shi, Steven
ot .got.*) /* Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] > Sent: Friday, July 08, 2016 9:52 PM > To: Shi, Steven <steven@intel.com> > Cc: edk2-devel-01 &l

Re: [edk2] [PATCH v2 1/7] BaseTools-GenFw:Use EXE flag to check Elf section type

2016-07-11 Thread Shi, Steven
Hi Ard, > > What I am still missing here is an explanation of the > benefit/necessity of using PIE. What does it give us that we don't > already have? How is it different from simply linking a shared ELF > object and running GenFw on that? > [Steven]: Using PIE is necessary, at least for

Re: [edk2] [PATCH V2 0/7] Introduce three new toolchains in edk2

2016-07-07 Thread Shi, Steven
: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Shi, > Steven > Sent: Friday, July 08, 2016 10:32 AM > To: edk2-devel@lists.01.org; ard.biesheu...@linaro.org > Cc: Kinney, Michael D <micha

[edk2] [PATCH V2 0/7] Introduce three new toolchains in edk2

2016-07-07 Thread Shi, Steven
. Seperate three toolchains to three different patches. 3. Seperate GenFw update general part from x86 specific part and enhance the PIE/PIC commit log. 4. Not set -D EFI32, but use MDE_CPU_IA32 instead. Shi, Steven (7): BaseTools-GenFw:Use EXE flag to check Elf section type BaseTools-GenFw:Add new

[edk2] [PATCH v2 3/7] MdePkg: Enable new MS VA intrinsics for GNUC x86 64bits build

2016-07-08 Thread Shi, Steven
the same calling conversion as MS, so we don’t need change them. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> --- MdePkg/Include/Base.h | 27 +-- 1 file changed, 25 insertions(+), 2 deletions(-) mode

[edk2] [PATCH v2 4/7] BaseTools-Conf:Introduce GCC5 new toolchain for x86

2016-07-08 Thread Shi, Steven
version: GCC 5.3, GCC 5.4, GNU ld 2.26. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> --- BaseTools/Conf/build_rule.template | 9 BaseTools/Conf/tools_def.template | 92 ++ 2 files change

[edk2] [PATCH v2 0/7] Introduce three new toolchains in edk2

2016-07-08 Thread Shi, Steven
. Seperate three toolchains to three different patches. 3. Seperate GenFw update general part from x86 specific part and enhance the PIE/PIC commit log. 4. Not set -D EFI32, but use MDE_CPU_IA32 instead. Shi, Steven (7): BaseTools-GenFw:Use EXE flag to check Elf section type BaseTools-GenFw:Add new

[edk2] [PATCH v2 2/7] BaseTools-GenFw:Add new x86_64 Elf relocation types for PIC/PIE code

2016-07-08 Thread Shi, Steven
Add support to convert new Elf relocation types (R_X86_64_PLT32, R_X86_64_GOTPCREL, R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX) to PeCoff, which are required by position independent code (PIC) built Elf image. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi

[edk2] [PATCH v2 5/7] BaseTools-Conf:Introduce CLANG38 new toolchain for x86

2016-07-08 Thread Shi, Steven
r: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> --- BaseTools/Conf/build_rule.template | 7 ++- BaseTools/Conf/tools_def.template | 87 ++ 2 files changed, 92 insertions(+), 2 deletions(-) diff --git a/BaseTools/Conf/b

[edk2] [PATCH v2 7/7] ShellPkg-UefiShellTftpCommandLib: Replace compiler builtin

2016-07-08 Thread Shi, Steven
Use explicit CopyMem to replace compiler builtin to do the structure values assignment. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> Reviewed-by: Jaben Carsey <jaben.car...@intel.com> --- ShellPkg/Library/UefiShellTftpComma

[edk2] [PATCH v2 1/7] BaseTools-GenFw:Use EXE flag to check Elf section type

2016-07-08 Thread Shi, Steven
Add SHF_EXECINSTR attribute flag in logic to check Elf Text and Data section type. Also fix some typo in the code comments and Debug strings. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> --- BaseTools/Source/C/GenFw/Elf64Convert.

Re: [edk2] [PATCH 5/7] QuarkSocPkg-MemoryInitPei: Enable compiler builtin and disable CLANG LTO

2016-07-04 Thread Shi, Steven
I will separate the Quark platform code cleanup work from this serial patches. Thanks. Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Kinney, Michael D > Sent: Thursday, June 30, 2016 2:10 AM > To: af...@apple.com;

Re: [edk2] [PATCH 4/7] QuarkPlatformPkg-AcpiPlatform: Downgrade the optimization to O1

2016-07-04 Thread Shi, Steven
6 4:56 AM > To: af...@apple.com; Shi, Steven <steven@intel.com>; Kinney, Michael D > <michael.d.kin...@intel.com> > Cc: edk2-devel <edk2-devel@lists.01.org>; Gao, Liming > <liming@intel.com>; Zimmer, Vincent <vincent.zim...@intel.com>; >

Re: [edk2] [PATCH 3/7] MdePkg: Enable new MS VA intrinsics for GNUC 64bits build

2016-07-04 Thread Shi, Steven
fix them on GCC44 as well in a separate patch later. Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Justen, Jordan L > Sent: Thursday, June 30, 2016 5:47 AM > To: Andrew Fish <af...@apple.com> > Cc

Re: [edk2] [PATCH 1/7] BaseTools: Enable three new toolchains

2016-07-04 Thread Shi, Steven
OK. I will separate this patch to 3 commits and post a public branch for them. Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Justen, Jordan L > Sent: Thursday, June 30, 2016 4:55 AM > To: Shi, Steven <steve

Re: [edk2] [PATCH v2 1/7] BaseTools-GenFw:Use EXE flag to check Elf section type

2016-07-11 Thread Shi, Steven
X64 DxeCore.efi 138KB | 273KB| 138KB | 137KB Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] Sent: Monday, July 11, 2016 10:54 PM To: Shi, Steven <steven@intel.com>

Re: [edk2] [PATCH v2 2/7] BaseTools-GenFw:Add new x86_64 Elf relocation types for PIC/PIE code

2016-08-03 Thread Shi, Steven
\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] > Sent: Thursday, August 04, 2016 4:55 AM > To: Justen, Jordan L <jordan.l.jus...@intel.com> > Cc: Shi, Steven <steven@intel

Re: [edk2] [PATCH 2/7] BaseTools: Add missing Elf relocation type for LTO build

2016-06-29 Thread Shi, Steven
Ok, will separate it. Thank you to let me know it. Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] > Sent: Wednesday, June 29, 2016 9:30 PM > To: Shi, St

Re: [edk2] [PATCH 2/7] BaseTools: Add missing Elf relocation type for LTO build

2016-06-29 Thread Shi, Steven
, June 29, 2016 10:42 PM > To: Shi, Steven <steven@intel.com> > Cc: edk2-devel-01 <edk2-devel@lists.01.org>; Gao, Liming > <liming@intel.com>; Kinney, Michael D <michael.d.kin...@intel.com>; > af...@apple.com > Subject: Re: [edk2] [PATCH 2/7] BaseTools:

Re: [edk2] [PATCH 3/3] BaseTools GCC: add the compiler flags to the linker command line

2016-08-17 Thread Shi, Steven
> > Could you try putting -O2 in the DLINK2_FLAGS for Clang 38? (i.e., so > that the last -O option the linker sees is not -Oz) > Ard, Add -O2 or -O3 in DLINK2_FLAGS works as below, thank your suggestion! "/home/jshi19/clang38/bin/clang" -o

Re: [edk2] [PATCH 3/3] BaseTools GCC: add the compiler flags to the linker command line

2016-08-17 Thread Shi, Steven
Hi Ard, CLANG38 has a build failure as below for this patch. This failure is because the CLANG38 enable the LTO through LLVMgold.so linker plugin, but the LLVMgold.so plugin cannot accept the clang -Oz cc flag as build option. After CC_FLAG is added in the link rule, the LLVMgold.so plugin

[edk2] [PATCH] BaseTools-CLANG38: Add O3 in Dlink2 flag

2016-08-17 Thread Shi, Steven
level must be between 0 and 3"); Add -O3 in the *_CLANG38_X64_DLINK2_FLAGS to override the -Oz flag in *_CLANG38_X64_CC_FLAGS to pass LLVMgold.so linking. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> --- BaseTools/Conf/tools_

Re: [edk2] Testing SMM with QEMU, KVM and libvirt

2017-02-21 Thread Shi, Steven
Hi Laszlo, I wonder if you could offer a Ubuntu version wiki for the Testing-SMM-with-QEMU,-KVM-and-libvirt? I'm trying to port your steps to my Ubuntu 16.04, but meet lots of troubles. The Ubuntu apt-get virsh version is too old to support smm feature in your ovmf.fedora.q35.template, and I

Re: [edk2] Testing SMM with QEMU, KVM and libvirt

2017-02-22 Thread Shi, Steven
to:ler...@redhat.com] > Sent: Tuesday, February 21, 2017 6:18 PM > To: Shi, Steven <steven@intel.com>; edk2-devel-01 de...@ml01.01.org> > Cc: Tian, Feng <feng.t...@intel.com>; Justen, Jordan L > <jordan.l.jus...@intel.com>; Yao, Jiewen <jiewen@intel.com>; Ki

Re: [edk2] OVMF not booting when built with GCC5 toolset?

2016-08-22 Thread Shi, Steven
August 19, 2016 10:47 PM > To: Shi, Steven <steven@intel.com>; Michael Zimmermann > <sigmaepsilo...@gmail.com> > Cc: edk2-devel-01 <edk2-devel@lists.01.org> > Subject: Re: [edk2] OVMF not booting when built with GCC5 toolset? > > On 8/19/2016 8:35 AM, Bruce

[edk2] [PATCH v2] BaseTools-CLANG38: Add -O3 in DLINK2 flag

2016-08-18 Thread Shi, Steven
level must be between 0 and 3"); Add -O3 in the *_CLANG38_*_DLINK2_FLAGS to override the -Oz flag in *_CLANG38_*_CC_FLAGS to pass LLVMgold.so linking. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> --- BaseTools/Conf/tools_def.tem

Re: [edk2] OVMF not booting when built with GCC5 toolset?

2016-08-18 Thread Shi, Steven
Hi Cran, I build OVMF GCC X64 image, can boot Qemu into shell with below commands. I can enter shell, reconnect -r, exit to setup, and the vga display looks good to me. What build command did you use? build -t GCC5 -a X64 -p OvmfPkg/OvmfPkgX64.dsc -n 5 -b DEBUG -DDEBUG_ON_SERIAL_PORT

Re: [edk2] [PATCH] BaseTools/GccBase.lds: don't copy RELA section to PE/COFF

2016-08-22 Thread Shi, Steven
of > > the relocations we encounter in the non-allocatable RELA sections > > (.rela.text, .rela.data etc etc) > > > > So it never makes sense to copy it into the PE/COFF binary, regardless > > of whether we inspect its contents or not. > > > > -- > > Ard.

Re: [edk2] [PATCH] BaseTools/GenFw: ignore dynamic RELA sections

2016-08-22 Thread Shi, Steven
PM > To: edk2-devel@lists.01.org; Gao, Liming <liming@intel.com>; Shi, > Steven <steven@intel.com>; Zhu, Yonghong <yonghong@intel.com> > Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> > Subject: [PATCH] BaseTools/GenFw: ignore dynamic RELA sections &

Re: [edk2] OVMF not booting when built with GCC5 toolset?

2016-08-29 Thread Shi, Steven
toolset? It's confirmed it is a GCC6 regression bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70955 Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 From: Shi, Steven Sent: Tuesday, August 23, 2016 4:10 PM To: 'Bruce Cran' <br...@cran.org.uk<mailto:br...@cran.

Re: [edk2] OVMF not booting when built with GCC5 toolset?

2016-08-23 Thread Shi, Steven
Hi Cran, This issue might be a GCC6 LTO regression bug, and I've filed a bug to GCC community as below. Please don't use the GCC6 with edk2 GCC5 toolchain for now, the GCC5 (gcc-5) should works. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77341

Re: [edk2] OVMF not booting when built with GCC5 toolset?

2016-08-23 Thread Shi, Steven
It's confirmed it is a GCC6 regression bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70955 Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 From: Shi, Steven Sent: Tuesday, August 23, 2016 4:10 PM To: 'Bruce Cran' <br...@cran.org.uk>; 'Michael Zimm

Re: [edk2] [PATCH 1/1] BaseTools/tools_def.template: revert to large code model for X64/GCC5/LTO

2017-08-10 Thread Shi, Steven
Hi Laszlo, I'm trying to reproduce your boot failure with OVMF in my Ubuntu system, but not succeed. My GCC was built from GCC main trunk code in 20170601, and my ld linker is version 2.28. Could you try the ld 2.28 with your gcc-7.1 and check whether it works in your side? Or, do you know

Re: [edk2] [PATCH 1/1] BaseTools/tools_def.template: revert to large code model for X64/GCC5/LTO

2017-08-11 Thread Shi, Steven
tsWrapper; // // Get the BSP's data of GDT and IDT Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Laszlo Ersek [mailto:ler...@redhat.com] > Sent: Friday, August 11, 2017 7:18 PM > To: Shi, Steven <steven@intel

Re: [edk2] [PATCH] ShellPkg: Avoid buffer out-of-bound access

2017-07-28 Thread Shi, Steven
Reviewed-by: Steven Shi <steven@intel.com> Thanks Steven Shi > -Original Message- > From: Ni, Ruiyu > Sent: Wednesday, July 26, 2017 4:22 PM > To: edk2-devel@lists.01.org > Cc: Shi, Steven <steven@intel.com> > Subject: [PATCH] ShellPkg: Av

[edk2] [PATCH] BaseTools/Conf: Support LLVM39 and LLVM40 in CLANG38 toolchain

2017-08-23 Thread Shi Steven
From: "Shi, Steven" <steven@intel.com> Add LLVM39 and LLVM40 support in CLANG38 toolchain Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Steven Shi <steven@intel.com> --- BaseTools/Conf/tools_def.template | 5 +++-- 1 file changed, 3 inse

Re: [edk2] [PATCH] MdeModulePkg: Fix use-after-free error in InstallConfigurationTable()

2017-06-19 Thread Shi, Steven
Reviewed-by: Steven Shi <steven@intel.com> Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Zeng, Star > Sent: Monday, June 19, 2017 6:24 PM > To: edk2-devel@lists.01.org > Cc: Shi, Steven <steven

Re: [edk2] [PATCH] UefiCpuPkg/MtrrLib: Fix MtrrDebugPrintAllMtrrsWorker to avoid hang

2017-10-16 Thread Shi, Steven
Reviewed-by: Steven Shi <steven@intel.com> Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Ni, Ruiyu > Sent: Tuesday, October 17, 2017 9:47 AM > To: edk2-devel@lists.01.org > Cc: Shi, Steven <steve

Re: [edk2] [PATCH 0/5] MdeModulePkg: UDF fixes and cleanups

2017-09-11 Thread Shi, Steven
al Message- > From: Paulo Alcantara [mailto:pca...@zytor.com] > Sent: Sunday, September 10, 2017 11:52 PM > To: Shi, Steven <steven@intel.com>; Laszlo Ersek <ler...@redhat.com>; > edk2-devel-01 <edk2-devel@lists.01.org> > Cc: Ni, Ruiyu <ruiyu...@intel.com>;

Re: [edk2] [PATCH 0/5] MdeModulePkg: UDF fixes and cleanups

2017-09-11 Thread Shi, Steven
] > Sent: Monday, September 11, 2017 9:52 PM > To: Shi, Steven <steven@intel.com>; Laszlo Ersek <ler...@redhat.com>; > edk2-devel-01 <edk2-devel@lists.01.org> > Cc: Ni, Ruiyu <ruiyu...@intel.com>; Dong, Eric <eric.d...@intel.com>; Zeng, > Star <

Re: [edk2] [PATCH 0/5] MdeModulePkg: UDF fixes and cleanups

2017-09-09 Thread Shi, Steven
Hi Laszlo, How could we configure the Qemu and test the UDF driver on OVMF? BTW, how could we configure the Qemu to create a full feature scope machine to include all possible devices in it, e.g. USB, ISA, SD/MMC, network etc. Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522

Re: [edk2] [PATCH 0/5] MdeModulePkg: UDF fixes and cleanups

2017-09-10 Thread Shi, Steven
7 9:52 PM > To: Shi, Steven <steven@intel.com>; edk2-devel-01 de...@lists.01.org> > Cc: Ni, Ruiyu <ruiyu...@intel.com>; Dong, Eric <eric.d...@intel.com>; Zeng, > Star <star.z...@intel.com>; Ard Biesheuvel <ard.biesheu...@linaro.org> > Subject: Re: [

Re: [edk2] [PATCH] BaseTools/Conf: Support LLVM39 and LLVM40 in CLANG38 toolchain

2017-09-25 Thread Shi, Steven
Gao, Liming <liming@intel.com> > > >>> Subject: Re: [edk2] [PATCH] BaseTools/Conf: Support LLVM39 and > > >>> LLVM40 > > >in > > >>> CLANG38 toolchain > > >>> > > >>> Hey, > > >>> > > >>> I just n

Re: [edk2] [PATCH 1/1] BaseTools/tools_def.template: revert to large code model for X64/GCC5/LTO

2017-08-22 Thread Shi, Steven
(GCC48_ARM_ASM_FLAGS) Steven Shi Intel\SSG\STO\UEFI Firmware Tel: +86 021-61166522 iNet: 821-6522 > -Original Message- > From: Laszlo Ersek [mailto:ler...@redhat.com] > Sent: Tuesday, August 15, 2017 11:46 PM > To: Shi, Steven <steven@intel.com> > Cc: edk2

  1   2   >