This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
|
Hi sir:
Best regards.
I still want to report a bug of
gcc2.95.2,which deals with exception is incorrect on i386 Solaris2.7. If a
routine in share lib throws a exception, "try ... catch" will lose it
! The following is my report.
(1) The version of GCC.
gcc
2.95.2
(2) A complete input file that will
reproduce the bug.
(3) Additional
information from a debugger might enable someone to find a problem on a machine
which he does not have available.
Sorry,because the
bug is very special, I can only tell you how to hack:
(a) Go to http://www.orcane.net/freeodbc++/ ,
and download the "libodbc++-0.2.1".
(b) Go to http://www.iodbc.org , and download the
"iODBC Driver Manager".
(c) Install and
compile "iodbc",the step is simple, just tar,compile and make
install.
(d) Install and
compile "libodbc++-0.2.1"(you need not install any database,our goal
is to let "libodbc++-0.2.1" throwing exception)
# tar xvf
...
#
./configure
#
make
# make
install
(e) Now start to test it:
# cd
libodbc++-0.2.1/tests
run
"mysql" to hack
#
./mysql DSN=test
Since
we haven't install any database,then "mysql" will core dump during to
losing "exception",and looks like:
# gdb
-core core .libs/mysql
This GDB was configured as
"i386-pc-solaris2.7"...
Core was generated by `mysql DSN=test'. Program terminated with signal 6, Abort. Reading symbols from /usr/home/q3dp/zzxmis/libodbc++-0.2.1/tests/../src/.libs/libodbc++.so.4...done. Reading symbols from /opt/informix/lib/cli/libifdmr.so...done. Reading symbols from /opt/informix/lib/cli/libifcli.so...done. Reading symbols from
/usr/local/lib/libstdc++.so.2.10.0...done.
Reading symbols from /usr/lib/libm.so.1...done. Reading symbols from /usr/lib/libc.so.1...done. Reading symbols from /opt/informix/lib/esql/libifgls.so...done. Reading symbols from /opt/informix/lib/esql/libifglx.so...done. Reading symbols from /usr/lib/libaio.so.1...done. Reading symbols from /usr/lib/libdl.so.1...done. Reading symbols from /usr/lib/libelf.so.1...done. Reading symbols from /usr/lib/libnsl.so.1...done. Reading symbols from /usr/lib/libsocket.so.1...done. Reading symbols from /usr/lib/libmp.so.2...done. #0 0xdfd9a7f4 in _kill () (gdb) where #0 0xdfd9a7f4 in _kill () #1 0xdfd5fc92 in raise () #2 0xdfd501a8 in abort () #3 0xdfe01fcc in __terminate () #4 0xdfe01fe9 in __terminate () #5 0xdfe02894 in throw_helper (eh=0xdfe1ac60, pc=0xdff8902c, my_udata=0x8047004, offset_p=0x8047000) #6 0xdfe02a4d in __throw () #7 0xdff8902d in odbc::ErrorHandler::_checkErrorODBC3 (this=0x8058a10, handleType=2, handle=134597944, ret=-1, what=@0x8047140) at errorhandler.cc:189 #8 0xdff893b5 in odbc::ErrorHandler::_checkConError (this=0x8058a10, hdbc=134597944, r=-1, what=0xdffb4e40 "Failed to connect to datasource") at ../include/odbc++/errorhandler.h:91 #9 0xdff6ac31 in odbc::Connection::_connect (this=0x8058a10, connectString=@0x80472fc) at connection.cc:211 #10 0xdff69bae in odbc::DriverManager::getConnection (connectString=@0x80472fc) at drivermanager.cc:156 #11 0x8052a96 in main (argc=2, argv=0x804732c) at mysql.cc:501 If we compile
"libodbc++-0.2.1" with static lib,and link "mysql" with
static "libodbc++-0.2.1" lib, the result is ok, "mysql" will
exit normal.
# cd
libodbc++-0.2.1
# ./configure
--with-static --enable--static
#
make
# make
install (4) The type of machine you
are using, and the operating system name and version number.
Machine: PC Intel CPU
and AMD K6 233
OS: Solaris 2.7
i386
Assembler: Sun as and GNU as
2.9.1
----------
Bill Zheng
|
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |