public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Chao Li" <lichao@loongson.cn>
To: "\"gaoliming\"" <gaoliming@byosoft.com.cn>
Cc: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"\"'Bob Feng'\"" <bob.c.feng@intel.com>,
	"\"'Yuwei Chen'\"" <yuwei.chen@intel.com>,
	"\"'Dongyan Qian'\"" <qiandongyan@loongson.cn>,
	"\"'Baoqi Zhang'\"" <zhangbaoqi@loongson.cn>
Subject: Re: 回复: PATCH v2 16/34] BaseTools: BaseTools changes for LoongArch platform.
Date: Thu, 15 Sep 2022 15:24:49 +0800	[thread overview]
Message-ID: <8731E464-FAA0-4D54-9404-79FF0BDECA3D@getmailspring.com> (raw)
In-Reply-To: <003a01d8c8cc$6cf133e0$46d39ba0$@byosoft.com.cn>

[-- Attachment #1: Type: text/plain, Size: 11699 bytes --]

Liming,
Ok, I will change the commit message in the V3.

Thanks,
Chao
--------

On 9月 15 2022, at 2:28 下午, "gaoliming" <gaoliming@byosoft.com.cn> wrote:
> Chao:
> This change is to update GCC5 tool chain to support LoongArch. So, the
> commit message title should be updated for GCC5 tool chain.
>
> The code change is good to me. Reviewed-by: Liming Gao <gaoliming@byosoft.
> com.cn>
>
> Thanks
> Liming
> > -----邮件原件-----
> > 发件人: Chao Li <lichao@loongson.cn>
> > 发送时间: 2022年9月14日 17:40
> > 收件人: devel@edk2.groups.io
> > 抄送: Bob Feng <bob.c.feng@intel.com>; Liming Gao
> > <gaoliming@byosoft.com.cn>; Yuwei Chen <yuwei.chen@intel.com>;
> > Dongyan Qian <qiandongyan@loongson.cn>; Baoqi Zhang
> > <zhangbaoqi@loongson.cn>
> > 主题: [PATCH v2 16/34] BaseTools: BaseTools changes for LoongArch
> > platform.
> >
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4053
> >
> > BaseTools define template files changes for building EDK2 LoongArch
> > platform.
> >
> > Cc: Bob Feng <bob.c.feng@intel.com>
> > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > Cc: Yuwei Chen <yuwei.chen@intel.com>
> >
> > Signed-off-by: Chao Li <lichao@loongson.cn>
> > Co-authored-by: Dongyan Qian <qiandongyan@loongson.cn>
> > Co-authored-by: Baoqi Zhang <zhangbaoqi@loongson.cn>
> > ---
> > 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.template
> > 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.<BR>
> >
> > # Copyright (c) 2015, Hewlett-Packard Development Company, L.P.<BR>
> >
> > # (C) Copyright 2020, Hewlett Packard Enterprise Development LP<BR>
> >
> > +# Copyright (c) 2022, Loongson Technology Corporation Limited. All
> rights
> > reserved.<BR>
> >
> > # Copyright (c) Microsoft Corporation
> >
> > #
> >
> > # SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> > @@ -267,7 +268,7 @@ DEFINE DTC_BIN =
> > 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-linux-gnu, aarch64-linux-gnu, arm-linux-gnueabi or
> riscv64-linux-gnu
> >
> > +# GCC 5 with LTO support, targeting
> > x86_64-linux-gnu, aarch64-linux-gnu, arm-linux-gnueabi, riscv64-linux-gnu
> or
> > loongarch64-linux-gnu
> >
> > # Optional:
> >
> > # Required to build platforms or ACPI
> > tables:
> >
> > # Intel(r) ACPI Compiler from
> >
> > @@ -1852,6 +1853,7 @@ DEFINE GCC_ALL_CC_FLAGS = -g
> > -Os -fshort-wchar -fno-builtin -fno-stri
> > DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS)
> > -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2
> > -mno-stack-arg-probe
> >
> > DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS)
> > -mno-red-zone -Wno-address -mno-stack-arg-probe
> >
> > DEFINE GCC_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS)
> > -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char
> > -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address
> > -mthumb -mfloat-abi=soft -fno-pic -fno-pie
> >
> > +DEFINE GCC_LOONGARCH64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS)
> > -mabi=lp64d -fno-asynchronous-unwind-tables -fno-plt -Wno-address
> > -fno-short-enums -fsigned-char -ffunction-sections -fdata-sections
> >
> > DEFINE GCC_ARM_CC_XIPFLAGS = -mno-unaligned-access
> >
> > DEFINE GCC_AARCH64_CC_FLAGS = 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-unwind-tables -fno-pic -fno-pie
> > -ffixed-x18
> >
> > DEFINE GCC_AARCH64_CC_XIPFLAGS = -mstrict-align
> > -mgeneral-regs-only
> >
> > @@ -1859,12 +1861,15 @@ DEFINE GCC_DLINK_FLAGS_COMMON =
> > -nostdlib --pie
> > DEFINE GCC_DLINK2_FLAGS_COMMON =
> > -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds
> >
> > DEFINE GCC_IA32_X64_DLINK_COMMON =
> > DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections
> >
> > DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Wl,--emit-relocs
> > -nostdlib -Wl,--gc-sections -u $(IMAGE_ENTRY_POINT)
> > -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).
> > map
> >
> > +DEFINE GCC_LOONGARCH64_DLINK_COMMON= -Wl,--emit-relocs
> > -nostdlib -Wl,--gc-sections -u $(IMAGE_ENTRY_POINT)
> > -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).
> > map
> >
> > DEFINE GCC_ARM_DLINK_FLAGS =
> > DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20
> > -Wl,--pic-veneer
> >
> > DEFINE GCC_AARCH64_DLINK_FLAGS =
> > DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20
> >
> > +DEFINE GCC_LOONGARCH64_DLINK_FLAGS =
> > DEF(GCC_LOONGARCH64_DLINK_COMMON) -z common-page-size=0x20
> >
> > DEFINE GCC_ARM_AARCH64_ASLDLINK_FLAGS =
> > -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON)
> > -z common-page-size=0x20
> >
> > DEFINE GCC_IA32_X64_ASLDLINK_FLAGS =
> > DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u
> > $(IMAGE_ENTRY_POINT)
> >
> > DEFINE GCC_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS)
> > -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
> > DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
> >
> > DEFINE GCC_AARCH64_ASLDLINK_FLAGS =
> > DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u
> > $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
> >
> > +DEFINE GCC_LOONGARCH64_ASLDLINK_FLAGS =
> > DEF(GCC_LOONGARCH64_DLINK_FLAGS) --entry ReferenceAcpiTable -u
> > $(IMAGE_ENTRY_POINT)
> >
> > DEFINE GCC_IA32_X64_DLINK_FLAGS =
> > DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT)
> > --file-alignment 0x20 --section-alignment 0x20 -Map
> > $(DEST_DIR_DEBUG)/$(BASE_NAME).map
> >
> > DEFINE GCC_ASM_FLAGS = -c -x assembler -imacros
> > AutoGen.h
> >
> > DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp
> > -include AutoGen.h
> >
> > @@ -1873,11 +1878,12 @@ DEFINE GCC_ASLPP_FLAGS = -x
> > c -E -include AutoGen.h
> > DEFINE GCC_ASLCC_FLAGS = -x c
> >
> > DEFINE GCC_WINDRES_FLAGS = -J rc -O coff
> >
> > DEFINE GCC_DTCPP_FLAGS = -E -x assembler-with-cpp
> > -imacros AutoGen.h -nostdinc -undef
> >
> > -DEFINE GCC_IA32_RC_FLAGS = -I binary -O elf32-i386
> > -B i386 --rename-section .data=.hii
> >
> > -DEFINE GCC_X64_RC_FLAGS = -I binary -O elf64-x86-64
> > -B i386 --rename-section .data=.hii
> >
> > -DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm
> > -B arm --rename-section .data=.hii
> >
> > -DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64
> > -B aarch64 --rename-section .data=.hii
> >
> > -DEFINE GCC_RISCV64_RC_FLAGS = -I binary -O elf64-littleriscv
> > -B riscv --rename-section .data=.hii
> >
> > +DEFINE GCC_IA32_RC_FLAGS = -I binary -O elf32-i386
> > -B i386 --rename-section .data=.hii
> >
> > +DEFINE GCC_X64_RC_FLAGS = -I binary -O elf64-x86-64
> > -B i386 --rename-section .data=.hii
> >
> > +DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm
> > -B arm --rename-section .data=.hii
> >
> > +DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O
> > elf64-littleaarch64 -B aarch64 --rename-section .data=.hii
> >
> > +DEFINE GCC_RISCV64_RC_FLAGS = -I binary -O elf64-littleriscv
> > -B riscv --rename-section .data=.hii
> >
> > +DEFINE GCC_LOONGARCH64_RC_FLAGS = -I binary -O elf64-loongarch
> > -B loongarch64 --rename-section .data=.hii
> >
> >
> >
> > # GCC Build Flag for included header file list generation
> >
> > DEFINE GCC_DEPS_FLAGS = -MMD -MF $@.deps
> >
> > @@ -1967,6 +1973,14 @@ DEFINE GCC5_RISCV64_CC_FLAGS
> > = DEF(GCC5_RISCV_ALL_CC_FLAGS) DEF(GC
> > DEFINE GCC5_RISCV64_DLINK_FLAGS =
> > DEF(GCC5_RISCV_ALL_DLINK_FLAGS)
> > -Wl,-melf64lriscv,--oformat=elf64-littleriscv,--no-relax
> >
> > DEFINE GCC5_RISCV64_DLINK2_FLAGS =
> > DEF(GCC5_RISCV_ALL_DLINK2_FLAGS)
> >
> > DEFINE GCC5_RISCV64_ASM_FLAGS =
> > DEF(GCC5_RISCV_ALL_ASM_FLAGS) -march=DEF(GCC5_RISCV64_ARCH)
> > -mcmodel=medany -mabi=lp64
> >
> > +
> >
> > +DEFINE GCC5_LOONGARCH64_CC_FLAGS =
> > DEF(GCC_LOONGARCH64_CC_FLAGS) -march=loongarch64 -mno-memcpy
> > -Werror -Wno-maybe-uninitialized -Wno-stringop-overflow
> > -Wno-pointer-to-int-cast -no-pie -fno-stack-protector -mno-explicit-relocs
> >
> > +DEFINE GCC5_LOONGARCH64_DLINK_FLAGS =
> > DEF(GCC_LOONGARCH64_DLINK_FLAGS)
> >
> > +DEFINE GCC5_LOONGARCH64_DLINK2_FLAGS =
> > DEF(GCC_DLINK2_FLAGS_COMMON)
> > -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
> >
> > +DEFINE GCC5_LOONGARCH64_ASLDLINK_FLAGS =
> > DEF(GCC_LOONGARCH64_ASLDLINK_FLAGS)
> >
> > +DEFINE GCC5_LOONGARCH64_ASM_FLAGS = -x
> > assembler-with-cpp -mabi=lp64d -march=loongarch64 -fno-builtin -c -Wall
> > -mno-explicit-relocs
> >
> > +DEFINE GCC5_LOONGARCH64_PP_FLAGS = -mabi=lp64d
> > -march=loongarch64 DEF(GCC_PP_FLAGS)
> >
> > +
> >
> > DEFINE GCC_PP_FLAGS = -E -x
> > assembler-with-cpp -include AutoGen.h DEF(GCC5_RISCV_OPENSBI_TYPES)
> >
> >
> >
> >
> > ##############################################################
> > ######################
> >
> > @@ -2445,6 +2459,34 @@ RELEASE_GCC5_AARCH64_DLINK_XIPFLAGS = -z
> > common-page-size=0x20
> > *_GCC5_RISCV64_OBJCOPY_FLAGS =
> >
> > *_GCC5_RISCV64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
> >
> >
> >
> > +##################
> >
> > +# GCC5 LOONGARCH64 definitions
> >
> > +##################
> >
> > +*_GCC5_LOONGARCH64_OBJCOPY_PATH =
> > ENV(GCC5_LOONGARCH64_PREFIX)objcopy
> >
> > +*_GCC5_LOONGARCH64_CC_PATH =
> > ENV(GCC5_LOONGARCH64_PREFIX)gcc
> >
> > +*_GCC5_LOONGARCH64_SLINK_PATH =
> > ENV(GCC5_LOONGARCH64_PREFIX)gcc-ar
> >
> > +*_GCC5_LOONGARCH64_DLINK_PATH =
> > ENV(GCC5_LOONGARCH64_PREFIX)gcc
> >
> > +*_GCC5_LOONGARCH64_ASLDLINK_PATH =
> > ENV(GCC5_LOONGARCH64_PREFIX)gcc
> >
> > +*_GCC5_LOONGARCH64_ASM_PATH =
> > ENV(GCC5_LOONGARCH64_PREFIX)gcc
> >
> > +*_GCC5_LOONGARCH64_PP_PATH =
> > ENV(GCC5_LOONGARCH64_PREFIX)gcc
> >
> > +*_GCC5_LOONGARCH64_VFRPP_PATH =
> > ENV(GCC5_LOONGARCH64_PREFIX)gcc
> >
> > +*_GCC5_LOONGARCH64_ASLCC_PATH =
> > ENV(GCC5_LOONGARCH64_PREFIX)gcc
> >
> > +*_GCC5_LOONGARCH64_ASLPP_PATH =
> > ENV(GCC5_LOONGARCH64_PREFIX)gcc
> >
> > +*_GCC5_LOONGARCH64_RC_PATH =
> > ENV(GCC5_LOONGARCH64_PREFIX)objcopy
> >
> > +
> >
> > +*_GCC5_LOONGARCH64_ASLCC_FLAGS =
> > DEF(GCC_ASLCC_FLAGS)
> >
> > +*_GCC5_LOONGARCH64_ASLDLINK_FLAGS =
> > DEF(GCC5_LOONGARCH64_ASLDLINK_FLAGS)
> >
> > +*_GCC5_LOONGARCH64_ASM_FLAGS =
> > DEF(GCC5_LOONGARCH64_ASM_FLAGS)
> >
> > +*_GCC5_LOONGARCH64_DLINK_FLAGS =
> > DEF(GCC5_LOONGARCH64_DLINK_FLAGS)
> >
> > +*_GCC5_LOONGARCH64_DLINK2_FLAGS =
> > DEF(GCC5_LOONGARCH64_DLINK2_FLAGS)
> >
> > +*_GCC5_LOONGARCH64_RC_FLAGS =
> > DEF(GCC_LOONGARCH64_RC_FLAGS)
> >
> > +*_GCC5_LOONGARCH64_OBJCOPY_FLAGS =
> >
> > +*_GCC5_LOONGARCH64_NASM_FLAGS = -f elf32
> >
> > +*_GCC5_LOONGARCH64_PP_FLAGS =
> > DEF(GCC5_LOONGARCH64_PP_FLAGS)
> >
> > +
> >
> > +DEBUG_GCC5_LOONGARCH64_CC_FLAGS =
> > DEF(GCC5_LOONGARCH64_CC_FLAGS)
> >
> > +RELEASE_GCC5_LOONGARCH64_CC_FLAGS =
> > DEF(GCC5_LOONGARCH64_CC_FLAGS) -Wno-unused-but-set-variable
> > -Wno-unused-variable
> >
> > +
> >
> >
> > ##############################################################
> > ######################
> >
> > #
> >
> > # CLANG35 - This configuration is used to compile under Linux to
> produce
> >
> > --
> > 2.27.0
>


[-- Attachment #2: Type: text/html, Size: 15728 bytes --]

      reply	other threads:[~2022-09-15  7:24 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-14  9:40 [PATCH v2 16/34] BaseTools: BaseTools changes for LoongArch platform Chao Li
2022-09-15  6:28 ` 回复: " gaoliming
2022-09-15  7:24   ` Chao Li [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8731E464-FAA0-4D54-9404-79FF0BDECA3D@getmailspring.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox