Thanks, Pedro and Ard, An update on this issue: * It seems to be very specific to Ubuntu20's 10.5 build of GCC. * I could not reproduce it using a crosstool-ng build of 10.5, even after trying to configure it identically to Ubuntu20's. It might be something in Ubuntu's patchset, but nothing stuck out to me there. * We have migrated to Ubuntu22 as a preferred platform. Their build of GCC 12.1 and 12.3 do not have this issue. As a result, this issue is no longer a high runner for us. Next step: Try reproducing it by rebuilding Ubuntu's GCC debs. I still want to get to the bottom of this, just to make sure it doesn't pop-up in later builds on GCC on Ubuntu. Pedro: I haven't attempted to build without LTO yet. That looked painful to setup, so I didn't make it a priority. Thanks again, Jake ________________________________ From: Pedro Falcato Sent: Thursday, November 2, 2023 8:47 AM To: Jake Garver Cc: Ard Biesheuvel ; devel@edk2.groups.io ; rebecca@bsdio.com ; gaoliming@byosoft.com.cn ; bob.c.feng@intel.com ; yuwei.chen@intel.com Subject: Re: [edk2-devel] [PATCH] BaseTools/GenFw: Change opcode when converting ADR to ADRP External email: Use caution opening links or attachments On Thu, Nov 2, 2023 at 11:47 AM Jake Garver wrote: > > Ard, Pedro, > > How would you like to proceed here? > > Do nothing. Treat it as a toolchain bug and not attempt a work-around. Practically speaking, this means the Ubuntu20 container at https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fcontainers&data=05%7C01%7Cjake%40nvidia.com%7C0977cd2f66b749f07d7508dbdba1e777%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638345260662824037%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Ef71H%2FaGAFezT%2Fs6YBanbDnUQge%2B%2F6YZ3OLRI6MuAb8%3D&reserved=0 cannot be updated to the latest GCC 10.x (10.5). We can pin it to 10.3 or EOL it, migrating to Ubuntu22. > Rework the patch as a work-around. > ??? Something I missed. > > Note in option 1, I'm assuming that other versions of GCC, e.g. 12.x used in Ubuntu22, don't eventually inherit this regression. But we can always revisit the work-around if we determine that to be the case. I'm starting Ubuntu22 testing now, so I may have an answer soon. I think the correct way to proceed here is to find out what exactly is causing this. Once we find out, we can edit the patch's commit message and push (or drop the patch, depending on what the problem is). The patch itself looks fine to me (And I already Rb'd it I think), and it should be harmless to apply it, even for toolchains that do not share this mysterious problem. Also, FWIW: GCC 10.5 is a stable release, so I find it hard to believe that something actually broke between 10.4 and 10.5. One more thing: What happens if you build without LTO? -- Pedro -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#112133): https://edk2.groups.io/g/devel/message/112133 Mute This Topic: https://groups.io/mt/102202314/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-