From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) by mx.groups.io with SMTP id smtpd.web11.18644.1679859794411924290 for ; Sun, 26 Mar 2023 12:43:14 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@9elements.com header.s=google header.b=dFRBgLS0; spf=pass (domain: 9elements.com, ip: 209.85.208.45, mailfrom: sheng.tan@9elements.com) Received: by mail-ed1-f45.google.com with SMTP id w9so27641144edc.3 for ; Sun, 26 Mar 2023 12:43:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=9elements.com; s=google; t=1679859792; x=1682451792; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ZWviDoBBzCvngXZ6mLzYcpd9U9VdU2WBvLEJ0aYewTg=; b=dFRBgLS0X/9EDnumj0yJ/nupESXVJyt8wTBgz0dnveFCF8ytOlH7Bm7mGDF0Tmq8wd dI+670KGkrRQwphfNZBezTFZyA4RP80kNk7H8e8CmkMS2Z/Qb3WGiIWcdcDotth5XQyZ 38KzX0uFb3JhTY8YqDooLxkBFiFdDWTTsndRCqJeUiisihiYH7XDFzzogAyeWN7oQ7sS WCQ3izhjGj2FLuQhimE8WACx15Ec4zlfXSsNY7eMQaVDCU/6wd5X8a5scREo/Z2ZVCPM W+UVDqTL8yd+bCuR7AQb3XlSFrvNHqN0GbPw776clmSdWAW2khbZKlp7virYGFBZbMOS wyNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679859792; x=1682451792; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ZWviDoBBzCvngXZ6mLzYcpd9U9VdU2WBvLEJ0aYewTg=; b=hCefF7oLqjjZNVoP7cIdDc2Vykcs6OsfAtBN9XNtDP509HrmEHT+ISjWtaVMbts5lw PdZlq9/If1/VPOzKUbqJgyVbs4+SM/v8y73iOUksqe2WIEEHflZU3M7dllQk4EqxxCw0 hxWPcqi5sYmUyjRj0vvHyIJRvmc6VlZz7+Uv1DRwVMnUjE+SSHfT2U0ge7OEcK2t9aH+ /SojvfD3t9xtY+0MaNNVozaz/JaM+5a3vubw94yV/tEhRJmSN7eqylmbjgaiTZaLWiie kSHgyYqE+aHSh3OqPkZEsNz8c9rNcxgT/6AYfL0YiNvqKfP1T6blKvSuoMniP9HUyqtX /ECQ== X-Gm-Message-State: AO0yUKWR/sz+ifryjZ7WWcPckGlBnN52k1yr4ExXqy9GBOzL/YotpNNb tBQHthryGu60CbJDtIde0/E3h+K7OH4vY7Is5UGCUeFsZrKZ7rpcXoc= X-Google-Smtp-Source: AK7set9WjJaR1yw5vAiCowZHCxmd07pP0+i1C1FZnAb8Xnlj0kyY5mW14NaQnyTOMJmB2AYG54c5zMsY9Hr9FmWSVio= X-Received: by 2002:a17:906:69d3:b0:88d:ba79:4317 with SMTP id g19-20020a17090669d300b0088dba794317mr8440530ejs.7.1679859792574; Sun, 26 Mar 2023 12:43:12 -0700 (PDT) MIME-Version: 1.0 References: <20230317140627.1033739-1-patrick.rudolph@9elements.com> <20230317140627.1033739-2-patrick.rudolph@9elements.com> <17500F66A352AD33.14179@groups.io> In-Reply-To: <17500F66A352AD33.14179@groups.io> From: "Sheng Lean Tan" Date: Sun, 26 Mar 2023 21:42:36 +0200 Message-ID: Subject: Re: [edk2-devel] [PATCH 2/3] BaseTools/Conf/tools_def: Fix CLANGDWARF_IA32_X64 To: devel@edk2.groups.io, sheng.tan@9elements.com, rebecca@bsdio.com Cc: patrick.rudolph@9elements.com, "Feng, Bob C" , "Gao, Liming" , mhaeuser@posteo.de, ardb@kernel.org, yuwei.chen@intel.com Content-Type: multipart/alternative; boundary="00000000000035894105f7d2d677" --00000000000035894105f7d2d677 Content-Type: text/plain; charset="UTF-8" Added @rebecca@bsdio.com as well. On Sun, 26 Mar 2023 at 21:39, Sheng Lean Tan via groups.io wrote: > Can someone also help to review this please? > Thanks. > > > On Fri, 17 Mar 2023 at 15:06, Patrick Rudolph < > patrick.rudolph@9elements.com> wrote: > >> Drop the "-z max-page-size=0x40" option as it causes the ELF >> header to overflow into the .text section, causing undefined >> behaviour. >> >> With high optimization level it corrupts essential code and >> the binary would crash. It might work with low optimization >> level though. As the default is to use Oz and LTO, it always >> crashes. >> >> Test: >> The ELF generated by >> 'python UefiPayloadPkg/UniversalPayloadBuild.py -a IA32' boots. >> >> Signed-off-by: Patrick Rudolph >> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4357 >> --- >> BaseTools/Conf/tools_def.template | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/BaseTools/Conf/tools_def.template >> b/BaseTools/Conf/tools_def.template >> index 9b59bd75c3..0c584ab390 100755 >> --- a/BaseTools/Conf/tools_def.template >> +++ b/BaseTools/Conf/tools_def.template >> @@ -2866,7 +2866,7 @@ DEFINE CLANGDWARF_X64_PREFIX = ENV(CLANG_BIN) >> >> # LLVM/CLANG doesn't support -n link option. So, it can't share the same >> IA32_X64_DLINK_COMMON flag. >> # LLVM/CLANG doesn't support common page size. So, it can't share the >> same GccBase.lds script. >> -DEFINE CLANGDWARF_IA32_X64_DLINK_COMMON = -nostdlib >> -Wl,-q,--gc-sections -z max-page-size=0x40 >> +DEFINE CLANGDWARF_IA32_X64_DLINK_COMMON = -nostdlib >> -Wl,-q,--gc-sections >> DEFINE CLANGDWARF_DLINK2_FLAGS_COMMON = >> -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/ClangBase.lds >> DEFINE CLANGDWARF_IA32_X64_ASLDLINK_FLAGS = >> DEF(CLANGDWARF_IA32_X64_DLINK_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0 >> DEF(CLANGDWARF_DLINK2_FLAGS_COMMON) -Wl,--entry,ReferenceAcpiTable -u >> ReferenceAcpiTable >> DEFINE CLANGDWARF_IA32_X64_DLINK_FLAGS = >> DEF(CLANGDWARF_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u >> $(IMAGE_ENTRY_POINT) >> -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive >> -- >> 2.39.1 >> >> >> >> ------------ >> Groups.io Links: You receive all messages sent to this group. >> View/Reply Online (#101341): >> https://edk2.groups.io/g/devel/message/101341 >> Mute This Topic: https://groups.io/mt/97673649/6757431 >> Group Owner: devel+owner@edk2.groups.io >> Unsubscribe: https://edk2.groups.io/g/devel/unsub [ >> sheng.tan@9elements.com] >> ------------ >> >> >> > > --00000000000035894105f7d2d677 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Added=C2=A0@rebecca@bsdio.com=C2=A0as well.

<= /div>

Can someone also h= elp to review this please?
Thanks.


On Fri, 17 Mar 2023 at 15:06, Patrick Rudolph <patrick.rudolph@9elements= .com> wrote:
Drop the "-z max-page-size=3D0x40" option as it causes the EL= F
header to overflow into the .text section, causing undefined
behaviour.

With high optimization level it corrupts essential code and
the binary would crash. It might work with low optimization
level though. As the default is to use Oz and LTO, it always
crashes.

Test:
The ELF generated by
'python UefiPayloadPkg/UniversalPayloadBuild.py -a IA32' boots.

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Ref: https://bugzilla.tianocore.org/show_bug.c= gi?id=3D4357
---
=C2=A0BaseTools/Conf/tools_def.template | 2 +-
=C2=A01 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.t= emplate
index 9b59bd75c3..0c584ab390 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -2866,7 +2866,7 @@ DEFINE CLANGDWARF_X64_PREFIX=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =3D ENV(CLANG_BIN)

=C2=A0# LLVM/CLANG doesn't support -n link option. So, it can't sha= re the same IA32_X64_DLINK_COMMON flag.
=C2=A0# LLVM/CLANG doesn't support common page size. So, it can't s= hare the same GccBase.lds script.
-DEFINE CLANGDWARF_IA32_X64_DLINK_COMMON=C2=A0 =C2=A0=3D -nostdlib -Wl,-q,-= -gc-sections -z max-page-size=3D0x40
+DEFINE CLANGDWARF_IA32_X64_DLINK_COMMON=C2=A0 =C2=A0=3D -nostdlib -Wl,-q,-= -gc-sections
=C2=A0DEFINE CLANGDWARF_DLINK2_FLAGS_COMMON=C2=A0 =C2=A0 =C2=A0=3D -Wl,--sc= ript=3D$(EDK_TOOLS_PATH)/Scripts/ClangBase.lds
=C2=A0DEFINE CLANGDWARF_IA32_X64_ASLDLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64= _DLINK_COMMON) -Wl,--defsym=3DPECOFF_HEADER_SIZE=3D0 DEF(CLANGDWARF_DLINK2_= FLAGS_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
=C2=A0DEFINE CLANGDWARF_IA32_X64_DLINK_FLAGS=C2=A0 =C2=A0 =3D DEF(CLANGDWAR= F_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_= POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
--
2.39.1



------------
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101341): https://edk2.groups.io/g/d= evel/message/101341
Mute This Topic: https://groups.io/mt/97673649/6757431
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [sheng.tan@9elements.c= om]
------------


--00000000000035894105f7d2d677--