On 19.09.2023 11:19, Nicola Vetrini wrote:
> I just noticed one further issue with making BYTES_PER_LONG unsigned, in
> that causes
> several instances of (1U << 3) to appear inside the file
> xen/arch/x86/xen.lds
> produced by the build, which in turn causes ld to fail on that 'U'.
That should be avoidable if _AC() is used in the #define.
Jan
> For
> reference, the version of ld used by the build is the following:
> GNU ld (GNU Binutils for Ubuntu) 2.38
>
> The following is a snippet of the output:
>
> . = ALIGN((1 << 12));
> __ro_after_init_end = .;
> __start_bug_frames = .;
> *(.bug_frames.0)
> __stop_bug_frames_0 = .;
> *(.bug_frames.1)
> __stop_bug_frames_1 = .;
> *(.bug_frames.2)
> __stop_bug_frames_2 = .;
> *(.bug_frames.3)
> __stop_bug_frames_3 = .;
> *(.rodata)
> *(.rodata.*)
> *(.data.rel.ro)
> *(.data.rel.ro.*)
> . = ALIGN((1U << 3)); __start_vpci_array = .;
> *(SORT(.data.vpci.*)) __end_vpci_array = .;
> } :text
> .note.gnu.build-id : AT(ADDR(".note.gnu.build-id") - (((((((261 >> 8)
> * 0xffff000000000000) | (261 << 39))) + ((1 << 39) / 2)) + (64 << 30)) +
> (1 << 30))) {
> __note_gnu_build_id_start = .;
> *(.note.gnu.build-id)
> __note_gnu_build_id_end = .;
>
>