HI Liming,
If no further concern, would you mind to help get this patch merged?
Thanks!

Best Regards,
Lean Sheng Tan


On Tue, 28 Mar 2023 at 07:42, gaoliming via groups.io <gaoliming=byosoft.com.cn@groups.io> wrote:
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>

> -----邮件原件-----
> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Patrick
> Rudolph
> 发送时间: 2023年3月17日 22:06
> 抄送: devel@edk2.groups.io; guo.dong@intel.com; gua.guo@intel.com;
> james.lu@intel.com; ray.ni@intel.com; mhaeuser@posteo.de;
> ardb@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.rudolph@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+owner@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub
> [gaoliming@byosoft.com.cn]
> -=-=-=-=-=-=
>