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