|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN PATCH] xen/types: address Rule 10.1 for macro BITS_TO_LONGS
On 19/09/2023 11:33, Jan Beulich wrote: On 19.09.2023 11:19, Nicola Vetrini wrote:I just noticed one further issue with making BYTES_PER_LONG unsigned, inthat 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.
I think all instances on x86 are caused by
. = ALIGN(POINTER_ALIGN);
where, for all arches in xen/arch/<arch>/include/asm/config.h there is
#define POINTER_ALIGN BYTES_PER_LONG
$ grep -B 1 -A 1 "1U" xen.lds
*(.data.rel.ro.*)
. = ALIGN((1U << 3)); __start_vpci_array = .;
*(SORT(.data.vpci.*)) __end_vpci_array = .;
} :text
--
*(.init.bss.stack_aligned)
. = ALIGN((1U << 3));
__initdata_cf_clobber_start = .;
--
*(.init.rodata.*)
. = ALIGN((1U << 3));
__setup_start = .;
--
*(.bss .bss.*)
. = ALIGN((1U << 3));
__bss_end = .;
Do you think changing the definition of POINTER_ALIGN will break
something?
-- Nicola Vetrini, BSc Software Engineer, BUGSENG srl (https://bugseng.com)
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |