On 03.10.2022 15:44, Andrew Cooper wrote: > On 29/09/2022 11:03, Jan Beulich wrote: >> Like done previously for the hypervisor and elsewhere. >> >> 1: suppress GNU ld 2.39 warning about RWX load segments >> 2: silence GNU ld 2.39 warning about executable stacks > > I've taken these, and dropped the `-no-pie`, but there's something else too. > > $readelf -Wa tests/example/test-hvm64-example > ... > > No version information found in this file. > > Displaying notes found in: .note > Owner Data size Description > GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 > Properties: x86 feature used: x86, <corrupt type (0) datasz: 0xc0010002> > > readelf: Warning: note with invalid namesz and/or descsz found at offset > 0x30 > readelf: Warning: type: 0x12, namesize: 0x00000004, descsize: > 0x00000004, alignment: 8 > > > It's only hvm64 which reads as corrupt, so I think there's some > collateral damage with the conversion between ELF64 and ELF32.
Iirc there was a binary-incompatible change (accompanying an incompatible change to the ELF spec) to how notes are generated / processed for 64-bit objects (some hand waving involved here, as this did happen quite a while back). I assume the .note section(s) will need converting (to insert / remove padding) in the course of converting between ELF32 and ELF64. Jan