[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[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: