On Thu, 1 Jun 2023 at 10:01, gaoliming via groups.io <gaoliming=byosoft.com...@groups.io> wrote: > > Gerd and Ard: > I want to confirm whether this option should also be added into > CLANGPDB_X64_CC_FLAGS. >
As far as I know, PE based toolchains assume that external accesses are local unless the variable declaration is decorated with __dllimport. Also, the reason we need this is not that the codegen is incorrect, but that it complicates ELF to PE/COFF conversion. So I don't think this is needed for CLANGPDB > > -----邮件原件----- > > 发件人: Gerd Hoffmann <kra...@redhat.com> > > 发送时间: 2023年5月24日 22:06 > > 收件人: devel@edk2.groups.io > > 抄送: Daniel Schaefer <g...@danielschaefer.me>; Marvin Häuser > > <mhaeu...@posteo.de>; Rebecca Cran <rebe...@bsdio.com>; Oliver Steffen > > <ostef...@redhat.com>; Liming Gao <gaolim...@byosoft.com.cn>; Pawel > > Polawski <ppola...@redhat.com>; Chao Li <lic...@loongson.cn>; Ard > > Biesheuvel <ardb+tianoc...@kernel.org>; Bob Feng <bob.c.f...@intel.com>; > > Sunil V L <suni...@ventanamicro.com>; Michael D Kinney > > <michael.d.kin...@intel.com>; Leif Lindholm <quic_llind...@quicinc.com>; > > Dongyan Qian <qiandong...@loongson.cn>; Yuwei Chen > > <yuwei.c...@intel.com>; Baoqi Zhang <zhangba...@loongson.cn>; Zhiguang > > Liu <zhiguang....@intel.com>; Gerd Hoffmann <kra...@redhat.com>; Ard > > Biesheuvel <a...@kernel.org> > > 主题: [PATCH v6 02/11] BaseTools: add -fdirect-access-external-data to clang > > pie builds > > > > Tell clang to not use external (via got) references for data access. > > > > Signed-off-by: Gerd Hoffmann <kra...@redhat.com> > > Reviewed-by: Ard Biesheuvel <a...@kernel.org> > > --- > > BaseTools/Conf/tools_def.template | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/BaseTools/Conf/tools_def.template > > b/BaseTools/Conf/tools_def.template > > index 503a6687c1f0..92421e3d0118 100755 > > --- a/BaseTools/Conf/tools_def.template > > +++ b/BaseTools/Conf/tools_def.template > > @@ -1921,15 +1921,15 @@ NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS > > = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O0 - > > *_CLANGDWARF_X64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) > > DEF(CLANGDWARF_X64_TARGET) > > *_CLANGDWARF_X64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) > > DEF(CLANGDWARF_X64_TARGET) > > > > -DEBUG_CLANGDWARF_X64_CC_FLAGS = > > DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 > > "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz > > -flto DEF(CLANGDWARF_X64_TARGET) -g > > +DEBUG_CLANGDWARF_X64_CC_FLAGS = > > DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 > > "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie > > -fdirect-access-external-data -Oz -flto DEF(CLANGDWARF_X64_TARGET) -g > > DEBUG_CLANGDWARF_X64_DLINK_FLAGS = > > DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 > > -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small > > -Wl,--apply-dynamic-relocs > > DEBUG_CLANGDWARF_X64_DLINK2_FLAGS = > > DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O3 -fuse-ld=lld > > > > -RELEASE_CLANGDWARF_X64_CC_FLAGS = > > DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 > > "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz > > -flto DEF(CLANGDWARF_X64_TARGET) > > +RELEASE_CLANGDWARF_X64_CC_FLAGS = > > DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 > > "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie > > -fdirect-access-external-data -Oz -flto DEF(CLANGDWARF_X64_TARGET) > > RELEASE_CLANGDWARF_X64_DLINK_FLAGS = > > DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 > > -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small > > -Wl,--apply-dynamic-relocs > > RELEASE_CLANGDWARF_X64_DLINK2_FLAGS = > > DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O3 -fuse-ld=lld > > > > -NOOPT_CLANGDWARF_X64_CC_FLAGS = > > DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 > > "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -O0 > > DEF(CLANGDWARF_X64_TARGET) -g > > +NOOPT_CLANGDWARF_X64_CC_FLAGS = > > DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 > > "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie > > -fdirect-access-external-data -O0 DEF(CLANGDWARF_X64_TARGET) -g > > NOOPT_CLANGDWARF_X64_DLINK_FLAGS = > > DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_x86_64 > > -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small > > -Wl,--apply-dynamic-relocs > > NOOPT_CLANGDWARF_X64_DLINK2_FLAGS = > > DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O0 -fuse-ld=lld > > > > -- > > 2.40.1 > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#105542): https://edk2.groups.io/g/devel/message/105542 Mute This Topic: https://groups.io/mt/99259531/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-