From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mout02.posteo.de (mout02.posteo.de [185.67.36.66]) by mx.groups.io with SMTP id smtpd.web10.2576.1629576346432220401 for ; Sat, 21 Aug 2021 13:05:47 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@posteo.de header.s=2017 header.b=qr6h9xJr; spf=pass (domain: posteo.de, ip: 185.67.36.66, mailfrom: mhaeuser@posteo.de) Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id 84875240105 for ; Sat, 21 Aug 2021 22:05:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1629576344; bh=+Blr2NYdObgzirdHD/3NMK4GGmInHUGbq+TEaKKxcdw=; h=Subject:From:To:Cc:Date:From; b=qr6h9xJrv4y75nMhTqyT9ukq2XWrnevlK7i5UyrUYXKu3i2PTvef0jUBhhcvrxAXp kkFwipOI/zgd7gBuWJDZyNSR35B6Jzx9oeZY7aQwYQgOmItLh06pT9cqBon0Kcgmfq /lbYz/bOjVRE7DUf/DnK4RGgQbTJTOVwgebtoBbJ5/aGpS1wZqMWVh5KVaDceb/GnT h1IIKn0tvpHOvSyDSddggqX5T3ip8eROtxpQea+2ZF3SvUNz/MAQe0u4IiyC6VFDvN mprlia4df5taMRPpMcOeS5d0mP9SR2JvmgIpvSLiFviv5SVoIGalJ0la7CazeO1Dvp 6VK1p2HX2MUnw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4GsTyb2QYLz9rxM; Sat, 21 Aug 2021 22:05:43 +0200 (CEST) Subject: Re: [edk2-devel] [PATCH 1/1] BaseTools/tools_def: Correct 64-bit type alignment for IA32 CLANG38 From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= To: devel@edk2.groups.io Cc: Bob Feng , Liming Gao , Yuwei Chen , Vitaly Cheptsov Reply-To: devel@edk2.groups.io, mhaeuser@posteo.de References: <22465b05fa6b89a8fb8a44e9e447b4f559368e9f.1629567885.git.mhaeuser@posteo.de> Message-ID: Date: Sat, 21 Aug 2021 20:05:43 +0000 MIME-Version: 1.0 In-Reply-To: <22465b05fa6b89a8fb8a44e9e447b4f559368e9f.1629567885.git.mhaeuser@posteo.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: quoted-printable For whom it may interest, this was caught with the help of this patch:=20 https://edk2.groups.io/g/devel/message/79318 Best regards, Marvin On 21/08/2021 21:55, Marvin H=C3=A4user wrote: > The CLANG38 toolchain aligns 64-bit data types on an 4-Byte boundary > for IA32, which is the default for the GNU ABI. For the Microsoft ABI > used by UEFI however, natural alignment holds for all data types on > all architectures. Add the "-malign-double" flag already used by the > GCC toolchains to ensure 64-bit data types are aligned on an 8-Byte > boundary instead. > > Cc: Bob Feng > Cc: Liming Gao > Cc: Yuwei Chen > Cc: Vitaly Cheptsov > Signed-off-by: Marvin H=C3=A4user > --- > 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_d= ef.template > index 2e6b382ab623..738768f8baf8 100755 > --- a/BaseTools/Conf/tools_def.template > +++ b/BaseTools/Conf/tools_def.template > @@ -2594,15 +2594,15 @@ DEFINE CLANG38_ALL_CC_FLAGS =3D DEF(GCC= 48_ALL_CC_FLAGS) DEF(CLANG38_WARNIN > *_CLANG38_IA32_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLAN= G38_IA32_TARGET) > > *_CLANG38_IA32_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLAN= G38_IA32_TARGET) > > =20 > > -DEBUG_CLANG38_IA32_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m32= -Oz -flto -march=3Di586 DEF(CLANG38_IA32_TARGET) -g > > +DEBUG_CLANG38_IA32_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m32= -malign-double -Oz -flto -march=3Di586 DEF(CLANG38_IA32_TARGET) -g > > DEBUG_CLANG38_IA32_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS= ) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=3Delf32-i386 > > DEBUG_CLANG38_IA32_DLINK2_FLAGS =3D DEF(GCC5_IA32_DLINK2_FLAGS) -= O3 > > =20 > > -RELEASE_CLANG38_IA32_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m32= -Oz -flto -march=3Di586 DEF(CLANG38_IA32_TARGET) > > +RELEASE_CLANG38_IA32_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m32= -malign-double -Oz -flto -march=3Di586 DEF(CLANG38_IA32_TARGET) > > RELEASE_CLANG38_IA32_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS= ) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=3Delf32-i386 > > RELEASE_CLANG38_IA32_DLINK2_FLAGS =3D DEF(GCC5_IA32_DLINK2_FLAGS) -= O3 > > =20 > > -NOOPT_CLANG38_IA32_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m32= -O0 -march=3Di586 DEF(CLANG38_IA32_TARGET) -g > > +NOOPT_CLANG38_IA32_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m32= -malign-double -O0 -march=3Di586 DEF(CLANG38_IA32_TARGET) -g > > NOOPT_CLANG38_IA32_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS= ) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat=3Delf32-i386 > > NOOPT_CLANG38_IA32_DLINK2_FLAGS =3D DEF(GCC5_IA32_DLINK2_FLAGS) -= O0 > > =20 >