This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: AIX g++ 3.0.2 Undefined symbol: virtual thunk to...
- From: Robert Boehne <rboehne at ricardo-us dot com>
- To: David Edelsohn <dje at watson dot ibm dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 06 Dec 2001 11:20:26 -0600
- Subject: Re: AIX g++ 3.0.2 Undefined symbol: virtual thunk to...
- Organization: Ricardo Software
- References: <200112042103.QAA23310@makai.watson.ibm.com>
David Edelsohn wrote:
>
> >>>>> Robert Boehne writes:
>
> Robert> I've got a bit of a problem here, and I suspect it might be due to
> Robert> the fact I'm using gcc configured without shared libraries.
> Robert> I could find no mention of "virtual thunk" (only non-virtual thunk)
> Robert> in gnats, and I couldnt' find anything to suggest (to me) that
> Robert> the two problem reports were related.
>
> Robert> Any ideas? What is a "thunk"?
>
> GCC does not generate thunks for AIX.
>
> David
David:
Now I'm baffled. If g++ isn't generating them, how do they get
into my object code? Doing an nm of this library I get 68 lines
that match "thunk".
nm ./sigc++/.libs/libsigc.a | c++filt | grep thunk
000000001004b668 t .non-virtual thunk to std::iostream::~iostream()
<SNIP>
0000000020010e48 d virtual thunk to std::strstream::~strstream()
0000000020010ca4 d virtual thunk to SigC::Object::~Object()
0000000020010c98 d virtual thunk to
SigC::Object::~Object()
Are you saying that some other compiler is generating these?
My suspicion is that it is related to having a compiler configured
with "--disable-shared --disable-threads" so I'm working on
re-bootstrapping gcc with "--enable-threads=posix --enable-shared".
I'm not sure what a "thunk" is so the link error doesn't help
me much.
Thanks,
Robert
boreas::/icarus/tempsig++/ibm43 (84)% dump -H ./sigc++/.libs/libsigc.a
./sigc++/.libs/libsigc.a[libsigc-1.1.so.0]:
***Loader Section***
Loader Header Information
VERSION# #SYMtableENT #RELOCent LENidSTR
0x00000001 0x000000c1 0x00001053 0x0000008f
#IMPfilID OFFidSTR LENstrTBL OFFstrTBL
0x00000002 0x0000d61c 0x000013ff 0x0000d6ab
***Import File Strings***
INDEX PATH BASE MEMBER
0
/usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/3.0.2:/usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/3.0.2/../../..:/usr/lib:/lib
1 libc.a shr.o
boreas::/icarus/tempsig++/ibm43 (85)% g++ -v
Reading specs from
/usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/3.0.2/specs
Configured with: /boreas/gcc-3.0.2/configure --prefix=/usr/local
--disable-threads --enable-languages=c,c++ --without-gnu-ld
--with-gnu-as --infodir=/net/InHouse/emacs/20.7/info --disable-shared
--enable-static
Thread model: single
gcc version 3.0.2
--
Robert Boehne Software Engineer
Ricardo Software Chicago Technical Center
TEL: (630)789-0003 x. 238
FAX: (630)789-0127
email: rboehne@ricardo-us.com