unsatisfied virtual thunks PR4122 != 3536
Robert Boehne
rboehne@ricardo-us.com
Wed Dec 12 20:12:00 GMT 2001
Craig:
This bug is separate and distinct from 3536. The fix suggested in 3536
fixes the problem in 3536, but not the problem in 4122.
I have reproduced 4122 with today's (Dec. 12) 3.0 branch on
SGI IRIX 6.5 mips, IBM AIX 4.3.3 ppc, I386 GNU/Linux,
and Solaris 7 sparc. I'm quite disappointed that this didn't do
the trick. :( I'm also curious as to why the patch for 3536
considers destructors separately, why would they be different?
Oh well, another caffinated night ahead of me...
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