This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/64535] Emergency buffer for exception allocation too small
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 27 Jan 2015 12:39:08 +0000
- Subject: [Bug libstdc++/64535] Emergency buffer for exception allocation too small
- Auto-submitted: auto-generated
- References: <bug-64535-4 at http dot gcc dot gnu dot org/bugzilla/>
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.