[Bug c++/26755] [4.1 regression?] may fail to generate code for base destructor defined inline
------- Comment #6 from tbm at cyrius dot com 2006-03-21 15:33 -------
I think you're onto something here. Compiling xbsql with 4.1 against a
libxbase compiled with 4.1 works, but it fails against libxbase compiled with
4.0. So this may be an 4.0 issue - but it still leaves us with a binary
compatibility between 4.0 and 4.1.
gcc version 3.3.6 (Debian 1:3.3.6-13)
libxbase
00020834 W _ZN5xbNdxD0Ev
000207a8 W _ZN5xbNdxD1Ev
0002071c W _ZN5xbNdxD2Ev
xbsql
U _ZN5xbNdxD1Ev
U _ZN5xbNdxD2Ev
gcc version 4.0.3 (Debian 4.0.3-1)
libxbase
000225e4 W _ZN5xbNdxD0Ev
00022844 W _ZN5xbNdxD1Ev
xbsql
0001b768 W _ZN5xbNdxD1Ev
0001826c W _ZN5xbNdxD2Ev
gcc version 4.1.0 (Debian 4.1.0-0)
libxbase
00022aa4 W _ZN5xbNdxD0Ev
00022b34 W _ZN5xbNdxD1Ev
00022bc4 W _ZN5xbNdxD2Ev
xbsql
U _ZN5xbNdxD1Ev
U _ZN5xbNdxD2Ev
system type: powerpc-unknown-linux-gnu, but also seen on AMD64, i386 and
mips (all Linux)
options given when GCC was configured/built:
gcc-3.3 -v
Reading specs from /usr/lib/gcc-lib/powerpc-linux-gnu/3.3.6/specs
Configured with: ../src/configure -v --enable-languages=c,c++ --prefix=/usr
--mandir=/usr/share/man --infodir=/usr
/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared
--enable-__cxa_atexit --with-system-zlib -
-enable-nls --without-included-gettext --enable-clocale=gnu --enable-debug
--disable-multilib powerpc-linux-gnu
Thread model: posix
gcc version 3.3.6 (Debian 1:3.3.6-13)
gcc-4.0 -v
Using built-in specs.
Target: powerpc-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr --enable-sh
ared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --enable-nls --pro
gram-suffix=-4.0 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --enable-java-awt=gtk-default
--enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre --enable-mpfr
--disable-softfloat
--enable-targets=powerpc-linux,powerpc64-linux --with-cpu=default32
--disable-werror --enable-checking=release po
werpc-linux-gnu
Thread model: posix
gcc version 4.0.3 (Debian 4.0.3-1)
gcc-4.1 -v
Using built-in specs.
Target: powerpc-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,java,fortran,objc,obj-c++,ada,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enab
le-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --enable-java-awt
=gtk --enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.1-1.4.2.0/jre --enable-mpfr
--disable-softf
loat --enable-targets=powerpc-linux,powerpc64-linux --with-cpu=default32
--enable-checking=release powerpc-linux-g
nu
Thread model: posix
gcc version 4.1.0 (Debian 4.1.0-0)
complete command line that triggers the bug;
3.3:
/bin/sh ../libtool --mode=link g++-3.3 -UNO_READLINE -I/usr/local/include -g
-g -o xql xql.o -lxbase -lreadline
-lncurses ./libxbsql.la
g++-3.3 -UNO_READLINE -I/usr/local/include -g -g -o .libs/xql xql.o -lreadline
-lncurses ./.libs/libxbsql.so /usr/
lib/libxbase.so
[works]
4.1 with libxbase installed compiled with 4.1:
/bin/sh ../libtool --mode=link g++-4.1 -UNO_READLINE -I/usr/local/include -g
-g -o xql xql.o -lxbase -lreadline
-lncurses ./libxbsql.la
g++-4.1 -UNO_READLINE -I/usr/local/include -g -g -o .libs/xql xql.o -lreadline
-lncurses ./.libs/libxbsql.so /usr
/lib/libxbase.so
[works]
4.1 with libxbase installed compiled with 4.0:
/bin/sh ../libtool --mode=link g++-4.1 -UNO_READLINE -I/usr/local/include -g
-g -o xql xql.o -lxbase -lreadline
-lncurses ./libxbsql.la
g++-4.1 -UNO_READLINE -I/usr/local/include -g -g -o .libs/xql xql.o -lreadline
-lncurses ./.libs/libxbsql.so /usr
/lib/libxbase.so
./.libs/libxbsql.so: undefined reference to `xbNdx::~xbNdx()'
4.1 with libxbase installed compiled with 3.3:
/bin/sh ../libtool --mode=link g++-4.1 -UNO_READLINE -I/usr/local/include -g
-g -o xql xql.o -lxbase -lreadline
-lncurses ./libxbsql.la
g++-4.1 -UNO_READLINE -I/usr/local/include -g -g -o .libs/xql xql.o -lreadline
-lncurses ./.libs/libxbsql.so /usr
/lib/libxbase.so
/usr/bin/ld: warning: libstdc++.so.5, needed by /usr/lib/libxbase.so, may
conflict with libstdc++.so.6
[warning, but compiles/links]
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26755
------- You are receiving this mail because: -------
You reported the bug, or are watching the reporter.
Reply to: