On 25.06.2025 11:04, Jan Beulich wrote:
> For (aiui) backwards compatibility reasons, gcc defaults to a mode that
> was the exclusive one up to gcc4.8, establishing 32-byte alignment for

Correction - it's 16- or 32-byte alignment, depending on size.

> aggregates larger than a certain size. We don't rely on such, and hence
> we can do with the psABI-compliant 16-byte alignment.
> 
> Savings in the build I'm looking at:
> - .data.ro_after_init          344 bytes
> - .rodata + .data.rel.ro      1904 bytes
> - .init.*data.cf_clobber       232 bytes
> - .init (overall)              688 bytes
> - .data.read_mostly            864 bytes
> - .data                                600 bytes
> - .bss                                1472 bytes
> 
> Overall xen-syms' _end happens to move down there by 2 pages.
> 
> Clang doesn't support the option, presumably because they never over-
> aligned data.
> 
> Signed-off-by: Jan Beulich <jbeul...@suse.com>

Looks like this is becoming a necessary pre-req to "vpci: Refactor
REGISTER_VPCI_INIT" [1], unless we want to use undesirable workarounds
or hackery there [2]. Hence may I ask for feedback here?

Thanks, Jan

[1] https://lists.xen.org/archives/html/xen-devel/2025-06/msg00840.html
[2] https://lists.xen.org/archives/html/xen-devel/2025-06/msg01760.html

Reply via email to