Reviewed-by: Liming Gao <gaolim...@byosoft.com.cn> > -----邮件原件----- > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Patrick > Rudolph > 发送时间: 2023年3月17日 22:06 > 抄送: devel@edk2.groups.io; guo.d...@intel.com; gua....@intel.com; > james...@intel.com; ray...@intel.com; mhaeu...@posteo.de; > a...@kernel.org > 主题: [edk2-devel] [PATCH 1/3] BaseTools/Conf/tools_def: Fix linking using > CLANGDWARF_IA32 > > The clang toolchain might default to fPIE/fPIC, which prevents > lld from linking the objects into a binary. > > Specify -fno-pie -fno-pic as done on GCC to fix linking. > > Test: > Building the Universal Payload using the command > 'python UefiPayloadPkg/UniversalPayloadBuild.py -a IA32' actually > works. > > Signed-off-by: Patrick Rudolph <patrick.rudo...@9elements.com> > Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4356 > --- > BaseTools/Conf/tools_def.template | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/BaseTools/Conf/tools_def.template > b/BaseTools/Conf/tools_def.template > index 471eb67c0c..9b59bd75c3 100755 > --- a/BaseTools/Conf/tools_def.template > +++ b/BaseTools/Conf/tools_def.template > @@ -2888,7 +2888,7 @@ DEFINE CLANGDWARF_X64_DLINK2_FLAGS > = -Wl,--defsym=PECOFF_HEADER_SIZE=0x22 > *_CLANGDWARF_IA32_RC_PATH = > DEF(CLANGDWARF_IA32_PREFIX)llvm-rc > > > > *_CLANGDWARF_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) > -m32 -fno-lto DEF(CLANG38_IA32_TARGET) > > -*_CLANGDWARF_IA32_ASLDLINK_FLAGS = > DEF(CLANGDWARF_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -fuse-ld=lld > > +*_CLANGDWARF_IA32_ASLDLINK_FLAGS = > DEF(CLANGDWARF_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -fuse-ld=lld > -no-pie > > *_CLANGDWARF_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) > -m32 -march=i386 DEF(CLANG38_IA32_TARGET) > > *_CLANGDWARF_IA32_RC_FLAGS = > DEF(GCC_IA32_RC_FLAGS) > > *_CLANGDWARF_IA32_OBJCOPY_FLAGS = > > @@ -2897,17 +2897,17 @@ DEFINE CLANGDWARF_X64_DLINK2_FLAGS > = -Wl,--defsym=PECOFF_HEADER_SIZE=0x22 > *_CLANGDWARF_IA32_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) > DEF(CLANG38_IA32_TARGET) > > *_CLANGDWARF_IA32_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) > DEF(CLANG38_IA32_TARGET) > > > > -DEBUG_CLANGDWARF_IA32_CC_FLAGS = > DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 > DEF(CLANG38_IA32_TARGET) -g -malign-double > > +DEBUG_CLANGDWARF_IA32_CC_FLAGS = > DEF(CLANG38_ALL_CC_FLAGS) -fno-pic -fno-pie -m32 -Oz -flto -march=i586 > DEF(CLANG38_IA32_TARGET) -g -malign-double > > DEBUG_CLANGDWARF_IA32_DLINK_FLAGS = > DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_i386 > -Wl,--oformat,elf32-i386 > > -DEBUG_CLANGDWARF_IA32_DLINK2_FLAGS = > DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld > > +DEBUG_CLANGDWARF_IA32_DLINK2_FLAGS = > DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld -no-pie > > > > -RELEASE_CLANGDWARF_IA32_CC_FLAGS = > DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 > DEF(CLANG38_IA32_TARGET) -malign-double > > +RELEASE_CLANGDWARF_IA32_CC_FLAGS = > DEF(CLANG38_ALL_CC_FLAGS) -fno-pic -fno-pie -m32 -Oz -flto -march=i586 > DEF(CLANG38_IA32_TARGET) -malign-double > > RELEASE_CLANGDWARF_IA32_DLINK_FLAGS = > DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_i386 > -Wl,--oformat,elf32-i386 > > -RELEASE_CLANGDWARF_IA32_DLINK2_FLAGS = > DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld > > +RELEASE_CLANGDWARF_IA32_DLINK2_FLAGS = > DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld -no-pie > > > > -NOOPT_CLANGDWARF_IA32_CC_FLAGS = > DEF(CLANG38_ALL_CC_FLAGS) -m32 -O0 -march=i586 > DEF(CLANG38_IA32_TARGET) -g -malign-double > > +NOOPT_CLANGDWARF_IA32_CC_FLAGS = > DEF(CLANG38_ALL_CC_FLAGS) -fno-pic -fno-pie -m32 -O0 -march=i586 > DEF(CLANG38_IA32_TARGET) -g -malign-double > > NOOPT_CLANGDWARF_IA32_DLINK_FLAGS = > DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_i386 > -Wl,--oformat,elf32-i386 > > -NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS = > DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O0 -fuse-ld=lld > > +NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS = > DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O0 -fuse-ld=lld -no-pie > > > > ########################## > > # CLANGDWARF X64 definitions > > -- > 2.39.1 > > > > -=-=-=-=-=-= > Groups.io Links: You receive all messages sent to this group. > View/Reply Online (#101340): > https://edk2.groups.io/g/devel/message/101340 > Mute This Topic: https://groups.io/mt/97673648/4905953 > Group Owner: devel+ow...@edk2.groups.io > Unsubscribe: https://edk2.groups.io/g/devel/unsub > [gaolim...@byosoft.com.cn] > -=-=-=-=-=-= >
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#102005): https://edk2.groups.io/g/devel/message/102005 Mute This Topic: https://groups.io/mt/97899716/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-