From nobody Tue Feb 10 20:50:22 2026 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+94410+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+94410+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277268; cv=none; d=zohomail.com; s=zohoarc; b=ZpnMAvMQAvQhH4zm7pclvDputUqfD3NoR+62FL2zwtXbG6/hjifzYtlOrSn4m4N0B5hY0Y4neoW4m2huJU1oWw0OroKIr3LE75oYWTA4Xc+RM1idjLG+mL83piyTxWRzcC+EyklKcaY5NvSGSChGpOU9hvpkUtBieCeJPShkMis= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277268; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=1rOYiqvBSBZUqraopq8EupROgKGPx5fpRhKPznf0kxU=; b=U73Vfmi52BeppynKMaMWLwAr7qwvRx8QzF4J6GmY00KBx9jOyJbMZWscF3RBHgnm/5LijbdLPujnMw7Psh6klUxlMfQCRBu0NUechxPAzKzwg6beg7zJgZZkp7tBGuaM9QDRS772vNnxa5HhRIzkMLdb8RSuGySYqsJ+VP4yzVg= 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+94410+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277268052612.4153496735682; Tue, 27 Sep 2022 04:14:28 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 150DYY1788612xSFuNAi9fa1; Tue, 27 Sep 2022 04:14:27 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web11.9754.1664277266665360701 for ; Tue, 27 Sep 2022 04:14:27 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S18; Tue, 27 Sep 2022 19:14:25 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Bob Feng , Liming Gao , Yuwei Chen , Dongyan Qian , Baoqi Zhang Subject: [edk2-devel] [PATCH v3 16/34] BaseTools: Updated for GCC5 tool chain for LoongArch platfrom. Date: Tue, 27 Sep 2022 19:13:36 +0800 Message-Id: <20220927111354.4107719-17-lichao@loongson.cn> In-Reply-To: <20220927111354.4107719-1-lichao@loongson.cn> References: <20220927111354.4107719-1-lichao@loongson.cn> MIME-Version: 1.0 X-CM-TRANSID: AQAAf8Cxrmv02jJjirsiAA--.49762S18 X-Coremail-Antispam: 1UD129KBjvJXoW3CFWfKr4rAr15tFWfWr4kZwb_yoWDAr47pa y8Kr45G3Wxtrn7KF4xK3Wa9FW2vF4IkryUGrW7Cr4rCa1Du3s8Jas8ta1UGrWjgr1Iy3yU C34q9wsxur10kwUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAYs6 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,lichao@loongson.cn X-Gm-Message-State: kwRdqTQqTJrhvyWfW1mlddxsx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277267; bh=U55Ku1Vpsd32PXLtJDVVALqDFlzo4oXkGngxQ9Mke2E=; h=Cc:Date:From:Reply-To:Subject:To; b=QXNGT6nMbi91415ldHQcRSNBkl4thzaAgaXNSyyqc1Em20EB/hDLlGFYie5avPQVSn9 KvVcVCiEkzzUbuAIOzAODRs46UgtAvcGVdI3H9taErD7EG3fiQA72sw25t4C2FSitSk23 SyvhezmmQBYATbD3GUA/3NFSg8ifibCilyI= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277269231100035 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 BaseTools define template files changes for building EDK2 LoongArch platform. Cc: Bob Feng Cc: Liming Gao Cc: Yuwei Chen Signed-off-by: Chao Li Co-authored-by: Dongyan Qian Co-authored-by: Baoqi Zhang Reviewed-by: Liming Gao --- BaseTools/Conf/tools_def.template | 54 +++++++++++++++++++++++++++---- 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.t= emplate index 5ed19810b7..9ceadeaa59 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -4,6 +4,7 @@ # Portions copyright (c) 2011 - 2019, ARM Ltd. All rights reserved.
# Copyright (c) 2015, Hewlett-Packard Development Company, L.P.
# (C) Copyright 2020, Hewlett Packard Enterprise Development LP
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
# Copyright (c) Microsoft Corporation # # SPDX-License-Identifier: BSD-2-Clause-Patent @@ -267,7 +268,7 @@ DEFINE DTC_BIN =3D ENV(DTC_PREFIX)dtc # Intel(r) ACPI Compiler from # https://acpica.org/downloads # GCC5 -Linux,Windows- Requires: -# GCC 5 with LTO support, targeting x86_64-lin= ux-gnu, aarch64-linux-gnu, arm-linux-gnueabi or riscv64-linux-gnu +# GCC 5 with LTO support, targeting x86_64-lin= ux-gnu, aarch64-linux-gnu, arm-linux-gnueabi, riscv64-linux-gnu or loongarc= h64-linux-gnu # Optional: # Required to build platforms or ACPI tables: # Intel(r) ACPI Compiler from @@ -1852,6 +1853,7 @@ DEFINE GCC_ALL_CC_FLAGS =3D -g -Os -fshort= -wchar -fno-builtin -fno-stri DEFINE GCC_IA32_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -m32 -malign-= double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-p= robe DEFINE GCC_X64_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -mno-red-zone= -Wno-address -mno-stack-arg-probe DEFINE GCC_ARM_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -mlittle-endi= an -mabi=3Daapcs -fno-short-enums -funsigned-char -ffunction-sections -fdat= a-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=3Dsoft -fn= o-pic -fno-pie +DEFINE GCC_LOONGARCH64_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -mabi=3Dlp64d= -fno-asynchronous-unwind-tables -fno-plt -Wno-address -fno-short-enums -fs= igned-char -ffunction-sections -fdata-sections DEFINE GCC_ARM_CC_XIPFLAGS =3D -mno-unaligned-access DEFINE GCC_AARCH64_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -mlittle-endi= an -fno-short-enums -fverbose-asm -funsigned-char -ffunction-sections -fda= ta-sections -Wno-address -fno-asynchronous-unwind-tables -fno-unwind-tables= -fno-pic -fno-pie -ffixed-x18 DEFINE GCC_AARCH64_CC_XIPFLAGS =3D -mstrict-align -mgeneral-regs-only @@ -1859,12 +1861,15 @@ DEFINE GCC_DLINK_FLAGS_COMMON =3D -nostdlib --= pie DEFINE GCC_DLINK2_FLAGS_COMMON =3D -Wl,--script=3D$(EDK_TOOLS_PATH)/Sc= ripts/GccBase.lds DEFINE GCC_IA32_X64_DLINK_COMMON =3D DEF(GCC_DLINK_FLAGS_COMMON) --gc-se= ctions DEFINE GCC_ARM_AARCH64_DLINK_COMMON=3D -Wl,--emit-relocs -nostdlib -Wl,--g= c-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_= DIR_DEBUG)/$(BASE_NAME).map +DEFINE GCC_LOONGARCH64_DLINK_COMMON=3D -Wl,--emit-relocs -nostdlib -Wl,--g= c-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_= DIR_DEBUG)/$(BASE_NAME).map DEFINE GCC_ARM_DLINK_FLAGS =3D DEF(GCC_ARM_AARCH64_DLINK_COMMON) -= z common-page-size=3D0x20 -Wl,--pic-veneer DEFINE GCC_AARCH64_DLINK_FLAGS =3D DEF(GCC_ARM_AARCH64_DLINK_COMMON) -= z common-page-size=3D0x20 +DEFINE GCC_LOONGARCH64_DLINK_FLAGS =3D DEF(GCC_LOONGARCH64_DLINK_COMMON) -= z common-page-size=3D0x20 DEFINE GCC_ARM_AARCH64_ASLDLINK_FLAGS =3D -Wl,--defsym=3DPECOFF_HEADER_SIZ= E=3D0 DEF(GCC_DLINK2_FLAGS_COMMON) -z common-page-size=3D0x20 DEFINE GCC_IA32_X64_ASLDLINK_FLAGS =3D DEF(GCC_IA32_X64_DLINK_COMMON) --en= try _ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEFINE GCC_ARM_ASLDLINK_FLAGS =3D DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entr= y,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_F= LAGS) DEFINE GCC_AARCH64_ASLDLINK_FLAGS =3D DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--= entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLI= NK_FLAGS) +DEFINE GCC_LOONGARCH64_ASLDLINK_FLAGS =3D DEF(GCC_LOONGARCH64_DLINK_FLAGS)= --entry ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEFINE GCC_IA32_X64_DLINK_FLAGS =3D DEF(GCC_IA32_X64_DLINK_COMMON) --en= try _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -M= ap $(DEST_DIR_DEBUG)/$(BASE_NAME).map DEFINE GCC_ASM_FLAGS =3D -c -x assembler -imacros AutoGen.h DEFINE GCC_PP_FLAGS =3D -E -x assembler-with-cpp -include A= utoGen.h @@ -1873,11 +1878,12 @@ DEFINE GCC_ASLPP_FLAGS =3D -x c -E -inc= lude AutoGen.h DEFINE GCC_ASLCC_FLAGS =3D -x c DEFINE GCC_WINDRES_FLAGS =3D -J rc -O coff DEFINE GCC_DTCPP_FLAGS =3D -E -x assembler-with-cpp -imacros A= utoGen.h -nostdinc -undef -DEFINE GCC_IA32_RC_FLAGS =3D -I binary -O elf32-i386 -B= i386 --rename-section .data=3D.hii -DEFINE GCC_X64_RC_FLAGS =3D -I binary -O elf64-x86-64 -B= i386 --rename-section .data=3D.hii -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-littleaarch64 -B= aarch64 --rename-section .data=3D.hii -DEFINE GCC_RISCV64_RC_FLAGS =3D -I binary -O elf64-littleriscv -B= riscv --rename-section .data=3D.hii +DEFINE GCC_IA32_RC_FLAGS =3D -I binary -O elf32-i386 -B= i386 --rename-section .data=3D.hii +DEFINE GCC_X64_RC_FLAGS =3D -I binary -O elf64-x86-64 -B= i386 --rename-section .data=3D.hii +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-littleaarch64 -B= aarch64 --rename-section .data=3D.hii +DEFINE GCC_RISCV64_RC_FLAGS =3D -I binary -O elf64-littleriscv -B= riscv --rename-section .data=3D.hii +DEFINE GCC_LOONGARCH64_RC_FLAGS =3D -I binary -O elf64-loongarch -B= loongarch64 --rename-section .data=3D.hii =20 # GCC Build Flag for included header file list generation DEFINE GCC_DEPS_FLAGS =3D -MMD -MF $@.deps @@ -1967,6 +1973,14 @@ DEFINE GCC5_RISCV64_CC_FLAGS =3D DEF(G= CC5_RISCV_ALL_CC_FLAGS) DEF(GC DEFINE GCC5_RISCV64_DLINK_FLAGS =3D DEF(GCC5_RISCV_ALL_DLINK_FL= AGS) -Wl,-melf64lriscv,--oformat=3Delf64-littleriscv,--no-relax DEFINE GCC5_RISCV64_DLINK2_FLAGS =3D DEF(GCC5_RISCV_ALL_DLINK2_F= LAGS) DEFINE GCC5_RISCV64_ASM_FLAGS =3D DEF(GCC5_RISCV_ALL_ASM_FLAG= S) -march=3DDEF(GCC5_RISCV64_ARCH) -mcmodel=3Dmedany -mabi=3Dlp64 + +DEFINE GCC5_LOONGARCH64_CC_FLAGS =3D DEF(GCC_LOONGARCH64_CC_FLAG= S) -march=3Dloongarch64 -mno-memcpy -Werror -Wno-maybe-uninitialized -Wno-s= tringop-overflow -Wno-pointer-to-int-cast -no-pie -fno-stack-protector -mno= -explicit-relocs +DEFINE GCC5_LOONGARCH64_DLINK_FLAGS =3D DEF(GCC_LOONGARCH64_DLINK_F= LAGS) +DEFINE GCC5_LOONGARCH64_DLINK2_FLAGS =3D DEF(GCC_DLINK2_FLAGS_COMMON= ) -Wl,--defsym=3DPECOFF_HEADER_SIZE=3D0x228 +DEFINE GCC5_LOONGARCH64_ASLDLINK_FLAGS =3D DEF(GCC_LOONGARCH64_ASLDLIN= K_FLAGS) +DEFINE GCC5_LOONGARCH64_ASM_FLAGS =3D -x assembler-with-cpp -mabi= =3Dlp64d -march=3Dloongarch64 -fno-builtin -c -Wall -mno-explicit-relocs +DEFINE GCC5_LOONGARCH64_PP_FLAGS =3D -mabi=3Dlp64d -march=3Dloon= garch64 DEF(GCC_PP_FLAGS) + DEFINE GCC_PP_FLAGS =3D -E -x assembler-with-cpp -i= nclude AutoGen.h DEF(GCC5_RISCV_OPENSBI_TYPES) =20 ##########################################################################= ########## @@ -2445,6 +2459,34 @@ RELEASE_GCC5_AARCH64_DLINK_XIPFLAGS =3D -z common-pa= ge-size=3D0x20 *_GCC5_RISCV64_OBJCOPY_FLAGS =3D *_GCC5_RISCV64_DTCPP_FLAGS =3D DEF(GCC_DTCPP_FLAGS) =20 +################## +# GCC5 LOONGARCH64 definitions +################## +*_GCC5_LOONGARCH64_OBJCOPY_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)ob= jcopy +*_GCC5_LOONGARCH64_CC_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gcc +*_GCC5_LOONGARCH64_SLINK_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gc= c-ar +*_GCC5_LOONGARCH64_DLINK_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gcc +*_GCC5_LOONGARCH64_ASLDLINK_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gcc +*_GCC5_LOONGARCH64_ASM_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gcc +*_GCC5_LOONGARCH64_PP_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gcc +*_GCC5_LOONGARCH64_VFRPP_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gcc +*_GCC5_LOONGARCH64_ASLCC_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gcc +*_GCC5_LOONGARCH64_ASLPP_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gcc +*_GCC5_LOONGARCH64_RC_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)ob= jcopy + +*_GCC5_LOONGARCH64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) +*_GCC5_LOONGARCH64_ASLDLINK_FLAGS =3D DEF(GCC5_LOONGARCH64_ASLDLINK_= FLAGS) +*_GCC5_LOONGARCH64_ASM_FLAGS =3D DEF(GCC5_LOONGARCH64_ASM_FLAGS) +*_GCC5_LOONGARCH64_DLINK_FLAGS =3D DEF(GCC5_LOONGARCH64_DLINK_FLA= GS) +*_GCC5_LOONGARCH64_DLINK2_FLAGS =3D DEF(GCC5_LOONGARCH64_DLINK2_FL= AGS) +*_GCC5_LOONGARCH64_RC_FLAGS =3D DEF(GCC_LOONGARCH64_RC_FLAGS) +*_GCC5_LOONGARCH64_OBJCOPY_FLAGS =3D +*_GCC5_LOONGARCH64_NASM_FLAGS =3D -f elf32 +*_GCC5_LOONGARCH64_PP_FLAGS =3D DEF(GCC5_LOONGARCH64_PP_FLAGS) + +DEBUG_GCC5_LOONGARCH64_CC_FLAGS =3D DEF(GCC5_LOONGARCH64_CC_FLAGS) +RELEASE_GCC5_LOONGARCH64_CC_FLAGS =3D DEF(GCC5_LOONGARCH64_CC_FLAGS)= -Wno-unused-but-set-variable -Wno-unused-variable + ##########################################################################= ########## # # CLANG35 - This configuration is used to compile under Linux to produce --=20 2.27.0 -=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 (#94410): https://edk2.groups.io/g/devel/message/94410 Mute This Topic: https://groups.io/mt/93947368/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-