[Bug libstdc++/64535] Emergency buffer for exception allocation too small

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jan 27 12:39:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64535

--- Comment #24 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to rguenther@suse.de from comment #23)
> Is there a non-zeroed .bss section?

No.

> I think using dynamically allocated
> memory might be cheaper.

I very much doubt it.

> > 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?

IO destruction is a huge can of worms, just look at some of the interesting
glibc bugs.  It is an area which is essentially unsolvable.
Most other stuff isn't destructed by glibc at all, there is __libc_freeres
exactly to make valgrind/mtrace etc. happy, but still not free otherwise.



More information about the Gcc-bugs mailing list