Re: [edk2-devel] [PATCH 1/3] BaseTools/Conf/tools_def: Fix linking using CLANGDWARF_IA32

2023-04-05 Thread Sheng Lean Tan
Hi,
Can anyone help to look into this?
Thanks.


On Tue, 4 Apr 2023 at 14:46, Lean Sheng Tan  wrote:

>
> Hi Rebecca/ Marvin,
> Patrick has filed it as a separate patch email here
> https://edk2.groups.io/g/devel/message/102168
> However the email still group them together.
> It is because he could not reproduce any issue anymore that was seen on
> 2nd patch (could be that Rebecca already fixed it).
> Could you help to review and get this merged?
>
> Thanks,
> Sheng
>
>
> On Thu, 30 Mar 2023 at 10:05, Marvin Häuser  wrote:
>
>> Hi Lean,
>>
>> I don’t think individual patches from a series are merged generally. Your
>> 2/3 has open concerns from both Liming and myself.
>>
>> Best regards,
>> Marvin
>>
>> On 30. Mar 2023, at 09:31, Lean Sheng Tan 
>> wrote:
>>
>> 
>> 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 > byosoft.com...@groups.io> wrote:
>>
>>> Reviewed-by: Liming Gao 
>>>
>>> > -邮件原件-
>>> > 发件人: 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 
>>> > 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

Re: [edk2-devel] [PATCH 1/3] BaseTools/Conf/tools_def: Fix linking using CLANGDWARF_IA32

2023-04-04 Thread Sheng Lean Tan
Hi Rebecca/ Marvin,
Patrick has filed it as a separate patch email here
https://edk2.groups.io/g/devel/message/102168
However the email still group them together.
It is because he could not reproduce any issue anymore that was seen on 2nd
patch (could be that Rebecca already fixed it).
Could you help to review and get this merged?

Thanks,
Sheng


On Thu, 30 Mar 2023 at 10:05, Marvin Häuser  wrote:

> Hi Lean,
>
> I don’t think individual patches from a series are merged generally. Your
> 2/3 has open concerns from both Liming and myself.
>
> Best regards,
> Marvin
>
> On 30. Mar 2023, at 09:31, Lean Sheng Tan  wrote:
>
> 
> 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  byosoft.com...@groups.io> wrote:
>
>> Reviewed-by: Liming Gao 
>>
>> > -邮件原件-
>> > 发件人: 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 
>> > 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
&g

Re: [edk2-devel] [PATCH 1/3] BaseTools/Conf/tools_def: Fix linking using CLANGDWARF_IA32

2023-03-30 Thread Patrick Rudolph
Hi Marvin,
will send out a new patch series.

Regards,
Patrick Rudolph

On Thu, Mar 30, 2023 at 10:05 AM Marvin Häuser  wrote:
>
> Hi Lean,
>
> I don’t think individual patches from a series are merged generally. Your 2/3 
> has open concerns from both Liming and myself.
>
> Best regards,
> Marvin
>
> On 30. Mar 2023, at 09:31, Lean Sheng Tan  wrote:
>
> 
> 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 
>  wrote:
>>
>> Reviewed-by: Liming Gao 
>>
>> > -邮件原件-
>> > 发件人: 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 
>> > 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

Re: [edk2-devel] [PATCH 1/3] BaseTools/Conf/tools_def: Fix linking using CLANGDWARF_IA32

2023-03-30 Thread Marvin Häuser
Hi Lean,I don’t think individual patches from a series are merged generally. Your 2/3 has open concerns from both Liming and myself.Best regards,MarvinOn 30. Mar 2023, at 09:31, Lean Sheng Tan  wrote:HI Liming,If no further concern, would you mind to help get this patch merged?Thanks!Best Regards,Lean Sheng TanOn Tue, 28 Mar 2023 at 07:42, gaoliming via groups.io byosoft.com...@groups.io> wrote: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

Re: [edk2-devel] [PATCH 1/3] BaseTools/Conf/tools_def: Fix linking using CLANGDWARF_IA32

2023-03-30 Thread Sheng Lean Tan
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  wrote:

> Reviewed-by: Liming Gao 
>
> > -邮件原件-
> > 发件人: 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 
> > 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_

回复: [edk2-devel] [PATCH 1/3] BaseTools/Conf/tools_def: Fix linking using CLANGDWARF_IA32

2023-03-27 Thread gaoliming via groups.io
Reviewed-by: Liming Gao 

> -邮件原件-
> 发件人: 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 
> 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]
-=-=-=-=-=-=-=-=-=-=-=-




Re: [edk2-devel] [PATCH 1/3] BaseTools/Conf/tools_def: Fix linking using CLANGDWARF_IA32

2023-03-26 Thread Sheng Lean Tan
Would anyone mind to spare some time to review this patch?
Thanks.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101904): https://edk2.groups.io/g/devel/message/101904
Mute This Topic: https://groups.io/mt/97673648/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




Re: [edk2-devel] [PATCH 1/3] BaseTools/Conf/tools_def: Fix linking using CLANGDWARF_IA32

2023-03-23 Thread Sheng Lean Tan
Added the right reviewers @Gao, Liming   @Feng,
Bob C  @yuwei.c...@intel.com 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101695): https://edk2.groups.io/g/devel/message/101695
Mute This Topic: https://groups.io/mt/97673648/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




Re: [edk2-devel] [PATCH 1/3] BaseTools/Conf/tools_def: Fix linking using CLANGDWARF_IA32

2023-03-23 Thread Rebecca Cran
The linker problems I was seeing were unrelated to those Patrick's patch 
fixed.


I just applied Patrick's changes on top of my CLANGDWARF patches and 
OvmfPkgIa32.dsc builds fine.



--

Rebecca Cran


On 3/17/23 2:35 PM, Rebecca Cran wrote:
Building with "build -p OvmfPkg/OvmfPkgX64.dsc -a X64 -t CLANGDWARF -b 
RELEASE" on FreeBSD causes the following errors:



ld.lld: error: relocation R_X86_64_64 cannot be used against local 
symbol; recompile with -fPIC
>>> defined in 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExceptionHandlerLib.lib(ExceptionHandlerAsm.obj)
>>> referenced by 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/X64/ExceptionHandlerAsm.iii
>>>   ExceptionHandlerAsm.obj:(.text+0x5) in archive 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExceptionHandlerLib.lib


ld.lld: error: relocation R_X86_64_64 cannot be used against local 
symbol; recompile with -fPIC
>>> defined in 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExceptionHandlerLib.lib(ExceptionHandlerAsm.obj)
>>> referenced by 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/X64/ExceptionHandlerAsm.iii
>>>   ExceptionHandlerAsm.obj:(.text+0x14) in archive 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExceptionHandlerLib.lib


ld.lld: error: relocation R_X86_64_64 cannot be used against local 
symbol; recompile with -fPIC
>>> defined in 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExceptionHandlerLib.lib(ExceptionHandlerAsm.obj)
>>> referenced by 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/X64/ExceptionHandlerAsm.iii
>>>   ExceptionHandlerAsm.obj:(.text+0x23) in archive 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExceptionHandlerLib.lib



Thinking about it, it might actually be a problem with the FreeBSD 
system toolchain. On Linux, I get a different set of errors about 
redefining uint64_t etc.






-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101693): https://edk2.groups.io/g/devel/message/101693
Mute This Topic: https://groups.io/mt/97673648/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




Re: [edk2-devel] [PATCH 1/3] BaseTools/Conf/tools_def: Fix linking using CLANGDWARF_IA32

2023-03-17 Thread Rebecca Cran
Building with "build -p OvmfPkg/OvmfPkgX64.dsc -a X64 -t CLANGDWARF -b 
RELEASE" on FreeBSD causes the following errors:



ld.lld: error: relocation R_X86_64_64 cannot be used against local 
symbol; recompile with -fPIC
>>> defined in 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExceptionHandlerLib.lib(ExceptionHandlerAsm.obj)
>>> referenced by 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/X64/ExceptionHandlerAsm.iii
>>>   ExceptionHandlerAsm.obj:(.text+0x5) in archive 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExceptionHandlerLib.lib


ld.lld: error: relocation R_X86_64_64 cannot be used against local 
symbol; recompile with -fPIC
>>> defined in 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExceptionHandlerLib.lib(ExceptionHandlerAsm.obj)
>>> referenced by 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/X64/ExceptionHandlerAsm.iii
>>>   ExceptionHandlerAsm.obj:(.text+0x14) in archive 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExceptionHandlerLib.lib


ld.lld: error: relocation R_X86_64_64 cannot be used against local 
symbol; recompile with -fPIC
>>> defined in 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExceptionHandlerLib.lib(ExceptionHandlerAsm.obj)
>>> referenced by 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/X64/ExceptionHandlerAsm.iii
>>>   ExceptionHandlerAsm.obj:(.text+0x23) in archive 
/home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExceptionHandlerLib.lib



Thinking about it, it might actually be a problem with the FreeBSD 
system toolchain. On Linux, I get a different set of errors about 
redefining uint64_t etc.



--
Rebecca Cran


On 3/17/23 11:44 AM, Marvin Häuser wrote:

Which error precisely?

X64 PIE *must not* be disabled, as it’s used to enforce RIP-relative addressing 
where possible and has been for many years. Meanwhile the issues with IA32 is 
PIE was disabled by default for most toolchains, but some enable it nowadays 
(and thus it must be disabled explicitly).

Best regards,
Marvin


On 17. Mar 2023, at 18:30, Rebecca Cran  wrote:

I've also seen that error building X64 firmware.

Could you update those flags too, please?


--

Rebecca Cran



On 3/17/23 8:06 AM, Patrick Rudolph wrote:
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 
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

Re: [edk2-devel] [PATCH 1/3] BaseTools/Conf/tools_def: Fix linking using CLANGDWARF_IA32

2023-03-17 Thread Marvin Häuser
Which error precisely?

X64 PIE *must not* be disabled, as it’s used to enforce RIP-relative addressing 
where possible and has been for many years. Meanwhile the issues with IA32 is 
PIE was disabled by default for most toolchains, but some enable it nowadays 
(and thus it must be disabled explicitly).

Best regards,
Marvin

> On 17. Mar 2023, at 18:30, Rebecca Cran  wrote:
> 
> I've also seen that error building X64 firmware.
> 
> Could you update those flags too, please?
> 
> 
> -- 
> 
> Rebecca Cran
> 
> 
>> On 3/17/23 8:06 AM, Patrick Rudolph wrote:
>> 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 
>> 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



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101358): https://edk2.groups.io/g/devel/message/101358
Mute This Topic: https://groups.io/mt/97673648/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




Re: [edk2-devel] [PATCH 1/3] BaseTools/Conf/tools_def: Fix linking using CLANGDWARF_IA32

2023-03-17 Thread Rebecca Cran

I've also seen that error building X64 firmware.

Could you update those flags too, please?


--

Rebecca Cran


On 3/17/23 8:06 AM, Patrick Rudolph wrote:

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 
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



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101357): https://edk2.groups.io/g/devel/message/101357
Mute This Topic: https://groups.io/mt/97673648/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH 1/3] BaseTools/Conf/tools_def: Fix linking using CLANGDWARF_IA32

2023-03-17 Thread Patrick Rudolph
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 
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/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-