This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]