From nobody Sun May 5 09:27:13 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+90447+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+90447+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=canonical.com ARC-Seal: i=1; a=rsa-sha256; t=1654884571; cv=none; d=zohomail.com; s=zohoarc; b=Xi+i8aJEo9I4A7kPbjUl4ry6+H9jXjoaDKAYrOmyEX4nMGRWgEyL0K2lC0b1wb0WfSxbpt5jUDyC8JX/oAqMLj6myKDX03Fin/gZrJI2G2wE/Hpk6OwVkQ/bCHYMF6b1HBNFj1fYei9cxDydnAkDcn/4tM0DM/0vaYNmsMMEi0s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654884571; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=iraeoDCmmyObRXFEaEdVUg89U6OyPq8JnYQi9QRY5qI=; b=kL/3HxgIPWS3fYOpiEKw6ZsRlL8T/EmPbVRJd7KgvelLQl3gJ1PCBh+oq8XYPhp4VO+XJlVCvD7fxTEVZqHPhnXXrtHej7TPd5NuL2qxF0nRN8e/PwXH9f8BPowJQkK2lSzzIH41FID1g71Ub1gAznvbmzAZAMAvKl0O6DHp3Rs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+90447+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1654884571099438.4470365213824; Fri, 10 Jun 2022 11:09:31 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 1PMFYY1788612xQq1Z4cQyl5; Fri, 10 Jun 2022 11:09:30 -0700 X-Received: from smtp-relay-internal-0.canonical.com (smtp-relay-internal-0.canonical.com [185.125.188.122]) by mx.groups.io with SMTP id smtpd.web11.30403.1654884569093452261 for ; Fri, 10 Jun 2022 11:09:29 -0700 X-Received: from mail-io1-f70.google.com (mail-io1-f70.google.com [209.85.166.70]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id E3AAA3F220 for ; Fri, 10 Jun 2022 18:09:26 +0000 (UTC) X-Received: by mail-io1-f70.google.com with SMTP id l3-20020a05660227c300b0065a8c141580so13652077ios.19 for ; Fri, 10 Jun 2022 11:09:26 -0700 (PDT) X-Gm-Message-State: Crq9pG5K4XyuNxRQzW9AvOuhx1787277AA= X-Received: by 2002:a5d:8d92:0:b0:669:550a:8eb with SMTP id b18-20020a5d8d92000000b00669550a08ebmr13462169ioj.202.1654884564898; Fri, 10 Jun 2022 11:09:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyEZ1NqMA51tB3rPOTW7pR7/rwc9da5sASodJ7ETAuJJqTSbRV/lA/5jfT7dKwMY2UCadH6MA== X-Received: by 2002:a5d:8d92:0:b0:669:550a:8eb with SMTP id b18-20020a5d8d92000000b00669550a08ebmr13462156ioj.202.1654884564604; Fri, 10 Jun 2022 11:09:24 -0700 (PDT) X-Received: from localhost (c-73-14-97-161.hsd1.co.comcast.net. [73.14.97.161]) by smtp.gmail.com with ESMTPSA id d24-20020a5d9bd8000000b0065a47e16f44sm11139404ion.22.2022.06.10.11.09.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Jun 2022 11:09:23 -0700 (PDT) From: "dann frazier" X-Google-Original-From: dann frazier To: Bob Feng , Liming Gao , Yuwei Chen Cc: devel@edk2.groups.io Subject: [edk2-devel] [PATCH] BaseTools/tools_def.txt: Add -march=x86-64 for X64 CLANG and GCC targets Date: Fri, 10 Jun 2022 12:09:18 -0600 Message-Id: <20220610180918.673822-1-dannf@debian.org> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,dann.frazier@canonical.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1654884570; bh=Fku6GvlEniMzQgnSnnkiMXBtAlHaClLMHWew45AUQWs=; h=Cc:Date:From:Reply-To:Subject:To; b=ORgxhZ3BNJjJ1ud9Y/wr/2vwe9UHP/NMUtW8sxqAp7EWvO/w+mRqL9sf2ack9fdhNc7 upl+u9KDWNLWe/PVMuzgExFxsik3xEtqQ5LgDDhaajBuOb5ASacAGLfks2ov2leW2AvFh Lc5LQN1evZ9Qxiw95WYpCMPmyGC3imjy0BU= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1654884573066100003 Content-Type: text/plain; charset="utf-8" From: dann frazier Some Linux distributions are experimenting with builds that target a higher x86-64 psABI, such as x86-64-v3. To avoid inheriting these compiler defaults in edk2 builds, and therefore breaking compatibility with machines using older CPUs, explicitly target the generic x86-64 psABI. This is similar to how we explicitly specify the cpu type for some other architectures (-march=3Di586 for IA32, -march=3Darmv7-a for ARM). Spot tested with OVMF builds using GCC5 and CLANG38. Signed-off-by: dann frazier --- BaseTools/Conf/tools_def.template | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.t= emplate index adcd23f727..569d16fb3e 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -1885,7 +1885,7 @@ DEFINE GCC_DEPS_FLAGS =3D -MMD -MF $@.de= ps DEFINE GCC48_ALL_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -ffunction-= sections -fdata-sections -DSTRING_ARRAY_NAME=3D$(BASE_NAME)Strings DEFINE GCC48_IA32_X64_DLINK_COMMON =3D -nostdlib -Wl,-n,-q,--gc-sections= -z common-page-size=3D0x20 DEFINE GCC48_IA32_CC_FLAGS =3D DEF(GCC48_ALL_CC_FLAGS) -m32 -mar= ch=3Di586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-un= wind-tables -Wno-address -DEFINE GCC48_X64_CC_FLAGS =3D DEF(GCC48_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-u= nwind-tables -Wno-address +DEFINE GCC48_X64_CC_FLAGS =3D DEF(GCC48_ALL_CC_FLAGS) -m64 -mar= ch=3Dx86-64 -fno-stack-protector "-DEFIAPI=3D__attribute__((ms_abi))" -macc= umulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=3Dsmall -fpie -fn= o-asynchronous-unwind-tables -Wno-address DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS =3D DEF(GCC48_IA32_X64_DLINK_COMMON) = -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable DEFINE GCC48_IA32_X64_DLINK_FLAGS =3D DEF(GCC48_IA32_X64_DLINK_COMMON) = -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DI= R_DEBUG)/$(BASE_NAME).map,--whole-archive DEFINE GCC48_IA32_DLINK2_FLAGS =3D -Wl,--defsym=3DPECOFF_HEADER_SIZE= =3D0x220 DEF(GCC_DLINK2_FLAGS_COMMON) @@ -2613,15 +2613,15 @@ NOOPT_CLANG38_IA32_DLINK2_FLAGS =3D DEF(GCC5_IA= 32_DLINK2_FLAGS) -O0 *_CLANG38_X64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_X6= 4_TARGET) *_CLANG38_X64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_X6= 4_TARGET) =20 -DEBUG_CLANG38_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DE= FIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fpie -Oz -= flto DEF(CLANG38_X64_TARGET) -g +DEBUG_CLANG38_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 -mar= ch=3Dx86-64 "-DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Ds= mall -fpie -Oz -flto DEF(CLANG38_X64_TARGET) -g DEBUG_CLANG38_X64_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) -flt= o -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=3Delf64-x86-64 -Wl,-pie -mcmodel= =3Dsmall DEBUG_CLANG38_X64_DLINK2_FLAGS =3D DEF(GCC5_X64_DLINK2_FLAGS) -O3 =20 -RELEASE_CLANG38_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DE= FIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fpie -Oz -= flto DEF(CLANG38_X64_TARGET) +RELEASE_CLANG38_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 -mar= ch=3Dx86-64 "-DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Ds= mall -fpie -Oz -flto DEF(CLANG38_X64_TARGET) RELEASE_CLANG38_X64_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) -flt= o -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=3Delf64-x86-64 -Wl,-pie -mcmodel= =3Dsmall RELEASE_CLANG38_X64_DLINK2_FLAGS =3D DEF(GCC5_X64_DLINK2_FLAGS) -O3 =20 -NOOPT_CLANG38_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DE= FIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fpie -O0 D= EF(CLANG38_X64_TARGET) -g +NOOPT_CLANG38_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 -mar= ch=3Dx86-64 "-DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Ds= mall -fpie -O0 DEF(CLANG38_X64_TARGET) -g NOOPT_CLANG38_X64_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,= -O0 -Wl,-melf_x86_64 -Wl,--oformat=3Delf64-x86-64 -Wl,-pie -mcmodel=3Dsmall NOOPT_CLANG38_X64_DLINK2_FLAGS =3D DEF(GCC5_X64_DLINK2_FLAGS) -O0 =20 @@ -2798,17 +2798,17 @@ NOOPT_CLANGPDB_IA32_DLINK2_FLAGS =3D *_CLANGPDB_X64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANGPDB_= X64_TARGET) *_CLANGPDB_X64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANGPDB_= X64_TARGET) =20 -DEBUG_CLANGPDB_X64_CC_FLAGS =3D DEF(CLANGPDB_ALL_CC_FLAGS) -m64 "-= DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -Oz -flto= DEF(CLANGPDB_X64_TARGET) -gcodeview -funwind-tables +DEBUG_CLANGPDB_X64_CC_FLAGS =3D DEF(CLANGPDB_ALL_CC_FLAGS) -m64 -m= arch=3Dx86-64 "-DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel= =3Dsmall -Oz -flto DEF(CLANGPDB_X64_TARGET) -gcodeview -funwind-tables DEBUG_CLANGPDB_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001= /OPT:REF /OPT:ICF=3D10 /ALIGN:32 /FILEALIGN:32 /Machine:X64 /DLL /ENTRY:$(= IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /= DEBUG:GHASH /MLLVM:-exception-model=3Dwineh /lldmap DEBUG_CLANGPDB_X64_DLINK2_FLAGS =3D DEBUG_CLANGPDB_X64_GENFW_FLAGS =3D --keepexceptiontable =20 -RELEASE_CLANGPDB_X64_CC_FLAGS =3D DEF(CLANGPDB_ALL_CC_FLAGS) -m64 "-= DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -Oz -flto= DEF(CLANGPDB_X64_TARGET) -fno-unwind-tables +RELEASE_CLANGPDB_X64_CC_FLAGS =3D DEF(CLANGPDB_ALL_CC_FLAGS) -m64 -m= arch=3Dx86-64 "-DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel= =3Dsmall -Oz -flto DEF(CLANGPDB_X64_TARGET) -fno-unwind-tables RELEASE_CLANGPDB_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001= /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /ALIGN:32 /FILEALIGN:32 /SECTION:.xdat= a,D /SECTION:.pdata,D /Machine:X64 /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYS= TEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /MERGE:.rdata=3D.data /MLLV= M:-exception-model=3Dwineh /lldmap RELEASE_CLANGPDB_X64_DLINK2_FLAGS =3D RELEASE_CLANGPDB_X64_GENFW_FLAGS =3D =20 -NOOPT_CLANGPDB_X64_CC_FLAGS =3D DEF(CLANGPDB_ALL_CC_FLAGS) -m64 "-= DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -O0 DEF(C= LANGPDB_X64_TARGET) -gcodeview -funwind-tables +NOOPT_CLANGPDB_X64_CC_FLAGS =3D DEF(CLANGPDB_ALL_CC_FLAGS) -m64 -m= arch=3Dx86-64 "-DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel= =3Dsmall -O0 DEF(CLANGPDB_X64_TARGET) -gcodeview -funwind-tables NOOPT_CLANGPDB_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001= /OPT:REF /OPT:ICF=3D10 /ALIGN:32 /FILEALIGN:32 /Machine:X64 /DLL /ENTRY:$(= IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /= DEBUG:GHASH /MLLVM:-exception-model=3Dwineh /lldmap NOOPT_CLANGPDB_X64_DLINK2_FLAGS =3D NOOPT_CLANGPDB_X64_GENFW_FLAGS =3D --keepexceptiontable @@ -2901,15 +2901,15 @@ NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS =3D DEF(CLAN= GDWARF_IA32_DLINK2_FLAGS) -O0 - *_CLANGDWARF_X64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG38= _X64_TARGET) *_CLANGDWARF_X64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG38= _X64_TARGET) =20 -DEBUG_CLANGDWARF_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 "= -DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fpie -O= z -flto DEF(CLANG38_X64_TARGET) -g +DEBUG_CLANGDWARF_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 -= march=3Dx86-64 "-DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel= =3Dsmall -fpie -Oz -flto DEF(CLANG38_X64_TARGET) -g DEBUG_CLANGDWARF_X64_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLINK_FL= AGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mc= model=3Dsmall -Wl,--apply-dynamic-relocs DEBUG_CLANGDWARF_X64_DLINK2_FLAGS =3D DEF(CLANGDWARF_X64_DLINK2_FLAGS)= -O3 -fuse-ld=3Dlld =20 -RELEASE_CLANGDWARF_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 "= -DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fpie -O= z -flto DEF(CLANG38_X64_TARGET) +RELEASE_CLANGDWARF_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 -= march=3Dx86-64 "-DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel= =3Dsmall -fpie -Oz -flto DEF(CLANG38_X64_TARGET) RELEASE_CLANGDWARF_X64_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLINK_FL= AGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mc= model=3Dsmall -Wl,--apply-dynamic-relocs RELEASE_CLANGDWARF_X64_DLINK2_FLAGS =3D DEF(CLANGDWARF_X64_DLINK2_FLAGS)= -O3 -fuse-ld=3Dlld =20 -NOOPT_CLANGDWARF_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 "= -DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fpie -O= 0 DEF(CLANG38_X64_TARGET) -g +NOOPT_CLANGDWARF_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 -= march=3Dx86-64 "-DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel= =3Dsmall -fpie -O0 DEF(CLANG38_X64_TARGET) -g NOOPT_CLANGDWARF_X64_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLINK_FL= AGS) -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel= =3Dsmall -Wl,--apply-dynamic-relocs NOOPT_CLANGDWARF_X64_DLINK2_FLAGS =3D DEF(CLANGDWARF_X64_DLINK2_FLAGS)= -O0 -fuse-ld=3Dlld =20 --=20 2.36.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#90447): https://edk2.groups.io/g/devel/message/90447 Mute This Topic: https://groups.io/mt/91674193/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-