http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38307
--- Comment #5 from David Ayers <ayers at fsfe dot org> 2011-03-16 13:33:07 UTC --- I haven't looked at my patch for quite some time but I don't remember that there was an issue and did quite some extensive tests... but anyway it surely has bit-rotted since. If you're approach works and you can address the fact that dispatch tables can be manipulated before +initialized was invoked on the class, then I'm fine with whatever you come up with.