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: AIX g++ 3.0.2 Undefined symbol: virtual thunk to...


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


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