This is the mail archive of the
mailing list for the GCC project.
Re: Exception handling in GCC 3.0.1 on AIX
- To: David Edelsohn <dje at watson dot ibm dot com>
- Subject: Re: Exception handling in GCC 3.0.1 on AIX
- From: Dmitry Dolgopolov <d dot dolgopolov at websci dot ru>
- Date: Tue, 21 Aug 2001 14:22:28 +0700
- Cc: gcc at gcc dot gnu dot org
- Organization: WebSci Technologies
- References: <200108202045.QAA20552@makai.watson.ibm.com>
- Reply-To: Dmitry Dolgopolov <d dot dolgopolov at websci dot ru>
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.
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.