On 13.02.2023 12:14, Marek Marczykowski-Górecki wrote:
> Hi,
> 
> I'm getting some ELF note issues on multiboot binary
> specifically:
> xen/xen: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically 
> linked, BuildID[sha1]=f7d2c37a4ad599b268f2f2d94bff3776d12649b3, bad note 
> description size 0xc0010001, stripped
> 
> readelf additionally says:
> 
>     Displaying notes found in: .note
>       Owner                Data size  Description
>       GNU                  0x00000014 NT_GNU_BUILD_ID (unique build ID 
> bitstring)
>         Build ID: c5825a0d08edc4d11b1138fedca6b14ce8ba7302
>       (NONE)               0x00000004 Unknown note type: (0x00000020)
>        description data: 05 00 00 00 
>     readelf: xen/xen: Warning: note with invalid namesz and/or descsz found 
> at offset 0x34
>     readelf: xen/xen: Warning:  type: 0x4, namesize: 0x00554e47, descsize: 
> 0xc0010001, alignment: 4
> 
> Grub doesn't care, but launching such xen with kexec doesn't work.
> 
> Initially found when booting Xen via Heads: 
> https://openqa.qubes-os.org/tests/60151#step/install_startup/11
> 
> Andy says:
>> yeah, I've seen the same on XTF
>> binutil's recent elf notes for CET compatibility use an unsigned long
>> so they're not compatible when we build as 64bit and then re-package as 32
>> I think we need to strip all elf notes in mkelf32

Instead of complicating mkelf32 (we want to retain at least the build-id
note, after all, and for PVH_GUEST builds also .note.Xen) why don't we
discard the unwanted/unneeded notes then from the linker script, just
like we already do for xen.efi?

Jan

Reply via email to