[Bug c++/19159] [4.0 Regression] Undefined symbol: vtable for __cxxabiv1::__vmi_class_type_info
danglin at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat Jan 8 22:57:00 GMT 2005
------- Additional Comments From danglin at gcc dot gnu dot org 2005-01-08 22:57 -------
I first tested the aix.patch using the cvs head. It still had the same
problem.
Using the tree from "12/16/04 11:03:00 UTC" (my original suggestion was
known to work at this point), I tested the patch together with rtti.c
changes for PR 18257. Still no joy.
The vtables aren't being emitted because the runtime check in rtti.c
(emit_support_tinfos) is broken:
Breakpoint 1, emit_support_tinfos () at ../../gcc/gcc/cp/rtti.c:1342
1342 ../../gcc/gcc/cp/rtti.c: A file or directory in the path name does not
exist..
in ../../gcc/gcc/cp/rtti.c
(gdb) p debug_tree (dtor)
<function_decl 300d5200 __fundamental_type_info
type <method_type 300d5380
type <void_type 30018f00 void type_6 VOID
align 8 symtab -11 alias set -1
pointer_to_this <pointer_type 30018f80>>
SI
size <integer_cst 300024a0 constant invariant 32>
unit size <integer_cst 30002160 constant invariant 4>
align 32 symtab 0 alias set -1 method basetype <record_type 300d4b00
__fundamental_type_info>
arg-types <tree_list 300d2648 value <pointer_type 300d4f00>
chain <tree_list 300af678 value <integer_type 30009780 int>
chain <tree_list 3000ae40 value <void_type 30018f00 void>>>>>
public abstract external no-static-chain virtual SI file /opt/build/dave/gcc-
4.0.0/gcc/libstdc++-v3/libsupc++/cxxabi.h line 167 context <record_type 300d4b00
__fundamental_type_info>
arguments <parm_decl 300d5280 this
type <pointer_type 300d5000 type <record_type 300d4b00
__fundamental_type_info>
readonly unsigned SI size <integer_cst 300024a0 32> unit size <
integer_cst 30002160 4>
align 32 symtab 0 alias set -1>
readonly unsigned SI file /opt/build/dave/gcc-4.0.0/gcc/libstdc++-v3/
libsupc++/cxxabi.h line 167 size <integer_cst 300024a0 32> unit size <integer_cst
30002160 4>
align 32 initial <pointer_type 300d5000> arg-type <pointer_type 300d5000>
chain <parm_decl 300d5300 __in_chrg type <integer_type 30009780 int>
readonly SI file /opt/build/dave/gcc-4.0.0/gcc/libstdc++-v3/libsupc++
/cxxabi.h line 167 size <integer_cst 300024a0 32> unit size <integer_cst 30002160
4>
align 32 initial <integer_type 30009780 int> arg-type <integer_type
30009780 int>>>
chain <function_decl 300d5b00 __base_dtor >>
$2 = void
I recall now that my change to import_export_decl removed DECL_EXTERNAL from
dtor.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19159
More information about the Gcc-bugs
mailing list