From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (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 57A2121942351 for ; Thu, 6 Apr 2017 00:44:25 -0700 (PDT) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP; 06 Apr 2017 00:44:24 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.37,283,1488873600"; d="scan'208";a="1131705953" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga001.fm.intel.com with ESMTP; 06 Apr 2017 00:44:20 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 6 Apr 2017 00:44:13 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.246]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.117]) with mapi id 14.03.0319.002; Thu, 6 Apr 2017 15:44:11 +0800 From: "Gao, Liming" To: Laszlo Ersek , "edk2-devel@lists.01.org" CC: Ard Biesheuvel Thread-Topic: [edk2] [Patch] BaseTools: Update tools_def.template to add -fno-builtin in GCC tool chain Thread-Index: AQHSrnDQ9z6AAKPW902rdle7Q9Xb5qG3bruAgACHatA= Date: Thu, 6 Apr 2017 07:44:10 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14D71A0A5@shsmsx102.ccr.corp.intel.com> References: <20170406004532.9436-1-liming.gao@intel.com> <677b7b95-ef47-6bfd-8ed5-ff07a7ef1d11@redhat.com> In-Reply-To: <677b7b95-ef47-6bfd-8ed5-ff07a7ef1d11@redhat.com> 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: Update tools_def.template to add -fno-builtin in GCC tool chain 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: Thu, 06 Apr 2017 07:44:25 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Thanks! I will update the commit message and push it.=20 >-----Original Message----- >From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >Laszlo Ersek >Sent: Thursday, April 06, 2017 3:39 PM >To: Gao, Liming ; edk2-devel@lists.01.org >Cc: Ard Biesheuvel >Subject: Re: [edk2] [Patch] BaseTools: Update tools_def.template to add - >fno-builtin in GCC tool chain > >On 04/06/17 02:57, Laszlo Ersek wrote: >> On 04/06/17 02:45, Liming Gao wrote: >>> Now, -fno-builtin option is added for the specific GCC tool chain. >>> It is a generic option. It can be moved to common GCC option to keep >>> the consistent compiler option. >>> >>> Cc: Ard Biesheuvel >>> Cc: Yonghong Zhu >>> Contributed-under: TianoCore Contribution Agreement 1.0 >>> Signed-off-by: Liming Gao >>> Signed-off-by: Laszlo Ersek >> >> Please don't add "Signed-off-by" tags for other people. That tag should >> only come from people with actual authorship on the patch. >> >> Instead, in this case, >> >> Suggested-by: Laszlo Ersek >> >> would be appropriate (and welcome too :) ). >> >> I'll check this patch in more detail later. > >With the above commit message update: > >Reviewed-by: Laszlo Ersek > >I also tested this, with OVMF (Ia32, Ia32X64, X64), using gcc-4.8 (GCC48 >toolchain), and with ArmVirtQemu (AARCH64), using gcc-6.1.1 (GCC5 >toolchain). > >Tested-by: Laszlo Ersek > >Thanks! >Laszlo > >> >>> --- >>> BaseTools/Conf/tools_def.template | 14 +++++++------- >>> 1 file changed, 7 insertions(+), 7 deletions(-) >>> >>> diff --git a/BaseTools/Conf/tools_def.template >b/BaseTools/Conf/tools_def.template >>> index 2c5cd58089..14ecfedab1 100755 >>> --- a/BaseTools/Conf/tools_def.template >>> +++ b/BaseTools/Conf/tools_def.template >>> @@ -4335,13 +4335,13 @@ DEBUG_*_*_OBJCOPY_ADDDEBUGFLAG =3D -- >add-gnu-debuglink=3D$(DEBUG_DIR)/$(MODULE_N >>> RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG =3D >>> NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG =3D --add-gnu- >debuglink=3D$(DEBUG_DIR)/$(MODULE_NAME).debug >>> >>> -DEFINE GCC_ALL_CC_FLAGS =3D -g -Os -fshort-wchar -fno-stric= t- >aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common >>> +DEFINE GCC_ALL_CC_FLAGS =3D -g -Os -fshort-wchar -fno-built= in -fno- >strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno- >common >>> DEFINE GCC_IA32_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -m32 - >malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno- >stack-arg-probe >>> DEFINE GCC_X64_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -mno-red- >zone -Wno-address -mno-stack-arg-probe >>> DEFINE GCC_IPF_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -minline- >int-divide-min-latency >>> -DEFINE GCC_ARM_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -mlittle- >endian -mabi=3Daapcs -fno-short-enums -funsigned-char -ffunction-sections = - >fdata-sections -fomit-frame-pointer -fno-builtin -Wno-address -mthumb - >mfloat-abi=3Dsoft >>> +DEFINE GCC_ARM_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -mlittle- >endian -mabi=3Daapcs -fno-short-enums -funsigned-char -ffunction-sections = - >fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=3Dsof= t >>> DEFINE GCC_ARM_CC_XIPFLAGS =3D -mno-unaligned-access >>> -DEFINE GCC_AARCH64_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) - >mlittle-endian -fno-short-enums -fverbose-asm -funsigned-char -ffunction- >sections -fdata-sections -fno-builtin -Wno-address -fno-asynchronous- >unwind-tables -fno-pic >>> +DEFINE GCC_AARCH64_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) - >mlittle-endian -fno-short-enums -fverbose-asm -funsigned-char -ffunction- >sections -fdata-sections -Wno-address -fno-asynchronous-unwind-tables - >fno-pic >>> DEFINE GCC_AARCH64_CC_XIPFLAGS =3D -mstrict-align >>> DEFINE GCC_DLINK_FLAGS_COMMON =3D -nostdlib --pie >>> DEFINE GCC_DLINK2_FLAGS_COMMON =3D -Wl,-- >script=3D$(EDK_TOOLS_PATH)/Scripts/GccBase.lds >>> @@ -4368,7 +4368,7 @@ DEFINE GCC_IPF_RC_FLAGS =3D -I binary = -O >elf64-ia64-little -B ia64 >>> DEFINE GCC_ARM_RC_FLAGS =3D -I binary -O elf32-littlearm = -B arm >--rename-section .data=3D.hii >>> DEFINE GCC_AARCH64_RC_FLAGS =3D -I binary -O elf64-littleaarch6= 4 -B >aarch64 --rename-section .data=3D.hii >>> >>> -DEFINE GCC44_ALL_CC_FLAGS =3D -g -fshort-wchar -fno-strict-= aliasing >-Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -inclu= de >AutoGen.h -fno-common -DSTRING_ARRAY_NAME=3D$(BASE_NAME)Strings >>> +DEFINE GCC44_ALL_CC_FLAGS =3D -g -fshort-wchar -fno-builtin= -fno- >strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata= - >sections -include AutoGen.h -fno-common - >DSTRING_ARRAY_NAME=3D$(BASE_NAME)Strings >>> DEFINE GCC44_IA32_CC_FLAGS =3D DEF(GCC44_ALL_CC_FLAGS) -m32 = - >march=3Di586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronou= s- >unwind-tables >>> DEFINE GCC44_X64_CC_FLAGS =3D DEF(GCC44_ALL_CC_FLAGS) -m64 = - >fno-stack-protector "-DEFIAPI=3D__attribute__((ms_abi))" -maccumulate- >outgoing-args -mno-red-zone -Wno-address -mcmodel=3Dsmall -fpie -fno- >asynchronous-unwind-tables >>> DEFINE GCC44_IA32_X64_DLINK_COMMON =3D -nostdlib -Wl,-n,-q,--gc- >sections -z common-page-size=3D0x20 >>> @@ -4471,8 +4471,8 @@ DEFINE GCC49_AARCH64_DLINK2_FLAGS =3D >DEF(GCC48_AARCH64_DLINK2_FLAGS) >>> DEFINE GCC49_ARM_ASLDLINK_FLAGS =3D >DEF(GCC48_ARM_ASLDLINK_FLAGS) >>> DEFINE GCC49_AARCH64_ASLDLINK_FLAGS =3D >DEF(GCC48_AARCH64_ASLDLINK_FLAGS) >>> >>> -DEFINE GCC5_IA32_CC_FLAGS =3D DEF(GCC49_IA32_CC_FLAGS) -fno= - >builtin >>> -DEFINE GCC5_X64_CC_FLAGS =3D DEF(GCC49_X64_CC_FLAGS) -fno- >builtin >>> +DEFINE GCC5_IA32_CC_FLAGS =3D DEF(GCC49_IA32_CC_FLAGS) >>> +DEFINE GCC5_X64_CC_FLAGS =3D DEF(GCC49_X64_CC_FLAGS) >>> DEFINE GCC5_IA32_X64_DLINK_COMMON =3D >DEF(GCC49_IA32_X64_DLINK_COMMON) >>> DEFINE GCC5_IA32_X64_ASLDLINK_FLAGS =3D >DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) >>> DEFINE GCC5_IA32_X64_DLINK_FLAGS =3D >DEF(GCC49_IA32_X64_DLINK_FLAGS) >>> @@ -5512,7 +5512,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 -fno-builtin -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 >>> +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 >>> >>> ########################### >>> # CLANG38 IA32 definitions >>> >> >> _______________________________________________ >> 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