This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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: unsatisfied virtual thunks PR4122


On Wed, Dec 12, 2001 at 10:49:19AM -0600, Robert Boehne wrote:
> Harri:
> 
> Have a look at PR4122.  This is a regression from 2.95.x and is present
> in all 3.x versions.  I get this with libsigc++ 1.1 on AIX using the
> > /usr/ccs/bin/ld: Unsatisfied symbols:
> >    virtual thunk to
> > CosNaming::_impl_BindingIterator::~_impl_BindingIterator()(first referenced
> > in NamingContext_i.o) (data)
> >    virtual thunk to PortableServer::ServantBase::_downcast()(first referenced
> > in NamingContext_i.o) (data)


Hi,

In PR 3536, which looks similar:
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=3536&database=gcc

The following patch was proposed for cp/method.c:

===================================================================
Hello,
 
 The thunks were actually generated and found in the object files but they
 were not public so linking failed. Adding the three lower lines to the
 function make_thunk() in /gcc/cp/method.c seems solve problem 3536.
 
 Line 361:
 
       /* And neither is it a clone.  */
       DECL_CLONED_FUNCTION (thunk) = NULL_TREE;
       DECL_EXTERNAL (thunk) = 1;
 
 +     /* Make the thunk public unless it is for a destructor */
 +     if (!DECL_DESTRUCTOR_P (func_decl))
 +      TREE_PUBLIC (thunk) = 1;
 
 
 Regards,
 Thomas
===================================================================

Could you try it and see if it solves the problem?
-- 
Craig Rodrigues        
http://www.gis.net/~craigr    
rodrigc@mediaone.net          


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