This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: verbose terminate() on by default
On Mon, Dec 23, 2002 at 08:41:36PM +0100, Gabriel Dos Reis wrote:
> Daniel Jacobowitz <drow@mvista.com> writes:
>
> | Step back... Phil, your most recent patch just changed eh_terminate.cc,
> | if I'm looking at the right message. That's in libsupc++. But
> | verbose_terminate is in libstdc++. I see a problem there; libsupc++
> | should not have link dependency on libstdc++, that defeats the point,
> | doesn't it?
>
> Good catch!
>
> But src/cterminate.cc should have been put in libsupc++/ in the first
> place.
>
> It currenlty uses:
>
> * free() // to free the storage allocated by the demangler
> * abort() // which is already used in libsupc++
> * fprintf() // which might be effcienly replaced by write() or puts().
OK. I suspect both I and Alex would be happier if this were replaced
by a write () before putting it into libsupc++. It still introduces
some new overhead potentially - write() drags in the I/O library - but
fprintf on a glibc system draws in _everything_ down to the wide
character and charset conversion code, which brings in the dynamic
loader. Ew.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer