From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.24; helo=mga09.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 9586621E1B752 for ; Sun, 24 Sep 2017 21:56:01 -0700 (PDT) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Sep 2017 21:59:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,435,1500966000"; d="scan'208";a="1175441311" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga001.jf.intel.com with ESMTP; 24 Sep 2017 21:59:12 -0700 Received: from fmsmsx125.amr.corp.intel.com (10.18.125.40) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 24 Sep 2017 21:59:12 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by FMSMSX125.amr.corp.intel.com (10.18.125.40) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 24 Sep 2017 21:59:12 -0700 Received: from shsmsx152.ccr.corp.intel.com ([169.254.6.93]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.159]) with mapi id 14.03.0319.002; Mon, 25 Sep 2017 12:59:10 +0800 From: "Gao, Liming" To: Marvin H?user , "edk2-devel@lists.01.org" Thread-Topic: [PATCH] BaseTools/Conf: Support LLVM39 and LLVM40 in CLANG38 toolchain Thread-Index: AQHTG92/8mh+ojyM9EiDFgxR8WypwaKZZCjggCfYXyCAA/+FIA== Date: Mon, 25 Sep 2017 04:59:09 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E15CC86@SHSMSX152.ccr.corp.intel.com> References: <20170823070107.38848-1-steven.shi@intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14D7815F7@shsmsx102.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH] BaseTools/Conf: Support LLVM39 and LLVM40 in CLANG38 toolchain X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Sep 2017 04:56:02 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Marvin: My concern is that the fix is an incompatible change. It requires to modi= fy library API. In fact, this is an undefined behavior. But, current compil= er (VS, GCC and Clang) makes it work. So, I prefer to keep the code as-is,= and disable this warning first. If you find any real issue, we can return = back and figure out the solution.=20 Thanks Liming >-----Original Message----- >From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >Marvin H?user >Sent: Friday, September 22, 2017 11:53 PM >To: edk2-devel@lists.01.org >Cc: Gao, Liming >Subject: Re: [edk2] [PATCH] BaseTools/Conf: Support LLVM39 and LLVM40 in >CLANG38 toolchain > >Hey, > >I just noticed this patch as it recently has been pushed. I found this has= been a >reaction to https://bugzilla.tianocore.org/show_bug.cgi?id=3D410 >Though as Clang correctly detected, this is Undefined Behavior per the C >specification, so why was the warning hidden? >In context of the issue in UefiLib, providing the first element of the VA = list as a >prototyped argument, would have solved the issue without UB. > >Do you wish such a patch? > >Thanks, >Marvin. > >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >> Gao, Liming >> Sent: Monday, August 28, 2017 9:19 AM >> To: Shi, Steven ; edk2-devel@lists.01.org >> Subject: Re: [edk2] [PATCH] BaseTools/Conf: Support LLVM39 and LLVM40 >in >> CLANG38 toolchain >> >> Reviewed-by: Liming Gao >> >> >-----Original Message----- >> >From: Shi, Steven >> >Sent: Wednesday, August 23, 2017 3:01 PM >> >To: edk2-devel@lists.01.org; Gao, Liming >> >Cc: Zhu, Yonghong ; Shi, Steven >> > >> >Subject: [PATCH] BaseTools/Conf: Support LLVM39 and LLVM40 in >CLANG38 >> >toolchain >> > >> >From: "Shi, Steven" >> > >> >Add LLVM39 and LLVM40 support in CLANG38 toolchain >> > >> >Contributed-under: TianoCore Contribution Agreement 1.0 >> >Signed-off-by: Steven Shi >> >--- >> > BaseTools/Conf/tools_def.template | 5 +++-- >> > 1 file changed, 3 insertions(+), 2 deletions(-) >> > >> >diff --git a/BaseTools/Conf/tools_def.template >> >b/BaseTools/Conf/tools_def.template >> >index 1fa3ca3..2f83341 100755 >> >--- a/BaseTools/Conf/tools_def.template >> >+++ b/BaseTools/Conf/tools_def.template >> >@@ -380,7 +380,8 @@ DEFINE SOURCERY_CYGWIN_TOOLS =3D >> /cygdrive/c/Program >> >Files/CodeSourcery/Sourcery G >> > # Intel(r) ACPI Compiler from >> > # https://acpica.org/downloads >> > # CLANG38 -Linux- Requires: >> >-# Clang v3.8 or later, LLVMgold plugin and= GNU binutils 2.26 >> >targeting x86_64-linux-gnu >> >+# Clang v3.8, LLVMgold plugin and GNU binu= tils 2.26 >> targeting >> >x86_64-linux-gnu >> >+# Clang v3.9 or later, LLVMgold plugin and= GNU binutils 2.28 >> >targeting x86_64-linux-gnu >> > # Optional: >> > # Required to build platforms or ACPI tabl= es: >> > # Intel(r) ACPI Compiler from >> >@@ -5512,7 +5513,7 @@ DEFINE CLANG38_X64_PREFIX =3D >> >ENV(CLANG38_BIN) >> > DEFINE CLANG38_IA32_TARGET =3D -target i686-pc-linux-gnu >> > DEFINE CLANG38_X64_TARGET =3D -target x86_64-pc-linux-gnu >> > >> >-DEFINE CLANG38_ALL_CC_FLAGS =3D DEF(GCC44_ALL_CC_FLAGS) - >Wno- >> >empty-body -fno-stack-protector -mms-bitfields -Wno-address -Wno- >shift- >> >negative-value -Wno-parentheses-equality -Wno-unknown-pragmas - >> Wno- >> >tautological-constant-out-of-range-compare -Wno-incompatible-library- >> >redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx - >> msoft- >> >float -mno-implicit-float -ftrap- >> >function=3Dundefined_behavior_has_been_optimized_away_by_clang - >> >funsigned-char -fno-ms-extensions -Wno-null-dereference -Wno- >> >tautological-compare -Wno-unknown-warning-option >> >+DEFINE CLANG38_ALL_CC_FLAGS =3D DEF(GCC44_ALL_CC_FLAGS) - >> Wno- >> >empty-body -fno-stack-protector -mms-bitfields -Wno-address -Wno- >shift- >> >negative-value -Wno-parentheses-equality -Wno-unknown-pragmas - >> Wno- >> >tautological-constant-out-of-range-compare -Wno-incompatible-library- >> >redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx - >> msoft- >> >float -mno-implicit-float -ftrap- >> >function=3Dundefined_behavior_has_been_optimized_away_by_clang - >> >funsigned-char -fno-ms-extensions -Wno-null-dereference -Wno- >> >tautological-compare -Wno-unknown-warning-option -Wno-varargs >> > >> > ########################### >> > # CLANG38 IA32 definitions >> >-- >> >2.7.4 >> >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel >_______________________________________________ >edk2-devel mailing list >edk2-devel@lists.01.org >https://lists.01.org/mailman/listinfo/edk2-devel