On 28.11.25 15:31, Jan Beulich wrote:
On 28.11.2025 14:38, Juergen Gross wrote:Today the linker script of Mini-OS specifies to merge all .note* sections into a single section .note:.note : { *(.note) *(.note.*) } It seems as if ld will use the attributes of the first .note* segment found during the linking process for the final .note segment. Somewhere between binutils 2.43 and 2.45 something changed resulting in .note.GNU-stack being the first .note* segment found. Unfortunately this segment has unusual attributes: it has PROGBITS instead of NOTE as type, resulting in the Xen ELF parsing to no longer look into it for finding the Xen ELF-notes. This in turn will result in failure while trying to parse the binary, which will let domain creation fail. In order to avoid this issue, enhance the linker script to merge .note.Xen before other .note.* segments, resulting in the final .note segment to still have the NOTE type. Fixes: 6d1cc81d049f ("x86: switch to use elfnote") Signed-off-by: Juergen Gross <[email protected]>Reviewed-by: Jan Beulich <[email protected]> I wonder though ...--- a/arch/x86/minios-x86.lds.S +++ b/arch/x86/minios-x86.lds.S @@ -33,6 +33,7 @@ SECTIONS.note : {*(.note) + *(.note.Xen) *(.note.*) }... what use .note here is. Can't it be dropped in exchange?
Dropping it seems not to have any negative impact. In theory this should not be in that patch, though, as its presence was questionable even without my patch. Juergen
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature
