https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84052
Arsen Arsenović <arsen at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |arsen at gcc dot gnu.org --- Comment #7 from Arsen Arsenović <arsen at gcc dot gnu.org> --- I think this can be fixed in the plugin if a new event was added to GCC just before laying out the struct: modified gcc/c/c-decl.cc @@ -9678,6 +9678,9 @@ finish_struct (location_t loc, tree t, tree fieldlist, tree attributes, TYPE_FIELDS (t) = fieldlist; + invoke_plugin_callbacks (PLUGIN_BEFORE_STRUCT_LAYOUT, t); + fieldlist = TYPE_FIELDS (t); + maybe_apply_pragma_scalar_storage_order (t); layout_type (t); I've modified the current Linux randomizer plugin to make use of this and it /seems/ to work but I didn't fully test it yet so I'm not sure. WDYT of the above?