Hi, I would like to ping these two patches. If we conclude it is absolutely unsafe to not align virtual tables to 16byte boundary (that is an x86_64 ABI requirement for array datastructures but I would like to argue that vtables are compiler controlled ones and do not need to follow ABI here), I can add a code to while program visibility pass to bump up alignment of vtables that are externally visible.
Vtables are always accessed via the vtbl pointer otherwise (that is almost always misaligned because of the offset to RTTI pointer), so for vtables static to given compilation unit, there is no way other compiler can derive the alignment based on ABI promises. This would save the data segment size more progressively at least for -flto. Honza