unsatisfied virtual thunks PR4122

Robert Boehne rboehne@ricardo-us.com
Wed Dec 12 12:10:00 GMT 2001


Craig:

I will definitely check this out.  I've seen this crop up on numerous
occasions so it is important (to me) to get this fixed.

Thanks,

Robert

Craig Rodrigues wrote:
> 
> 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

-- 
Robert Boehne             Software Engineer
Ricardo Software   Chicago Technical Center
TEL: (630)789-0003 x. 238
FAX: (630)789-0127
email:  rboehne@ricardo-us.com



More information about the Gcc mailing list