This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
RE: c++/4135: Unable to link: "non-virtual thunk" in HPUX11 and AIX (gcc-3.0.1)
- From: "Gard, Torbjorn" <torbjorn dot gard at streamserve dot com>
- To: "'rodrigc at gcc dot gnu dot org'" <rodrigc at gcc dot gnu dot org>, gcc-bugs at gcc dot gnu dot org, gcc-gnats at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org
- Date: Thu, 13 Dec 2001 08:57:02 +0100
- Subject: RE: c++/4135: Unable to link: "non-virtual thunk" in HPUX11 and AIX (gcc-3.0.1)
Hi
Yes the patch solves the problem in gcc-3.0.1 for these architectures:
AIX 4.2.0,4.3.3/HPUX 10.20,11.0/Solaris 2.6.
I have gcc-3.0.2 in Alpha-OSF4.0d without the patch and this works also. I
was unable to
compile 3.0.1 on this platform, so I can not say if the problem already is
solved
in 3.0.2.
regards
Torbjörn Gard
StreamServe
-----Original Message-----
From: rodrigc@gcc.gnu.org [mailto:rodrigc@gcc.gnu.org]
Sent: Wednesday, December 12, 2001 5:40 PM
To: gcc-bugs@gcc.gnu.org; gcc-gnats@gcc.gnu.org; gcc-prs@gcc.gnu.org;
nobody@gcc.gnu.org; rodrigc@gcc.gnu.org; torbjorn.gard@streamserve.com
Subject: Re: c++/4135: Unable to link: "non-virtual thunk" in HPUX11 and
AIX (gcc-3.0.1)
Synopsis: Unable to link: "non-virtual thunk" in HPUX11 and AIX (gcc-3.0.1)
State-Changed-From-To: open->feedback
State-Changed-By: rodrigc
State-Changed-When: Wed Dec 12 08:40:01 2001
State-Changed-Why:
Does the patch you provided in PR 3536 solve
this problem?
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;
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=4135&databa
se=gcc