This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
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