Exception handling in GCC 3.0.1 on AIX
Dmitry Dolgopolov
d.dolgopolov@websci.ru
Tue Aug 21 00:22:00 GMT 2001
Hello David,
Tuesday, August 21, 2001, 3:45:47 AM, you wrote:
DE> $ g++ dmitry.cc
DE> $ dump -H a.out
DE> ***Import File Strings***
DE> INDEX PATH BASE MEMBER
DE> 0 ...LIBPATH...
DE> 1 libc.a shr.o
DE> 2 libstdc++.a libstdc++.so.3
DE> 3 libgcc_s.a shr.o
DE> $ ./a.out
DE> Throwing exception...
DE> Exception '268437520' catched
DE> Something still is wrong with GCC's native exception handling
DE> interaction with shared libraries on AIX. I suspect that somewhere the
DE> shared library is using some data which it expects to be private to the
DE> process, but currently is ending up shared. When the process tries to
DE> write into the shared segment, the application is terminated.
DE> If the archive file mode is set to disallow read-other, then the
DE> shared library is placed in the AIX process private segment instead of the
DE> shared text segment and throwing exceptions through shared libraries seems
DE> to work (as above). In other words,
DE> chmod a+x,o-r libstdc++.a libgcc_s.a
DE> Exceptions do not work reliably when the GCC -static link option
DE> is used.
DE> David
I still suffer from this error. May be there cause of it is in
differencies between configure options which were used for build gcc
on my machine and corresponding ones on yours. If I enumerate them
would you be so glad to check them against your options?
Following is the list of configure options:
--enable-threads=posix --enable-languages=c++ --disable-nls --disable-multilib
Thanks in advance.
Dmitry <d.dolgopolov@websci.ru>
More information about the Gcc
mailing list