On 05/06/2025 1:02 pm, Jan Beulich wrote: > On 05.06.2025 13:16, Andrew Cooper wrote: >> The format of the buildid is a property of the binary, not a property of how >> it was loaded. This fixes buildid recognition when starting xen.efi from >> it's >> MB2 entrypoint. >> >> Suggested-by: Ross Lagerwall <ross.lagerw...@citrix.com> >> Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> > I'll pick this up without a Fixes: tag, but I think it ought to have one. (I > didn't check whether MB2 or build-id support came later, hence introducing the > issue.)
MB2+EFI came long before any buildid support. If you want a fixes tag, it's eee5909e9d1 > >> --- a/xen/common/version.c >> +++ b/xen/common/version.c >> @@ -203,8 +203,11 @@ void __init xen_build_init(void) >> rc = xen_build_id_check(n, sz, &build_id_p, &build_id_len); >> >> #ifdef CONFIG_X86 >> - /* Alternatively we may have a CodeView record from an EFI build. */ >> - if ( rc && efi_enabled(EFI_LOADER) ) >> + /* >> + * xen.efi built with a new enough toolchain will have a CodeView >> record, >> + * not an ELF note. >> + */ >> + if ( rc ) > Instead of dropping the efi_enabled(), I think you want to replace EFI_LOADER > by EFI_BOOT. No - that's differently buggy. I suppose the commit message wasn't clear enough? We'd still have a CodeView record if we booted xen.efi using it's MB2 entrypoint without the EFI extensions. This really is a property of being a PE32+ binary, and nothing to do with EFI. ~Andrew