This is the mail archive of the gdb@sourceware.org mailing list for the GDB 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: Get versioned minsyms from dynamic symtab (Was: Re: How to call operator<< functions?)


On Thu, Aug 31, 2006 at 10:48:43PM +0300, Michael Veksler wrote:
> >This is a deliberate choice on GCC's part, to reduce overly excessive
> >debug information.  There've been arguments about it in the past.  My
> >  
> From bits/ostream.tcc header file:
> // Inhibit implicit instantiations for required instantiations,
> // which are defined via explicit instantiations elsewhere.
> // NB: This syntax is a GNU extension.
> #if _GLIBCXX_EXTERN_TEMPLATE
> extern template class basic_ostream<char>;

No, that's irrelevant to what I was talking about; some parts of the
debug info are done only with the class's key method.  But...

> >feeling is that we will end up with something like a -gfull argument
> >to force the extra information to be emitted.  GDB needs to work as
> >well as possible anyway.
> >
> >  
> Reading it more, one can force full instantiation of ostream:
> g++ -g -D_GLIBCXX_EXTERN_TEMPLATE=0 myCout.cpp cout-gdb.cpp
> Now everything works, and it is not that much bigger.

...this causes the key method to be in the header for every compilation
unit, IIUC.

-- 
Daniel Jacobowitz
CodeSourcery


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