From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by ml01.01.org (Postfix) with ESMTP id 589021A1DF8 for ; Wed, 3 Aug 2016 09:56:47 -0700 (PDT) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga101.jf.intel.com with ESMTP; 03 Aug 2016 09:56:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,466,1464678000"; d="scan'208";a="150068586" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga004.fm.intel.com with ESMTP; 03 Aug 2016 09:56:46 -0700 Received: from fmsmsx114.amr.corp.intel.com (10.18.116.8) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 3 Aug 2016 09:56:46 -0700 Received: from fmsmsx103.amr.corp.intel.com ([169.254.2.120]) by FMSMSX114.amr.corp.intel.com ([10.18.116.8]) with mapi id 14.03.0248.002; Wed, 3 Aug 2016 09:56:46 -0700 From: "Carsey, Jaben" To: "Shi, Steven" , "edk2-devel@lists.01.org" , "Gao, Liming" CC: "afish@apple.com" , "Kinney, Michael D" , "ard.biesheuvel@linaro.org" , "Carsey, Jaben" Thread-Topic: [PATCH v5 0/4] Introduce CLANG38 toolchain in edk2 Thread-Index: AQHR7WuYf2J9KMH0UEuTRaDbTKVUg6A3dR2A Date: Wed, 3 Aug 2016 16:56:45 +0000 Message-ID: References: <1470217386-20676-1-git-send-email-steven.shi@intel.com> In-Reply-To: <1470217386-20676-1-git-send-email-steven.shi@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYzMxOTVhYjItOTE5OS00YTZiLTg1Y2YtOWI2N2ZhMDczNGQ2IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IkdQdTZoVFkyTW1sdCtYRzlla1R3bFBMMnZEOVV4YWpzaEpsSzJpZ3BBTW89In0= x-ctpclassification: CTP_IC x-originating-ip: [10.1.200.106] MIME-Version: 1.0 Subject: Re: [PATCH v5 0/4] Introduce CLANG38 toolchain in edk2 X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2016 16:56:47 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable For both changes in ShellPkg.=20 Reviewed-by: Jaben Carsey > -----Original Message----- > From: Shi, Steven > Sent: Wednesday, August 03, 2016 2:43 AM > To: edk2-devel@lists.01.org; Gao, Liming ; Carsey, > Jaben > Cc: afish@apple.com; Kinney, Michael D ; > ard.biesheuvel@linaro.org > Subject: [PATCH v5 0/4] Introduce CLANG38 toolchain in edk2 > Importance: High >=20 > Please review my new commits in public branch: > https://github.com/shijunjing/edk2/commits/llvm_v5 >=20 > The difference from > V4(https://github.com/shijunjing/edk2/commits/llvm_v4): > 1. Remove the GCC5 path prefix for binutils objcopy, because a clang user > may not set GCC5_BIN. > 2. Follow GCC5 to disable the LTO for ASLCC flags. > 3. Add CLANG38 in the "Supported Tool Chains" part. >=20 > The difference from > V2(https://github.com/shijunjing/edk2/commits/llvm_v2): > 1. Seperate the CLANG38 from the other two toolchains (GCC5, > CLANGSCAN38), and only focus on CLANG38 in this serial. > 2. Base on current GCC5 in edk2 to enhance the CLANG38. > 3. Seperate the GenFW new relocation types support patch from this serial= , > and I will send it later in new serial. > 4. Add EFIAPI for UefiShellCommandLib function. >=20 > Test pass platforms: OVMF (OvmfPkgIa32.dsc, OvmfPkgX64.dsc and > OvmfPkgIa32X64.dsc). > Test compiler and linker version: LLVM 3.8, GNU ld 2.26. >=20 > Example steps to use the CLANG38 tool chain to build OVMF platform: > 1. Download and extract the llvm 3.8.0 Pre-Built Binaries from > http://www.llvm.org/releases/ (e.g. > http://www.llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu- > ubuntu-16.04.tar.xz and extract it as ~/clang38). > 2. Copy LLVMgold.so from > https://github.com/shijunjing/edk2/blob/llvm/BaseTools/Bin/LLVMgold.so > to above clang lib folder (e.g.~/clang38/lib/LLVMgold.so) > 3. Install new version linker with plugin support (e.g. ld 2.26 in GNU Bi= nutils > 2.26 or Ubuntu16.04) > $ cd edk2 > $ export CLANG38_BIN=3Dpath/to/your/clang38/ (e.g. export > CLANG38_BIN=3D~/clang38/bin/) > $ source edksetup.sh > $ make -C BaseTools/Source/C > $ build -t CLANG38 -a X64 -p OvmfPkg/OvmfPkgX64.dsc -n 5 -b DEBUG - > DDEBUG_ON_SERIAL_PORT > $ cd edk2/Build/OvmfX64/DEBUG_CLANG38/FV > $ qemu-system-x86_64.exe -bios OVMF.fd -serial file:serial.log -m 4096 -h= da > fat:. >=20 >=20 > 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_List library function >=20 > BaseTools/Conf/build_rule.template | 2 +- > BaseTools/Conf/tools_def.template | 87 > ++++++++++++++++++++++ > .../Library/UefiShellCommandLib/ConsistMapping.c | 1 + > ShellPkg/Library/UefiShellTftpCommandLib/Tftp.c | 2 +- > 4 files changed, 90 insertions(+), 2 deletions(-) > mode change 100644 =3D> 100755 BaseTools/Conf/build_rule.template > mode change 100644 =3D> 100755 BaseTools/Conf/tools_def.template > mode change 100644 =3D> 100755 > ShellPkg/Library/UefiShellCommandLib/ConsistMapping.c > mode change 100644 =3D> 100755 > ShellPkg/Library/UefiShellTftpCommandLib/Tftp.c >=20 > -- > 2.7.4