https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64535
--- Comment #23 from rguenther at suse dot de <rguenther at suse dot de> --- On Tue, 27 Jan 2015, jakub at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64535 > > --- Comment #22 from Jakub Jelinek <jakub at gcc dot gnu.org> --- > Can't you use a .bss object for the initial case, so you don't malloc anything > in the ctor unless user requests something larger than that? Is there a non-zeroed .bss section? I think using dynamically allocated memory might be cheaper. But sure - it was a .bss object previously (four actually). > That way "freeing" that would be handled in most cases. And I assume you > really can't dlclose libstdc++ while other threads are handling exceptions, > because then those libraries should use libstdc++ entry points and either > would > need to be dlclosed too, or libstdc++ wouldn't be really unmapped. Ok, so what's the real issue then with the destructor? Don't we destroy the global IO and locale stuff as well?