This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils 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: undefined virtual table references in 2.12 and later


"Donald Zoch" <donald.zoch@amd.com> writes:

> Thanks, but I did double check the real symbol names.  The above
> symbol, exception virtual table appears mangled as __vt_9exception
> both in one of the objects that it's undefined in 
> 
> libgcc.a:tinfo.o:         U exception virtual table
> 
> with --no-demangle:
> 
> libgcc.a:tinfo.o:         U __vt_9exception
> 
> and it appears as 
> 
> libgcc.a:exception.o:00000000 V exception virtual table
> 
> with --no-demangle:
> 
> libgcc.a:exception.o:00000000 V __vt_9exception

Hmmm, from your original message:

> /u/zochd/build2/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/libgcc.a(exception.o):
> In function `__check_eh_spec':
> /u/zochd/gcc-2.95.3/build2/gcc/include/exception:15: undefined
> reference to `exception virtual table'

This error message says that exception.o has an undefined reference to
`exception virtual table'.  The above nm output says that exception.o
defines `exception virtual table' as a weak symbol.  In other words,
you are getting an undefined reference from an object which actually
defines the symbol.

I can not explain that.

Ian


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