From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.7210.1663226695862058305 for ; Thu, 15 Sep 2022 00:24:58 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: loongson.cn, ip: 114.242.206.163, mailfrom: lichao@loongson.cn) Received: from lichao-PC (unknown [10.40.24.149]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cx9OFB0yJjhuQZAA--.33651S2; Thu, 15 Sep 2022 15:24:49 +0800 (CST) Date: Thu, 15 Sep 2022 15:24:49 +0800 From: "Chao Li" To: =?utf-8?Q?=22gaoliming=22?= Cc: "=?utf-8?Q?devel=40edk2.groups.io?=" , =?utf-8?Q?=22'Bob_Feng'=22?= , =?utf-8?Q?=22'Yuwei_Chen'=22?= , =?utf-8?Q?=22'Dongyan_Qian'=22?= , =?utf-8?Q?=22'Baoqi_Zhang'=22?= Message-ID: <8731E464-FAA0-4D54-9404-79FF0BDECA3D@getmailspring.com> In-Reply-To: <003a01d8c8cc$6cf133e0$46d39ba0$@byosoft.com.cn> References: <003a01d8c8cc$6cf133e0$46d39ba0$@byosoft.com.cn> Subject: =?UTF-8?B?UmU6IOWbnuWkjTogUEFUQ0ggdjIgMTYvMzRdIEJhc2VUb29sczogQmFzZVRvb2xzIGNoYW5nZXMgZm9yIExvb25nQXJjaCBwbGF0Zm9ybS4=?= X-Mailer: Mailspring MIME-Version: 1.0 X-CM-TRANSID: AQAAf8Cx9OFB0yJjhuQZAA--.33651S2 X-Coremail-Antispam: 1UD129KBjvJXoW3uF4DZF18ur4DWw4rWF18AFb_yoWkAr45pa yxKr45G3Wxtr1xWF4xKFyagFW2gF4IkryUGrWUAr4rC3Zruwn8Aa47ta1UCrWUKr1Iy3yU C34q9wsxur40k37anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUP014x267AKxVWUJVW8JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26F1j6w1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4U JVWxJr1l84ACjcxK6I8E87Iv67AKxVWxJr0_GcWl84ACjcxK6I8E87Iv6xkF7I0E14v26r xl6s0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVAYj202j2C_Jr0_Gr1l5I8CrVAC Y4xI64kE6c02F40Ex7xfMc02F40Ew4AK048IF2xKxVW8JVW5JwAv7VC0I7IYx2IY67AKxV WUtVWrXwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcxkI 7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwCjr7xvwVCIw2I0I7xG6c02F41lc2xSY4 AK6svPMxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAF wI0_JrI_JrWlx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc4 0Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1I6r4UMIIF0xvE2Ix0cI8IcVCY1x0267AK xVW8JVWxJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr 1lIxAIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7VUjuHq7UU UUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQAKCGMhxFwRQQABsI Content-Type: multipart/alternative; boundary="6322d341_2643b16a_10c77" --6322d341_2643b16a_10c77 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Liming, Ok, I will change the commit message in the V3. Thanks, Chao -------- On 9=E6=9C=88 15 2022, at 2:28 =E4=B8=8B=E5=8D=88, =22gaoliming=22 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 com.cn> > > Thanks > Liming > > -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- > > =E5=8F=91=E4=BB=B6=E4=BA=BA: Chao Li > > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2022=E5=B9=B49=E6=9C=8814=E6=97= =A5 17:40 > > =E6=94=B6=E4=BB=B6=E4=BA=BA: devel=40edk2.groups.io > > =E6=8A=84=E9=80=81: Bob =46eng ; Liming Gao > > ; Yuwei Chen ; > > Dongyan Qian ; Baoqi Zhang > > > > =E4=B8=BB=E9=A2=98: =5BPATCH v2 16/34=5D BaseTools: BaseTools changes= for LoongArch > > platform. > > > > RE=46: https://bugzilla.tianocore.org/show=5Fbug.cgi=3Fid=3D4053 > > > > BaseTools define template files changes for building EDK2 LoongArch > > platform. > > > > Cc: Bob =46eng > > Cc: Liming Gao > > Cc: Yuwei Chen > > > > Signed-off-by: Chao Li > > Co-authored-by: Dongyan Qian > > Co-authored-by: Baoqi Zhang > > --- > > BaseTools/Conf/tools=5Fdef.template =7C 54 > > +++++++++++++++++++++++++++---- > > 1 file changed, 48 insertions(+), 6 deletions(-) > > > > diff --git a/BaseTools/Conf/tools=5Fdef.template > > b/BaseTools/Conf/tools=5Fdef.template > > index 5ed19810b7..9ceadeaa59 100755 > > --- a/BaseTools/Conf/tools=5Fdef.template > > +++ b/BaseTools/Conf/tools=5Fdef.template > > =40=40 -4,6 +4,7 =40=40 > > =23 Portions copyright (c) 2011 - 2019, ARM Ltd. All rights reserved.=
> > > > =23 Copyright (c) 2015, Hewlett-Packard Development Company, L.P.
= > > > > =23 (C) Copyright 2020, Hewlett Packard Enterprise Development LP
= > > > > +=23 Copyright (c) 2022, Loongson Technology Corporation Limited. All= > rights > > reserved.
> > > > =23 Copyright (c) Microsoft Corporation > > > > =23 > > > > =23 SPDX-License-Identifier: BSD-2-Clause-Patent > > > > =40=40 -267,7 +268,7 =40=40 DE=46INE DTC=5FBIN =3D > > ENV(DTC=5FPRE=46IX)dtc > > =23 Intel(r) ACPI Compiler from > > > > =23 https://acpica.org/downloads > > > > =23 GCC5 -Linux,Windows- Requires: > > > > -=23 GCC 5 with LTO support, targeting > > x86=5F64-linux-gnu, aarch64-linux-gnu, arm-linux-gnueabi or > riscv64-linux-gnu > > > > +=23 GCC 5 with LTO support, targeting > > x86=5F64-linux-gnu, aarch64-linux-gnu, arm-linux-gnueabi, riscv64-lin= ux-gnu > or > > loongarch64-linux-gnu > > > > =23 Optional: > > > > =23 Required to build platforms or ACPI > > tables: > > > > =23 Intel(r) ACPI Compiler from > > > > =40=40 -1852,6 +1853,7 =40=40 DE=46INE GCC=5FALL=5FCC=5F=46LAGS =3D -= g > > -Os -fshort-wchar -fno-builtin -fno-stri > > DE=46INE GCC=5FIA32=5FCC=5F=46LAGS =3D DE=46(GCC=5FALL=5FCC=5F=46LAGS= ) > > -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -= O2 > > -mno-stack-arg-probe > > > > DE=46INE GCC=5FX64=5FCC=5F=46LAGS =3D DE=46(GCC=5FALL=5FCC=5F=46LAGS)= > > -mno-red-zone -Wno-address -mno-stack-arg-probe > > > > DE=46INE GCC=5FARM=5FCC=5F=46LAGS =3D DE=46(GCC=5FALL=5FCC=5F=46LAGS)= > > -mlittle-endian -mabi=3Daapcs -fno-short-enums -funsigned-char > > -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address= > > -mthumb -mfloat-abi=3Dsoft -fno-pic -fno-pie > > > > +DE=46INE GCC=5FLOONGARCH64=5FCC=5F=46LAGS =3D DE=46(GCC=5FALL=5FCC=5F= =46LAGS) > > -mabi=3Dlp64d -fno-asynchronous-unwind-tables -fno-plt -Wno-address > > -fno-short-enums -fsigned-char -ffunction-sections -fdata-sections > > > > DE=46INE GCC=5FARM=5FCC=5FXIP=46LAGS =3D -mno-unaligned-access > > > > DE=46INE GCC=5FAARCH64=5FCC=5F=46LAGS =3D DE=46(GCC=5FALL=5FCC=5F=46L= AGS) > > -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 > > > > DE=46INE GCC=5FAARCH64=5FCC=5FXIP=46LAGS =3D -mstrict-align > > -mgeneral-regs-only > > > > =40=40 -1859,12 +1861,15 =40=40 DE=46INE GCC=5FDLINK=5F=46LAGS=5FCOMM= ON =3D > > -nostdlib --pie > > DE=46INE GCC=5FDLINK2=5F=46LAGS=5FCOMMON =3D > > -Wl,--script=3D=24(EDK=5FTOOLS=5FPATH)/Scripts/GccBase.lds > > > > DE=46INE GCC=5FIA32=5FX64=5FDLINK=5FCOMMON =3D > > DE=46(GCC=5FDLINK=5F=46LAGS=5FCOMMON) --gc-sections > > > > DE=46INE GCC=5FARM=5FAARCH64=5FDLINK=5FCOMMON=3D -Wl,--emit-relocs > > -nostdlib -Wl,--gc-sections -u =24(IMAGE=5FENTRY=5FPOINT) > > -Wl,-e,=24(IMAGE=5FENTRY=5FPOINT),-Map,=24(DEST=5FDIR=5FDEBUG)/=24(BA= SE=5FNAME). > > map > > > > +DE=46INE GCC=5FLOONGARCH64=5FDLINK=5FCOMMON=3D -Wl,--emit-relocs > > -nostdlib -Wl,--gc-sections -u =24(IMAGE=5FENTRY=5FPOINT) > > -Wl,-e,=24(IMAGE=5FENTRY=5FPOINT),-Map,=24(DEST=5FDIR=5FDEBUG)/=24(BA= SE=5FNAME). > > map > > > > DE=46INE GCC=5FARM=5FDLINK=5F=46LAGS =3D > > DE=46(GCC=5FARM=5FAARCH64=5FDLINK=5FCOMMON) -z common-page-size=3D0x2= 0 > > -Wl,--pic-veneer > > > > DE=46INE GCC=5FAARCH64=5FDLINK=5F=46LAGS =3D > > DE=46(GCC=5FARM=5FAARCH64=5FDLINK=5FCOMMON) -z common-page-size=3D0x2= 0 > > > > +DE=46INE GCC=5FLOONGARCH64=5FDLINK=5F=46LAGS =3D > > DE=46(GCC=5FLOONGARCH64=5FDLINK=5FCOMMON) -z common-page-size=3D0x20 > > > > DE=46INE GCC=5FARM=5FAARCH64=5FASLDLINK=5F=46LAGS =3D > > -Wl,--defsym=3DPECO=46=46=5FHEADER=5FSIZE=3D0 DE=46(GCC=5FDLINK2=5F=46= LAGS=5FCOMMON) > > -z common-page-size=3D0x20 > > > > DE=46INE GCC=5FIA32=5FX64=5FASLDLINK=5F=46LAGS =3D > > DE=46(GCC=5FIA32=5FX64=5FDLINK=5FCOMMON) --entry =5FReferenceAcpiTabl= e -u > > =24(IMAGE=5FENTRY=5FPOINT) > > > > DE=46INE GCC=5FARM=5FASLDLINK=5F=46LAGS =3D DE=46(GCC=5FARM=5FDLINK=5F= =46LAGS) > > -Wl,--entry,ReferenceAcpiTable -u =24(IMAGE=5FENTRY=5FPOINT) > > DE=46(GCC=5FARM=5FAARCH64=5FASLDLINK=5F=46LAGS) > > > > DE=46INE GCC=5FAARCH64=5FASLDLINK=5F=46LAGS =3D > > DE=46(GCC=5FAARCH64=5FDLINK=5F=46LAGS) -Wl,--entry,ReferenceAcpiTable= -u > > =24(IMAGE=5FENTRY=5FPOINT) DE=46(GCC=5FARM=5FAARCH64=5FASLDLINK=5F=46= LAGS) > > > > +DE=46INE GCC=5FLOONGARCH64=5FASLDLINK=5F=46LAGS =3D > > DE=46(GCC=5FLOONGARCH64=5FDLINK=5F=46LAGS) --entry ReferenceAcpiTable= -u > > =24(IMAGE=5FENTRY=5FPOINT) > > > > DE=46INE GCC=5FIA32=5FX64=5FDLINK=5F=46LAGS =3D > > DE=46(GCC=5FIA32=5FX64=5FDLINK=5FCOMMON) --entry =5F=24(IMAGE=5FENTRY= =5FPOINT) > > --file-alignment 0x20 --section-alignment 0x20 -Map > > =24(DEST=5FDIR=5FDEBUG)/=24(BASE=5FNAME).map > > > > DE=46INE GCC=5FASM=5F=46LAGS =3D -c -x assembler -imacros > > AutoGen.h > > > > DE=46INE GCC=5FPP=5F=46LAGS =3D -E -x assembler-with-cpp > > -include AutoGen.h > > > > =40=40 -1873,11 +1878,12 =40=40 DE=46INE GCC=5FASLPP=5F=46LAGS =3D -x= > > c -E -include AutoGen.h > > DE=46INE GCC=5FASLCC=5F=46LAGS =3D -x c > > > > DE=46INE GCC=5FWINDRES=5F=46LAGS =3D -J rc -O coff > > > > DE=46INE GCC=5FDTCPP=5F=46LAGS =3D -E -x assembler-with-cpp > > -imacros AutoGen.h -nostdinc -undef > > > > -DE=46INE GCC=5FIA32=5FRC=5F=46LAGS =3D -I binary -O elf32-i386 > > -B i386 --rename-section .data=3D.hii > > > > -DE=46INE GCC=5FX64=5FRC=5F=46LAGS =3D -I binary -O elf64-x86-64 > > -B i386 --rename-section .data=3D.hii > > > > -DE=46INE GCC=5FARM=5FRC=5F=46LAGS =3D -I binary -O elf32-littlearm > > -B arm --rename-section .data=3D.hii > > > > -DE=46INE GCC=5FAARCH64=5FRC=5F=46LAGS =3D -I binary -O elf64-littlea= arch64 > > -B aarch64 --rename-section .data=3D.hii > > > > -DE=46INE GCC=5FRISCV64=5FRC=5F=46LAGS =3D -I binary -O elf64-littler= iscv > > -B riscv --rename-section .data=3D.hii > > > > +DE=46INE GCC=5FIA32=5FRC=5F=46LAGS =3D -I binary -O elf32-i386 > > -B i386 --rename-section .data=3D.hii > > > > +DE=46INE GCC=5FX64=5FRC=5F=46LAGS =3D -I binary -O elf64-x86-64 > > -B i386 --rename-section .data=3D.hii > > > > +DE=46INE GCC=5FARM=5FRC=5F=46LAGS =3D -I binary -O elf32-littlearm > > -B arm --rename-section .data=3D.hii > > > > +DE=46INE GCC=5FAARCH64=5FRC=5F=46LAGS =3D -I binary -O > > elf64-littleaarch64 -B aarch64 --rename-section .data=3D.hii > > > > +DE=46INE GCC=5FRISCV64=5FRC=5F=46LAGS =3D -I binary -O elf64-littler= iscv > > -B riscv --rename-section .data=3D.hii > > > > +DE=46INE GCC=5FLOONGARCH64=5FRC=5F=46LAGS =3D -I binary -O elf64-loo= ngarch > > -B loongarch64 --rename-section .data=3D.hii > > > > > > > > =23 GCC Build =46lag for included header file list generation > > > > DE=46INE GCC=5FDEPS=5F=46LAGS =3D -MMD -M=46 =24=40.deps > > > > =40=40 -1967,6 +1973,14 =40=40 DE=46INE GCC5=5FRISCV64=5FCC=5F=46LAGS= > > =3D DE=46(GCC5=5FRISCV=5FALL=5FCC=5F=46LAGS) DE=46(GC > > DE=46INE GCC5=5FRISCV64=5FDLINK=5F=46LAGS =3D > > DE=46(GCC5=5FRISCV=5FALL=5FDLINK=5F=46LAGS) > > -Wl,-melf64lriscv,--oformat=3Delf64-littleriscv,--no-relax > > > > DE=46INE GCC5=5FRISCV64=5FDLINK2=5F=46LAGS =3D > > DE=46(GCC5=5FRISCV=5FALL=5FDLINK2=5F=46LAGS) > > > > DE=46INE GCC5=5FRISCV64=5FASM=5F=46LAGS =3D > > DE=46(GCC5=5FRISCV=5FALL=5FASM=5F=46LAGS) -march=3DDE=46(GCC5=5FRISCV= 64=5FARCH) > > -mcmodel=3Dmedany -mabi=3Dlp64 > > > > + > > > > +DE=46INE GCC5=5FLOONGARCH64=5FCC=5F=46LAGS =3D > > DE=46(GCC=5FLOONGARCH64=5FCC=5F=46LAGS) -march=3Dloongarch64 -mno-mem= cpy > > -Werror -Wno-maybe-uninitialized -Wno-stringop-overflow > > -Wno-pointer-to-int-cast -no-pie -fno-stack-protector -mno-explicit-r= elocs > > > > +DE=46INE GCC5=5FLOONGARCH64=5FDLINK=5F=46LAGS =3D > > DE=46(GCC=5FLOONGARCH64=5FDLINK=5F=46LAGS) > > > > +DE=46INE GCC5=5FLOONGARCH64=5FDLINK2=5F=46LAGS =3D > > DE=46(GCC=5FDLINK2=5F=46LAGS=5FCOMMON) > > -Wl,--defsym=3DPECO=46=46=5FHEADER=5FSIZE=3D0x228 > > > > +DE=46INE GCC5=5FLOONGARCH64=5FASLDLINK=5F=46LAGS =3D > > DE=46(GCC=5FLOONGARCH64=5FASLDLINK=5F=46LAGS) > > > > +DE=46INE GCC5=5FLOONGARCH64=5FASM=5F=46LAGS =3D -x > > assembler-with-cpp -mabi=3Dlp64d -march=3Dloongarch64 -fno-builtin -c= -Wall > > -mno-explicit-relocs > > > > +DE=46INE GCC5=5FLOONGARCH64=5FPP=5F=46LAGS =3D -mabi=3Dlp64d > > -march=3Dloongarch64 DE=46(GCC=5FPP=5F=46LAGS) > > > > + > > > > DE=46INE GCC=5FPP=5F=46LAGS =3D -E -x > > assembler-with-cpp -include AutoGen.h DE=46(GCC5=5FRISCV=5FOPENSBI=5F= TYPES) > > > > > > > > > > =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23= =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23= =23=23=23=23=23=23=23=23=23=23=23=23=23=23 > > =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23 > > > > =40=40 -2445,6 +2459,34 =40=40 RELEASE=5FGCC5=5FAARCH64=5FDLINK=5FXIP= =46LAGS =3D -z > > common-page-size=3D0x20 > > *=5FGCC5=5FRISCV64=5FOBJCOPY=5F=46LAGS =3D > > > > *=5FGCC5=5FRISCV64=5FDTCPP=5F=46LAGS =3D DE=46(GCC=5FDTCPP=5F=46LAGS)= > > > > > > > > +=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23 > > > > +=23 GCC5 LOONGARCH64 definitions > > > > +=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23 > > > > +*=5FGCC5=5FLOONGARCH64=5FOBJCOPY=5FPATH =3D > > ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)objcopy > > > > +*=5FGCC5=5FLOONGARCH64=5FCC=5FPATH =3D > > ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)gcc > > > > +*=5FGCC5=5FLOONGARCH64=5FSLINK=5FPATH =3D > > ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)gcc-ar > > > > +*=5FGCC5=5FLOONGARCH64=5FDLINK=5FPATH =3D > > ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)gcc > > > > +*=5FGCC5=5FLOONGARCH64=5FASLDLINK=5FPATH =3D > > ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)gcc > > > > +*=5FGCC5=5FLOONGARCH64=5FASM=5FPATH =3D > > ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)gcc > > > > +*=5FGCC5=5FLOONGARCH64=5FPP=5FPATH =3D > > ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)gcc > > > > +*=5FGCC5=5FLOONGARCH64=5FV=46RPP=5FPATH =3D > > ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)gcc > > > > +*=5FGCC5=5FLOONGARCH64=5FASLCC=5FPATH =3D > > ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)gcc > > > > +*=5FGCC5=5FLOONGARCH64=5FASLPP=5FPATH =3D > > ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)gcc > > > > +*=5FGCC5=5FLOONGARCH64=5FRC=5FPATH =3D > > ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)objcopy > > > > + > > > > +*=5FGCC5=5FLOONGARCH64=5FASLCC=5F=46LAGS =3D > > DE=46(GCC=5FASLCC=5F=46LAGS) > > > > +*=5FGCC5=5FLOONGARCH64=5FASLDLINK=5F=46LAGS =3D > > DE=46(GCC5=5FLOONGARCH64=5FASLDLINK=5F=46LAGS) > > > > +*=5FGCC5=5FLOONGARCH64=5FASM=5F=46LAGS =3D > > DE=46(GCC5=5FLOONGARCH64=5FASM=5F=46LAGS) > > > > +*=5FGCC5=5FLOONGARCH64=5FDLINK=5F=46LAGS =3D > > DE=46(GCC5=5FLOONGARCH64=5FDLINK=5F=46LAGS) > > > > +*=5FGCC5=5FLOONGARCH64=5FDLINK2=5F=46LAGS =3D > > DE=46(GCC5=5FLOONGARCH64=5FDLINK2=5F=46LAGS) > > > > +*=5FGCC5=5FLOONGARCH64=5FRC=5F=46LAGS =3D > > DE=46(GCC=5FLOONGARCH64=5FRC=5F=46LAGS) > > > > +*=5FGCC5=5FLOONGARCH64=5FOBJCOPY=5F=46LAGS =3D > > > > +*=5FGCC5=5FLOONGARCH64=5FNASM=5F=46LAGS =3D -f elf32 > > > > +*=5FGCC5=5FLOONGARCH64=5FPP=5F=46LAGS =3D > > DE=46(GCC5=5FLOONGARCH64=5FPP=5F=46LAGS) > > > > + > > > > +DEBUG=5FGCC5=5FLOONGARCH64=5FCC=5F=46LAGS =3D > > DE=46(GCC5=5FLOONGARCH64=5FCC=5F=46LAGS) > > > > +RELEASE=5FGCC5=5FLOONGARCH64=5FCC=5F=46LAGS =3D > > DE=46(GCC5=5FLOONGARCH64=5FCC=5F=46LAGS) -Wno-unused-but-set-variable= > > -Wno-unused-variable > > > > + > > > > > > =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23= =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23= =23=23=23=23=23=23=23=23=23=23=23=23=23=23 > > =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23 > > > > =23 > > > > =23 CLANG35 - This configuration is used to compile under Linux to > produce > > > > -- > > 2.27.0 > --6322d341_2643b16a_10c77 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline
Liming,
Ok, I will change the commit mes= sage in the V3.


Thanks,
Chao
-= -------

On 9=E6=9C=88 15 2022, at 2:28 =E4=B8=8B=E5=8D=88, =22gaolimin= g=22 <gaoliming=40byosoft.com.cn> wrote:
Chao:
This change is to update GCC5 tool chain to support Loon= gArch. So, the
commit message title should be updated for GCC5 = tool chain.

The code change is good to me. Reviewed-by: Lim= ing Gao <gaoliming=40byosoft.
com.cn>

Thank= s
Liming
> -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6= -----
> =E5=8F=91=E4=BB=B6=E4=BA=BA: Chao Li <lichao=40lo= ongson.cn>
> =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2022=E5= =B9=B49=E6=9C=8814=E6=97=A5 17:40
> =E6=94=B6=E4=BB=B6=E4=BA= =BA: devel=40edk2.groups.io
> =E6=8A=84=E9=80=81: Bob =46eng= <bob.c.feng=40intel.com>; Liming Gao
> <gaoliming=40= byosoft.com.cn>; Yuwei Chen <yuwei.chen=40intel.com>;
= > Dongyan Qian <qiandongyan=40loongson.cn>; Baoqi Zhang
> <zhangbaoqi=40loongson.cn>
> =E4=B8=BB=E9=A2=98= : =5BPATCH v2 16/34=5D BaseTools: BaseTools changes for LoongArch
> platform.
>
> RE=46: https://bugzilla.t= ianocore.org/show=5Fbug.cgi=3Fid=3D4053
>
> Bas= eTools define template files changes for building EDK2 LoongArch
> platform.
>
> Cc: Bob =46eng <bob.c.f= eng=40intel.com>
> Cc: Liming Gao <gaoliming=40byosoft= .com.cn>
> Cc: Yuwei Chen <yuwei.chen=40intel.com><= /div>
>
> Signed-off-by: Chao Li <lichao=40loongso= n.cn>
> Co-authored-by: Dongyan Qian <qiandongyan=40lo= ongson.cn>
> Co-authored-by: Baoqi Zhang <zhangbaoqi=40= loongson.cn>
> ---
> BaseTools/Conf/tools=5F= def.template =7C 54
> +++++++++++++++++++++++++++----
<= div>> 1 file changed, 48 insertions(+), 6 deletions(-)
><= /div>
> diff --git a/BaseTools/Conf/tools=5Fdef.template
> b/BaseTools/Conf/tools=5Fdef.template
> index 5ed19810= b7..9ceadeaa59 100755
> --- a/BaseTools/Conf/tools=5Fdef.tem= plate
> +++ b/BaseTools/Conf/tools=5Fdef.template
= > =40=40 -4,6 +4,7 =40=40
> =23 Portions copyright (c) 20= 11 - 2019, ARM Ltd. All rights reserved.<BR>
>
> =23 Copyright (c) 2015, Hewlett-Packard Development Company, L.P.= <BR>
>
> =23 (C) Copyright 2020, Hewlett = Packard Enterprise Development LP<BR>
>
>= +=23 Copyright (c) 2022, Loongson Technology Corporation Limited. All
rights
> reserved.<BR>
>
> =23 Copyright (c) Microsoft Corporation
>
&= gt; =23
>
> =23 SPDX-License-Identifier: BSD-2-= Clause-Patent
>
> =40=40 -267,7 +268,7 =40=40 D= E=46INE DTC=5FBIN =3D
> ENV(DTC=5FPRE=46IX)dtc
>= ; =23 Intel(r) ACPI Compiler from
>
> =23 https= ://acpica.org/downloads
>
> =23 GCC5 -Linux,Win= dows- Requires:
>
> -=23 GCC 5 with LTO support= , targeting
> x86=5F64-linux-gnu, aarch64-linux-gnu, arm-lin= ux-gnueabi or
riscv64-linux-gnu
>
> += =23 GCC 5 with LTO support, targeting
> x86=5F64-linux-gnu, = aarch64-linux-gnu, arm-linux-gnueabi, riscv64-linux-gnu
or
> loongarch64-linux-gnu
>
> =23 Option= al:
>
> =23 Required to build platforms or ACPI=
> tables:
>
> =23 Intel(r) ACPI C= ompiler from
>
> =40=40 -1852,6 +1853,7 =40=40 = DE=46INE GCC=5FALL=5FCC=5F=46LAGS =3D -g
> -Os -fshort-wchar= -fno-builtin -fno-stri
> DE=46INE GCC=5FIA32=5FCC=5F=46LAGS= =3D DE=46(GCC=5FALL=5FCC=5F=46LAGS)
> -m32 -malign-double -= freorder-blocks -freorder-blocks-and-partition -O2
> -mno-st= ack-arg-probe
>
> DE=46INE GCC=5FX64=5FCC=5F=46= LAGS =3D DE=46(GCC=5FALL=5FCC=5F=46LAGS)
> -mno-red-zone -Wn= o-address -mno-stack-arg-probe
>
> DE=46INE GCC= =5FARM=5FCC=5F=46LAGS =3D DE=46(GCC=5FALL=5FCC=5F=46LAGS)
> = -mlittle-endian -mabi=3Daapcs -fno-short-enums -funsigned-char
= > -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-addres= s
> -mthumb -mfloat-abi=3Dsoft -fno-pic -fno-pie
&= gt;
> +DE=46INE GCC=5FLOONGARCH64=5FCC=5F=46LAGS =3D DE=46(G= CC=5FALL=5FCC=5F=46LAGS)
> -mabi=3Dlp64d -fno-asynchronous-u= nwind-tables -fno-plt -Wno-address
> -fno-short-enums -fsign= ed-char -ffunction-sections -fdata-sections
>
>= DE=46INE GCC=5FARM=5FCC=5FXIP=46LAGS =3D -mno-unaligned-access
>
> DE=46INE GCC=5FAARCH64=5FCC=5F=46LAGS =3D DE=46(GCC=5F= ALL=5FCC=5F=46LAGS)
> -mlittle-endian -fno-short-enums -fver= bose-asm -funsigned-char
> -ffunction-sections -fdata-sectio= ns -Wno-address
> -fno-asynchronous-unwind-tables -fno-unwin= d-tables -fno-pic -fno-pie
> -ffixed-x18
>
> DE=46INE GCC=5FAARCH64=5FCC=5FXIP=46LAGS =3D -mstrict-align
> -mgeneral-regs-only
>
> =40=40 -18= 59,12 +1861,15 =40=40 DE=46INE GCC=5FDLINK=5F=46LAGS=5FCOMMON =3D
> -nostdlib --pie
> DE=46INE GCC=5FDLINK2=5F=46LAGS=5F= COMMON =3D
> -Wl,--script=3D=24(EDK=5FTOOLS=5FPATH)/Scripts/= GccBase.lds
>
> DE=46INE GCC=5FIA32=5FX64=5FDLI= NK=5FCOMMON =3D
> DE=46(GCC=5FDLINK=5F=46LAGS=5FCOMMON) --gc= -sections
>
> DE=46INE GCC=5FARM=5FAARCH64=5FDL= INK=5FCOMMON=3D -Wl,--emit-relocs
> -nostdlib -Wl,--gc-secti= ons -u =24(IMAGE=5FENTRY=5FPOINT)
> -Wl,-e,=24(IMAGE=5FENTRY= =5FPOINT),-Map,=24(DEST=5FDIR=5FDEBUG)/=24(BASE=5FNAME).
> m= ap
>
> +DE=46INE GCC=5FLOONGARCH64=5FDLINK=5FCO= MMON=3D -Wl,--emit-relocs
> -nostdlib -Wl,--gc-sections -u =24= (IMAGE=5FENTRY=5FPOINT)
> -Wl,-e,=24(IMAGE=5FENTRY=5FPOINT),= -Map,=24(DEST=5FDIR=5FDEBUG)/=24(BASE=5FNAME).
> map
>
> DE=46INE GCC=5FARM=5FDLINK=5F=46LAGS =3D
> DE=46(GCC=5FARM=5FAARCH64=5FDLINK=5FCOMMON) -z common-page-size=3D0= x20
> -Wl,--pic-veneer
>
> DE=46IN= E GCC=5FAARCH64=5FDLINK=5F=46LAGS =3D
> DE=46(GCC=5FARM=5FAA= RCH64=5FDLINK=5FCOMMON) -z common-page-size=3D0x20
>
> +DE=46INE GCC=5FLOONGARCH64=5FDLINK=5F=46LAGS =3D
> = DE=46(GCC=5FLOONGARCH64=5FDLINK=5FCOMMON) -z common-page-size=3D0x20
>
> DE=46INE GCC=5FARM=5FAARCH64=5FASLDLINK=5F=46LA= GS =3D
> -Wl,--defsym=3DPECO=46=46=5FHEADER=5FSIZE=3D0 DE=46= (GCC=5FDLINK2=5F=46LAGS=5FCOMMON)
> -z common-page-size=3D0x= 20
>
> DE=46INE GCC=5FIA32=5FX64=5FASLDLINK=5F=46= LAGS =3D
> DE=46(GCC=5FIA32=5FX64=5FDLINK=5FCOMMON) --entry = =5FReferenceAcpiTable -u
> =24(IMAGE=5FENTRY=5FPOINT)
<= div>>
> DE=46INE GCC=5FARM=5FASLDLINK=5F=46LAGS =3D DE=46= (GCC=5FARM=5FDLINK=5F=46LAGS)
> -Wl,--entry,ReferenceAcpiTab= le -u =24(IMAGE=5FENTRY=5FPOINT)
> DE=46(GCC=5FARM=5FAARCH64= =5FASLDLINK=5F=46LAGS)
>
> DE=46INE GCC=5FAARCH= 64=5FASLDLINK=5F=46LAGS =3D
> DE=46(GCC=5FAARCH64=5FDLINK=5F= =46LAGS) -Wl,--entry,ReferenceAcpiTable -u
> =24(IMAGE=5FENT= RY=5FPOINT) DE=46(GCC=5FARM=5FAARCH64=5FASLDLINK=5F=46LAGS)
>= ;
> +DE=46INE GCC=5FLOONGARCH64=5FASLDLINK=5F=46LAGS =3D
> DE=46(GCC=5FLOONGARCH64=5FDLINK=5F=46LAGS) --entry ReferenceA= cpiTable -u
> =24(IMAGE=5FENTRY=5FPOINT)
>
> DE=46INE GCC=5FIA32=5FX64=5FDLINK=5F=46LAGS =3D
>= DE=46(GCC=5FIA32=5FX64=5FDLINK=5FCOMMON) --entry =5F=24(IMAGE=5FENTRY=5F= POINT)
> --file-alignment 0x20 --section-alignment 0x20 -Map=
> =24(DEST=5FDIR=5FDEBUG)/=24(BASE=5FNAME).map
&g= t;
> DE=46INE GCC=5FASM=5F=46LAGS =3D -c -x assembler -imacr= os
> AutoGen.h
>
> DE=46INE GCC=5F= PP=5F=46LAGS =3D -E -x assembler-with-cpp
> -include AutoGen= .h
>
> =40=40 -1873,11 +1878,12 =40=40 DE=46INE= GCC=5FASLPP=5F=46LAGS =3D -x
> c -E -include AutoGen.h
> DE=46INE GCC=5FASLCC=5F=46LAGS =3D -x c
>
> DE=46INE GCC=5FWINDRES=5F=46LAGS =3D -J rc -O coff
>=
> DE=46INE GCC=5FDTCPP=5F=46LAGS =3D -E -x assembler-with-c= pp
> -imacros AutoGen.h -nostdinc -undef
>
> -DE=46INE GCC=5FIA32=5FRC=5F=46LAGS =3D -I binary -O elf32-i38= 6
> -B i386 --rename-section .data=3D.hii
>
> -DE=46INE GCC=5FX64=5FRC=5F=46LAGS =3D -I binary -O elf64-x86= -64
> -B i386 --rename-section .data=3D.hii
>
> -DE=46INE GCC=5FARM=5FRC=5F=46LAGS =3D -I binary -O elf32-l= ittlearm
> -B arm --rename-section .data=3D.hii
&g= t;
> -DE=46INE GCC=5FAARCH64=5FRC=5F=46LAGS =3D -I binary -O= elf64-littleaarch64
> -B aarch64 --rename-section .data=3D.= hii
>
> -DE=46INE GCC=5FRISCV64=5FRC=5F=46LAGS = =3D -I binary -O elf64-littleriscv
> -B riscv --rename-secti= on .data=3D.hii
>
> +DE=46INE GCC=5FIA32=5FRC=5F= =46LAGS =3D -I binary -O elf32-i386
> -B i386 --rename-secti= on .data=3D.hii
>
> +DE=46INE GCC=5FX64=5FRC=5F= =46LAGS =3D -I binary -O elf64-x86-64
> -B i386 --rename-sec= tion .data=3D.hii
>
> +DE=46INE GCC=5FARM=5FRC=5F= =46LAGS =3D -I binary -O elf32-littlearm
> -B arm --rename-s= ection .data=3D.hii
>
> +DE=46INE GCC=5FAARCH64= =5FRC=5F=46LAGS =3D -I binary -O
> elf64-littleaarch64 -B aa= rch64 --rename-section .data=3D.hii
>
> +DE=46I= NE GCC=5FRISCV64=5FRC=5F=46LAGS =3D -I binary -O elf64-littleriscv
<= div>> -B riscv --rename-section .data=3D.hii
>
= > +DE=46INE GCC=5FLOONGARCH64=5FRC=5F=46LAGS =3D -I binary -O elf64-lo= ongarch
> -B loongarch64 --rename-section .data=3D.hii
=
>
>
>
> =23 GCC Build =46l= ag for included header file list generation
>
>= DE=46INE GCC=5FDEPS=5F=46LAGS =3D -MMD -M=46 =24=40.deps
><= /div>
> =40=40 -1967,6 +1973,14 =40=40 DE=46INE GCC5=5FRISCV64=5FC= C=5F=46LAGS
> =3D DE=46(GCC5=5FRISCV=5FALL=5FCC=5F=46LAGS) D= E=46(GC
> DE=46INE GCC5=5FRISCV64=5FDLINK=5F=46LAGS =3D
> DE=46(GCC5=5FRISCV=5FALL=5FDLINK=5F=46LAGS)
> -Wl= ,-melf64lriscv,--oformat=3Delf64-littleriscv,--no-relax
>
> DE=46INE GCC5=5FRISCV64=5FDLINK2=5F=46LAGS =3D
>= ; DE=46(GCC5=5FRISCV=5FALL=5FDLINK2=5F=46LAGS)
>
&= gt; DE=46INE GCC5=5FRISCV64=5FASM=5F=46LAGS =3D
> DE=46(GCC5= =5FRISCV=5FALL=5FASM=5F=46LAGS) -march=3DDE=46(GCC5=5FRISCV64=5FARCH)
> -mcmodel=3Dmedany -mabi=3Dlp64
>
> = +
>
> +DE=46INE GCC5=5FLOONGARCH64=5FCC=5F=46LA= GS =3D
> DE=46(GCC=5FLOONGARCH64=5FCC=5F=46LAGS) -march=3Dlo= ongarch64 -mno-memcpy
> -Werror -Wno-maybe-uninitialized -Wn= o-stringop-overflow
> -Wno-pointer-to-int-cast -no-pie -fno-= stack-protector -mno-explicit-relocs
>
> +DE=46= INE GCC5=5FLOONGARCH64=5FDLINK=5F=46LAGS =3D
> DE=46(GCC=5FL= OONGARCH64=5FDLINK=5F=46LAGS)
>
> +DE=46INE GCC= 5=5FLOONGARCH64=5FDLINK2=5F=46LAGS =3D
> DE=46(GCC=5FDLINK2=5F= =46LAGS=5FCOMMON)
> -Wl,--defsym=3DPECO=46=46=5FHEADER=5FSIZ= E=3D0x228
>
> +DE=46INE GCC5=5FLOONGARCH64=5FAS= LDLINK=5F=46LAGS =3D
> DE=46(GCC=5FLOONGARCH64=5FASLDLINK=5F= =46LAGS)
>
> +DE=46INE GCC5=5FLOONGARCH64=5FASM= =5F=46LAGS =3D -x
> assembler-with-cpp -mabi=3Dlp64d -march=3D= loongarch64 -fno-builtin -c -Wall
> -mno-explicit-relocs
>
> +DE=46INE GCC5=5FLOONGARCH64=5FPP=5F=46LAGS =3D= -mabi=3Dlp64d
> -march=3Dloongarch64 DE=46(GCC=5FPP=5F=46LA= GS)
>
> +
>
> DE=46IN= E GCC=5FPP=5F=46LAGS =3D -E -x
> assembler-with-cpp -include= AutoGen.h DE=46(GCC5=5FRISCV=5FOPENSBI=5FTYPES)
>
>
>
>
> =23=23=23=23=23=23=23=23= =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23= =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23= =23=23=23=23
> =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23= =23=23=23=23=23=23=23
>
> =40=40 -2445,6 +2459,= 34 =40=40 RELEASE=5FGCC5=5FAARCH64=5FDLINK=5FXIP=46LAGS =3D -z
= > common-page-size=3D0x20
> *=5FGCC5=5FRISCV64=5FOBJCOPY=5F= =46LAGS =3D
>
> *=5FGCC5=5FRISCV64=5FDTCPP=5F=46= LAGS =3D DE=46(GCC=5FDTCPP=5F=46LAGS)
>
>
=
>
> +=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23= =23=23
>
> +=23 GCC5 LOONGARCH64 definitions
>
> +=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23= =23=23=23
>
> +*=5FGCC5=5FLOONGARCH64=5FOBJCOPY= =5FPATH =3D
> ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)objcopy
>
> +*=5FGCC5=5FLOONGARCH64=5FCC=5FPATH =3D
> ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)gcc
>
&g= t; +*=5FGCC5=5FLOONGARCH64=5FSLINK=5FPATH =3D
> ENV(GCC5=5FL= OONGARCH64=5FPRE=46IX)gcc-ar
>
> +*=5FGCC5=5FLO= ONGARCH64=5FDLINK=5FPATH =3D
> ENV(GCC5=5FLOONGARCH64=5FPRE=46= IX)gcc
>
> +*=5FGCC5=5FLOONGARCH64=5FASLDLINK=5F= PATH =3D
> ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)gcc
&= gt;
> +*=5FGCC5=5FLOONGARCH64=5FASM=5FPATH =3D
>= ; ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)gcc
>
> +*=5F= GCC5=5FLOONGARCH64=5FPP=5FPATH =3D
> ENV(GCC5=5FLOONGARCH64=5F= PRE=46IX)gcc
>
> +*=5FGCC5=5FLOONGARCH64=5FV=46= RPP=5FPATH =3D
> ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)gcc
=
>
> +*=5FGCC5=5FLOONGARCH64=5FASLCC=5FPATH =3D
=
> ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)gcc
>
= > +*=5FGCC5=5FLOONGARCH64=5FASLPP=5FPATH =3D
> ENV(GCC5=5F= LOONGARCH64=5FPRE=46IX)gcc
>
> +*=5FGCC5=5FLOON= GARCH64=5FRC=5FPATH =3D
> ENV(GCC5=5FLOONGARCH64=5FPRE=46IX)= objcopy
>
> +
>
> +*=5F= GCC5=5FLOONGARCH64=5FASLCC=5F=46LAGS =3D
> DE=46(GCC=5FASLCC= =5F=46LAGS)
>
> +*=5FGCC5=5FLOONGARCH64=5FASLDL= INK=5F=46LAGS =3D
> DE=46(GCC5=5FLOONGARCH64=5FASLDLINK=5F=46= LAGS)
>
> +*=5FGCC5=5FLOONGARCH64=5FASM=5F=46LA= GS =3D
> DE=46(GCC5=5FLOONGARCH64=5FASM=5F=46LAGS)
>
> +*=5FGCC5=5FLOONGARCH64=5FDLINK=5F=46LAGS =3D
<= div>> DE=46(GCC5=5FLOONGARCH64=5FDLINK=5F=46LAGS)
>
=
> +*=5FGCC5=5FLOONGARCH64=5FDLINK2=5F=46LAGS =3D
> D= E=46(GCC5=5FLOONGARCH64=5FDLINK2=5F=46LAGS)
>
>= +*=5FGCC5=5FLOONGARCH64=5FRC=5F=46LAGS =3D
> DE=46(GCC=5FLO= ONGARCH64=5FRC=5F=46LAGS)
>
> +*=5FGCC5=5FLOONG= ARCH64=5FOBJCOPY=5F=46LAGS =3D
>
> +*=5FGCC5=5F= LOONGARCH64=5FNASM=5F=46LAGS =3D -f elf32
>
> += *=5FGCC5=5FLOONGARCH64=5FPP=5F=46LAGS =3D
> DE=46(GCC5=5FLOO= NGARCH64=5FPP=5F=46LAGS)
>
> +
>
> +DEBUG=5FGCC5=5FLOONGARCH64=5FCC=5F=46LAGS =3D
&g= t; DE=46(GCC5=5FLOONGARCH64=5FCC=5F=46LAGS)
>
>= +RELEASE=5FGCC5=5FLOONGARCH64=5FCC=5F=46LAGS =3D
> DE=46(GC= C5=5FLOONGARCH64=5FCC=5F=46LAGS) -Wno-unused-but-set-variable
&= gt; -Wno-unused-variable
>
> +
>
>
> =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23= =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23= =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23
<= div>> =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=
>
> =23
>
> =23 CLAN= G35 - This configuration is used to compile under Linux to
prod= uce
>
> --
> 2.27.0
--6322d341_2643b16a_10c77--