[PATCH 0/2][XTF] build: suppress GNU ld 2.39 warnings

Jan Beulich posted 2 patches 1 year, 7 months ago
Failed in applying to current master (apply log)
[PATCH 0/2][XTF] build: suppress GNU ld 2.39 warnings
Posted by Jan Beulich 1 year, 7 months ago
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

Jan
Re: [PATCH 0/2][XTF] build: suppress GNU ld 2.39 warnings
Posted by Andrew Cooper 1 year, 7 months ago
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.

~Andrew
Re: [PATCH 0/2][XTF] build: suppress GNU ld 2.39 warnings
Posted by Jan Beulich 1 year, 7 months ago
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