[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Procedure reminders on updating a lib package for a C++ ABI change



On Mon, Jul 18, 2005 at 09:00:13PM -0400, Nathanael Nerode wrote:

 > ...but wait.  If this is the case, isn't there a potential problem
 > when a C++ program uses libGLU?  Couldn't we end up with conflicting
 > symbols from two different versions of libstdc++, one linked into
 > libGLU and the other linked into the program which uses libGLU, and
 > therefore possibly get unreliable or incorrect linkage at runtime?
 > Or is libstdc++ using versioned symbols (in which case that can't
 > happen)?

 Well, that's what the ABI change is about, isn't it?

 g++ _does_ emit a warning regarding two different libstdc++ libraries
 being uses and that being a potential cause of trouble.  I haven't sit
 down and checked this symbol for symbol this time, but from the last
 time I did do it I remember that the symbols are either named different
 or mangled different or versioned different, e.g.:

0004c0d0  w   DF .text  000000f8  GLIBCPP_3.2 _ZNSi3getEv

 vs.

00062cb0  w   DF .text  00000103  GLIBCXX_3.4 _ZNSi3getEv

-- 
Marcelo



Reply to: