<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:等线;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"\@等线";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"\@宋体";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"Segoe UI";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
@font-face
        {font-family:Menlo;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:12.0pt;
        font-family:宋体;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.pl-c1
        {mso-style-name:pl-c1;}
span.pl-k
        {mso-style-name:pl-k;}
span.pl-s
        {mso-style-name:pl-s;}
span.pl-pds
        {mso-style-name:pl-pds;}
span.pl-cce
        {mso-style-name:pl-cce;}
span.EmailStyle24
        {mso-style-type:personal-reply;
        font-family:等线;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=ZH-CN link=blue vlink=purple style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal><span lang=EN-US style='font-size:10.5pt;font-family:等线'>Andrew:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.5pt;font-family:等线'>  GenFw generates debug entry, and zero debug entry. Its functionality is same to the image without debug entry. So, new option is not introduced to control whether GenFw generates debug entry when it converts ELF image to EFI image. <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.5pt;font-family:等线'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.5pt;font-family:等线'>Thanks<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.5pt;font-family:等线'>Liming<o:p></o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span style='font-size:11.0pt;font-family:等线'>发件人<span lang=EN-US>:</span></span></b><span lang=EN-US style='font-size:11.0pt;font-family:等线'> devel@edk2.groups.io <devel@edk2.groups.io> </span><b><span style='font-size:11.0pt;font-family:等线'>代表 </span></b><span lang=EN-US style='font-size:11.0pt;font-family:等线'>Andrew Fish via groups.io<br></span><b><span style='font-size:11.0pt;font-family:等线'>发送时间<span lang=EN-US>:</span></span></b><span lang=EN-US style='font-size:11.0pt;font-family:等线'> 2021</span><span style='font-size:11.0pt;font-family:等线'>年<span lang=EN-US>3</span>月<span lang=EN-US>25</span>日<span lang=EN-US> 7:26<br></span><b>收件人<span lang=EN-US>:</span></b><span lang=EN-US> edk2-devel-groups-io <devel@edk2.groups.io>; ross@burtonini.com<br></span><b>抄送<span lang=EN-US>:</span></b><span lang=EN-US> lersek@redhat.com<br></span><b>主题<span lang=EN-US>:</span></b><span lang=EN-US> Re: [edk2-devel] [PATCH v2] OvmfPkg: strip build paths in release builds<o:p></o:p></span></span></p></div></div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>This breaks some usage we have have in our fork. We have symbols turned on for Release builds, so this change would break that. <o:p></o:p></span></p><div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US>It looks to me that the root cause of this issue might be that the GenFw is blindly writing the debug directory entry into the PE/COFF? For native PE/COFF I think this is controlled by linker flags? For Xcode/clang it is controlled by the *_XCODE5_*_MTOC_FLAGS. So at this point it is kind of up to each toolchain how they want to deal with symbols on release builds. <o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p></div><div><div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US>It seems kind of strange to insert a section and then zero it. Almost seems like the intent of —zero was to post process compare images? <o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US><br><br><o:p></o:p></span></p></div><div><div><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;font-family:"Menlo",serif'>  -z, --zero            Zero the Debug Data Fields in the PE input image file.<o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;font-family:"Menlo",serif'>                        It also zeros the time stamp fields.<o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;font-family:"Menlo",serif'>                        This option can be used to compare the binary efi image.<o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;font-family:"Menlo",serif'>                        It can't be combined with other action options<o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;font-family:"Menlo",serif'>                        except for -o, -r option. It is a action option.<o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;font-family:"Menlo",serif'>                        If it is combined with other action options, the later<o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;font-family:"Menlo",serif'>                        input action option will override the previous one.<o:p></o:p></span></p></div></div><div><p class=MsoNormal><span lang=EN-US><br><br><o:p></o:p></span></p></div><div><div><p class=MsoNormal><span lang=EN-US>And in case you are going to ask our fork uses relative paths from the Build directory and/or a UUID string for the Debug Directory entry file name so it is a constant value and does not impact build reproducibility. <o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US><br><br><o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US>From a feature stand point this change will break any hope of source level debugging with RELEASE builds. I also think it changes the exception handler code output in OVMF [1] for ELF toolchains. You are going to get the (No PDB) vs. the file and path you were getting today. I assume if you had tools that natively produce PE/COFF and did not have a Debug Directory entry the same thing would happen prior to this change. <o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US><br><br><o:p></o:p></span></p></div><div><table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 style='border-collapse:collapse;box-sizing: border-box;border-spacing: 0px;tab-size: 8;caret-color: rgb(36, 41, 46)'><tr style='box-sizing: border-box'><td width=50 nowrap valign=top style='width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;min-width: 50px;color:var(--color-diff-blob-num-text);cursor:pointer;-webkit-user-select: none' id=L133></td><td valign=top style='padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;color:var(--color-text-primary);overflow:visible' id=LC133><p class=MsoNormal style='line-height:15.0pt'><span lang=EN-US style='font-size:9.0pt;font-family:Consolas;color:#24292E'>    Status = <span class=pl-c1>PeCoffLoaderGetEntryPoint</span> ((VOID *) Pe32Data, &EntryPoint);<o:p></o:p></span></p></td></tr><tr style='box-sizing: border-box'><td width=50 nowrap valign=top style='width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;min-width: 50px;color:var(--color-diff-blob-num-text);cursor:pointer;-webkit-user-select: none' id=L134></td><td valign=top style='padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;color:var(--color-text-primary);overflow:visible' id=LC134><p class=MsoNormal style='line-height:15.0pt'><span lang=EN-US style='font-size:9.0pt;font-family:Consolas;color:#24292E'>    <span class=pl-k>if</span> (<span class=pl-c1>EFI_ERROR</span> (Status)) {<o:p></o:p></span></p></td></tr><tr style='box-sizing: border-box'><td width=50 nowrap valign=top style='width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;min-width: 50px;color:var(--color-diff-blob-num-text);cursor:pointer;-webkit-user-select: none' id=L135></td><td valign=top style='padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;color:var(--color-text-primary);overflow:visible' id=LC135><p class=MsoNormal style='line-height:15.0pt'><span lang=EN-US style='font-size:9.0pt;font-family:Consolas;color:#24292E'>      EntryPoint = <span class=pl-c1>NULL</span>;<o:p></o:p></span></p></td></tr><tr style='box-sizing: border-box'><td width=50 nowrap valign=top style='width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;min-width: 50px;color:var(--color-diff-blob-num-text);cursor:pointer;-webkit-user-select: none' id=L136></td><td valign=top style='padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;color:var(--color-text-primary);overflow:visible' id=LC136><p class=MsoNormal style='line-height:15.0pt'><span lang=EN-US style='font-size:9.0pt;font-family:Consolas;color:#24292E'>    }<o:p></o:p></span></p></td></tr><tr style='box-sizing: border-box'><td width=50 nowrap valign=top style='width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;min-width: 50px;color:var(--color-diff-blob-num-text);cursor:pointer;-webkit-user-select: none' id=L137></td><td valign=top style='padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;color:var(--color-text-primary);overflow:visible' id=LC137><p class=MsoNormal style='line-height:15.0pt'><span lang=EN-US style='font-size:9.0pt;font-family:Consolas;color:#24292E'>    <span class=pl-c1>InternalPrintMessage</span> (<span class=pl-pds>"</span><span class=pl-s>!!!! Find image based on IP(0x</span><span class=pl-c1>%x</span><span class=pl-s>) </span><span class=pl-pds>"</span>, CurrentEip);<o:p></o:p></span></p></td></tr><tr style='box-sizing: border-box'><td width=50 nowrap valign=top style='width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;min-width: 50px;color:var(--color-diff-blob-num-text);cursor:pointer;-webkit-user-select: none' id=L138></td><td valign=top style='padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;color:var(--color-text-primary);overflow:visible' id=LC138><p class=MsoNormal style='line-height:15.0pt'><span lang=EN-US style='font-size:9.0pt;font-family:Consolas;color:#24292E'>    PdbPointer = <span class=pl-c1>PeCoffLoaderGetPdbPointer</span> ((VOID *) Pe32Data);<o:p></o:p></span></p></td></tr><tr style='box-sizing: border-box'><td width=50 nowrap valign=top style='width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;min-width: 50px;color:var(--color-diff-blob-num-text);cursor:pointer;-webkit-user-select: none' id=L139></td><td valign=top style='padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;color:var(--color-text-primary);overflow:visible' id=LC139><p class=MsoNormal style='line-height:15.0pt'><span lang=EN-US style='font-size:9.0pt;font-family:Consolas;color:#24292E'>    <span class=pl-k>if</span> (PdbPointer != <span class=pl-c1>NULL</span>) {<o:p></o:p></span></p></td></tr><tr style='box-sizing: border-box'><td width=50 nowrap valign=top style='width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;min-width: 50px;color:var(--color-diff-blob-num-text);cursor:pointer;-webkit-user-select: none' id=L140></td><td valign=top style='padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;color:var(--color-text-primary);overflow:visible' id=LC140><p class=MsoNormal style='line-height:15.0pt'><span lang=EN-US style='font-size:9.0pt;font-family:Consolas;color:#24292E'>      <span class=pl-c1>InternalPrintMessage</span> (<span class=pl-pds>"</span><span class=pl-c1>%a</span><span class=pl-pds>"</span>, PdbPointer);<o:p></o:p></span></p></td></tr><tr style='box-sizing: border-box'><td width=50 nowrap valign=top style='width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;min-width: 50px;color:var(--color-diff-blob-num-text);cursor:pointer;-webkit-user-select: none' id=L141></td><td valign=top style='padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;color:var(--color-text-primary);overflow:visible' id=LC141><p class=MsoNormal style='line-height:15.0pt'><span lang=EN-US style='font-size:9.0pt;font-family:Consolas;color:#24292E'>    } <span class=pl-k>else</span> {<o:p></o:p></span></p></td></tr><tr style='box-sizing: border-box'><td width=50 nowrap valign=top style='width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;min-width: 50px;color:var(--color-diff-blob-num-text);cursor:pointer;-webkit-user-select: none' id=L142></td><td valign=top style='padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;color:var(--color-text-primary);overflow:visible' id=LC142><p class=MsoNormal style='line-height:15.0pt'><span lang=EN-US style='font-size:9.0pt;font-family:Consolas;color:#24292E'>      <span class=pl-c1>InternalPrintMessage</span> (<span class=pl-pds>"</span><span class=pl-s>(No PDB) </span><span class=pl-pds>"</span> );<o:p></o:p></span></p></td></tr><tr style='box-sizing: border-box'><td width=50 nowrap valign=top style='width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;min-width: 50px;color:var(--color-diff-blob-num-text);cursor:pointer;-webkit-user-select: none' id=L143></td><td valign=top style='padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;color:var(--color-text-primary);overflow:visible' id=LC143><p class=MsoNormal style='line-height:15.0pt'><span lang=EN-US style='font-size:9.0pt;font-family:Consolas;color:#24292E'>    }<o:p></o:p></span></p></td></tr><tr style='box-sizing: border-box'><td width=50 nowrap valign=top style='width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;min-width: 50px;color:var(--color-diff-blob-num-text);cursor:pointer;-webkit-user-select: none' id=L144></td><td valign=top style='padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;color:var(--color-text-primary);overflow:visible' id=LC144><p class=MsoNormal style='line-height:15.0pt'><span lang=EN-US style='font-size:9.0pt;font-family:Consolas;color:#24292E'>    <span class=pl-c1>InternalPrintMessage</span> (<o:p></o:p></span></p></td></tr><tr style='box-sizing: border-box'><td width=50 nowrap valign=top style='width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;min-width: 50px;color:var(--color-diff-blob-num-text);cursor:pointer;-webkit-user-select: none' id=L145></td><td valign=top style='padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;color:var(--color-text-primary);overflow:visible' id=LC145><p class=MsoNormal style='line-height:15.0pt'><span lang=EN-US style='font-size:9.0pt;font-family:Consolas;color:#24292E'>      <span class=pl-pds>"</span><span class=pl-s> (ImageBase=</span><span class=pl-c1>%016lp</span><span class=pl-s>, EntryPoint=</span><span class=pl-c1>%016p</span><span class=pl-s>) !!!!</span><span class=pl-cce>\n</span><span class=pl-pds>"</span>,<o:p></o:p></span></p></td></tr><tr style='box-sizing: border-box'><td width=50 nowrap valign=top style='width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;min-width: 50px;color:var(--color-diff-blob-num-text);cursor:pointer;-webkit-user-select: none' id=L146></td><td valign=top style='padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;color:var(--color-text-primary);overflow:visible' id=LC146><p class=MsoNormal style='line-height:15.0pt'><span lang=EN-US style='font-size:9.0pt;font-family:Consolas;color:#24292E'>      (VOID *) Pe32Data,<o:p></o:p></span></p></td></tr><tr style='box-sizing: border-box'><td width=50 nowrap valign=top style='width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;min-width: 50px;color:var(--color-diff-blob-num-text);cursor:pointer;-webkit-user-select: none' id=L147></td><td valign=top style='padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;color:var(--color-text-primary);overflow:visible' id=LC147><p class=MsoNormal style='line-height:15.0pt'><span lang=EN-US style='font-size:9.0pt;font-family:Consolas;color:#24292E'>      EntryPoint<o:p></o:p></span></p></td></tr><tr style='box-sizing: border-box'><td width=50 nowrap valign=top style='width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;min-width: 50px;color:var(--color-diff-blob-num-text);cursor:pointer;-webkit-user-select: none' id=L148></td><td valign=top style='padding:0cm 7.5pt 0cm 7.5pt;box-sizing: border-box;color:var(--color-text-primary);overflow:visible' id=LC148><p class=MsoNormal style='line-height:15.0pt'><span lang=EN-US style='font-size:9.0pt;font-family:Consolas;color:#24292E'>      );<o:p></o:p></span></p></td></tr><tr style='box-sizing: border-box'><td style='padding:.75pt .75pt .75pt .75pt'></td><td style='padding:.75pt .75pt .75pt .75pt'></td></tr></table></div><div><p class=MsoNormal><span lang=EN-US><br><br><o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US>Not saying we have to "stop the presses", but just trying to point out the side effects of this change. It is not so much that this change is bad, but that we have no way to turn off the Debug Directory Entry for ELF conversion, so we seem to be working around that issue with a bigger hammer?<o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:10.5pt;font-family:等线'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US>[1] <a href="https://github.com/tianocore/edk2/blob/master/UefiCpuPkg/Library/CpuExceptionHandlerLib/CpuExceptionCommon.c#L117">https://github.com/tianocore/edk2/blob/master/UefiCpuPkg/Library/CpuExceptionHandlerLib/CpuExceptionCommon.c#L117</a><o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p></div></div><div><p class=MsoNormal><span lang=EN-US>Thanks,<o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US><br><br><o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US>Andrew Fish<o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US><br><br><o:p></o:p></span></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal><span lang=EN-US>On Mar 24, 2021, at 4:58 AM, Ross Burton <<a href="mailto:ross@burtonini.com">ross@burtonini.com</a>> wrote:<o:p></o:p></span></p></div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><div><div><p class=MsoNormal style='margin-bottom:12.0pt'><span lang=EN-US>GenFw will embed a NB10 section which contains the path to the input file,<br>which means the output files have build paths embedded in them.  To reduce<br>information leakage and ensure reproducible builds, pass --zero in release<br>builds to remove this information.<br><br>Ref: <a href="https://bugzilla.tianocore.org/show_bug.cgi?id=3256">https://bugzilla.tianocore.org/show_bug.cgi?id=3256</a><br>Signed-off-by: Ross Burton <<a href="mailto:ross.burton@arm.com">ross.burton@arm.com</a>><br>---<br>OvmfPkg/AmdSev/AmdSevX64.dsc | 1 +<br>OvmfPkg/Bhyve/BhyveX64.dsc   | 1 +<br>OvmfPkg/OvmfPkgIa32.dsc      | 1 +<br>OvmfPkg/OvmfPkgIa32X64.dsc   | 1 +<br>OvmfPkg/OvmfPkgX64.dsc       | 1 +<br>OvmfPkg/OvmfXen.dsc          | 1 +<br>6 files changed, 6 insertions(+)<br><br>diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc<br>index 65c42284d9..69a05feea9 100644<br>--- a/OvmfPkg/AmdSev/AmdSevX64.dsc<br>+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc<br>@@ -78,6 +78,7 @@<br>  GCC:*_*_X64_GENFW_FLAGS   = --keepexceptiontable<br>  INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable<br>!endif<br>+  RELEASE_*_*_GENFW_FLAGS = --zero<br><br>  #<br>  # Disable deprecated APIs.<br>diff --git a/OvmfPkg/Bhyve/BhyveX64.dsc b/OvmfPkg/Bhyve/BhyveX64.dsc<br>index 4a1cdf5aca..132f55cf69 100644<br>--- a/OvmfPkg/Bhyve/BhyveX64.dsc<br>+++ b/OvmfPkg/Bhyve/BhyveX64.dsc<br>@@ -76,6 +76,7 @@<br>  GCC:*_*_X64_GENFW_FLAGS   = --keepexceptiontable<br>  INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable<br>!endif<br>+  RELEASE_*_*_GENFW_FLAGS = --zero<br><br>  #<br>  # Disable deprecated APIs.<br>diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc<br>index 1eaf3e99c6..93c209950c 100644<br>--- a/OvmfPkg/OvmfPkgIa32.dsc<br>+++ b/OvmfPkg/OvmfPkgIa32.dsc<br>@@ -80,6 +80,7 @@<br>!if $(TOOL_CHAIN_TAG) != "XCODE5" && $(TOOL_CHAIN_TAG) != "CLANGPDB"<br>  GCC:*_*_*_CC_FLAGS                   = -mno-mmx -mno-sse<br>!endif<br>+  RELEASE_*_*_GENFW_FLAGS = --zero<br><br>  #<br>  # Disable deprecated APIs.<br>diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc<br>index 4a5a430147..97cc438250 100644<br>--- a/OvmfPkg/OvmfPkgIa32X64.dsc<br>+++ b/OvmfPkg/OvmfPkgIa32X64.dsc<br>@@ -84,6 +84,7 @@<br>  GCC:*_*_X64_GENFW_FLAGS   = --keepexceptiontable<br>  INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable<br>!endif<br>+  RELEASE_*_*_GENFW_FLAGS = --zero<br><br>  #<br>  # Disable deprecated APIs.<br>diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc<br>index d4d601b444..f544fb04bf 100644<br>--- a/OvmfPkg/OvmfPkgX64.dsc<br>+++ b/OvmfPkg/OvmfPkgX64.dsc<br>@@ -84,6 +84,7 @@<br>  GCC:*_*_X64_GENFW_FLAGS   = --keepexceptiontable<br>  INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable<br>!endif<br>+  RELEASE_*_*_GENFW_FLAGS = --zero<br><br>  #<br>  # Disable deprecated APIs.<br>diff --git a/OvmfPkg/OvmfXen.dsc b/OvmfPkg/OvmfXen.dsc<br>index 507029404f..fcaa35acf1 100644<br>--- a/OvmfPkg/OvmfXen.dsc<br>+++ b/OvmfPkg/OvmfXen.dsc<br>@@ -74,6 +74,7 @@<br>  GCC:*_*_X64_GENFW_FLAGS   = --keepexceptiontable<br>  INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable<br>!endif<br>+  RELEASE_*_*_GENFW_FLAGS = --zero<br><br>  #<br>  # Disable deprecated APIs.<br>-- <br>2.25.1<br><br><br><br><br><br><o:p></o:p></span></p></div></div></blockquote></div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p></div><div><p class=MsoNormal></o:p></span></p></div></div></body></html>


 <div width="1" style="color:white;clear:both">_._,_._,_</div> <hr> Groups.io Links:<p>   You receive all messages sent to this group.    <p> <a target="_blank" href="https://edk2.groups.io/g/devel/message/73248">View/Reply Online (#73248)</a> |    |  <a target="_blank" href="https://groups.io/mt/81593771/1813853">Mute This Topic</a>  | <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br>    <a href="https://edk2.groups.io/g/devel/editsub/1813853">Your Subscription</a> | <a href="mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> |  <a href="https://edk2.groups.io/g/devel/unsub">Unsubscribe</a>  [edk2-devel-archive@redhat.com]<br> <div width="1" style="color:white;clear:both">_._,_._,_</div>