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