From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29437 invoked by alias); 27 Jan 2015 12:39:42 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 29249 invoked by uid 48); 27 Jan 2015 12:39:28 -0000 From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/64535] Emergency buffer for exception allocation too small Date: Tue, 27 Jan 2015 12:39:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: RESOLVED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-01/txt/msg03077.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64535 --- Comment #24 from Jakub Jelinek --- (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.