public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c++/4235: Exception handling on AIX 4.2 does not catch
@ 2002-03-13 13:54 dje
  0 siblings, 0 replies; 4+ messages in thread
From: dje @ 2002-03-13 13:54 UTC (permalink / raw)
  To: dje, gcc-bugs, gcc-prs, thomas.nilsson, torbjorn.gaard

Synopsis: Exception handling on AIX 4.2 does not catch

State-Changed-From-To: analyzed->closed
State-Changed-By: dje
State-Changed-When: Wed Mar 13 13:54:21 2002
State-Changed-Why:
    Fixed in GCC 3.0.4 and GCC 3.1.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=4235


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: c++/4235: Exception handling on AIX 4.2 does not catch
@ 2001-12-28  9:56 dje
  0 siblings, 0 replies; 4+ messages in thread
From: dje @ 2001-12-28  9:56 UTC (permalink / raw)
  To: dje, gcc-bugs, gcc-prs, thomas.nilsson, torbjorn.gaard

Synopsis: Exception handling on AIX 4.2 does not catch

State-Changed-From-To: open->analyzed
State-Changed-By: dje
State-Changed-When: Fri Dec 28 09:56:10 2001
State-Changed-Why:
    patch awaiting approval

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=4235


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: c++/4235: Exception handling on AIX 4.2 does not catch
@ 2001-09-07 22:54 dje
  0 siblings, 0 replies; 4+ messages in thread
From: dje @ 2001-09-07 22:54 UTC (permalink / raw)
  To: dje, gcc-bugs, gcc-prs, nobody, thomas.nilsson, torbjorn.gaard

Synopsis: Exception handling on AIX 4.2 does not catch

Responsible-Changed-From-To: unassigned->dje
Responsible-Changed-By: dje
Responsible-Changed-When: Fri Sep  7 22:54:03 2001
Responsible-Changed-Why:
    AIX
State-Changed-From-To: open->closed
State-Changed-By: dje
State-Changed-When: Fri Sep  7 22:54:03 2001
State-Changed-Why:
    Known problem and work-around

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=4235&database=gcc


^ permalink raw reply	[flat|nested] 4+ messages in thread

* c++/4235: Exception handling on AIX 4.2 does not catch
@ 2001-09-05  2:16 thomas.nilsson
  0 siblings, 0 replies; 4+ messages in thread
From: thomas.nilsson @ 2001-09-05  2:16 UTC (permalink / raw)
  To: gcc-gnats; +Cc: torbjorn.gaard

>Number:         4235
>Category:       c++
>Synopsis:       Exception handling on AIX 4.2 does not catch
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Sep 05 02:16:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Thomas Nilsson
>Release:        gcc version 3.0.1
>Organization:
>Environment:
powerpc-ibm-aix4.2.0.0
>Description:
It is not possible to catch an exception in the AIX environment.

When cxa_throw() is invoked abort() will be called as if there are no catch handlers.

If looking closer to the libgcc source you will notice that there are two calls to __register_frame_info_table_bases() in unwind-dw2-fde.c using different instances of the object_mutex declared statically in this file.

The first __register_frame_info_table_bases() is called from the file generated by collect2 and contains the correct frame information.  I can't find the origin of the second call to __register_frame_info_table_bases(). 

Anyway the calls above register the frame information in different instances of unseen_objects.

When cxa_throw() is called only the latter frame information in unseen_object is used. The first registration is never used, and therefore no handler is found.

===

Reading specs from /usr/local/lib/gcc-lib/powerpc-ibm-aix4.2.0.0/3.0.1/specs
Configured with: ../gcc-3.0.1/configure --prefix=/usr/local --with-gnu-as --with-as=/usr/local/bin/as --enable-threads=aix --enable-shared
Thread model: aix
gcc version 3.0.1
 /usr/local/lib/gcc-lib/powerpc-ibm-aix4.2.0.0/3.0.1/cpp0 -lang-c++ -D__GNUG__=3 -D__GXX_DEPRECATED -D__EXCEPTIONS -D__GXX_ABI_VERSION=100 -v -D__GNUC__=3 -D__GNUC_MINOR__=0 -D__GNUC_PATCHLEVEL__=1 -D_IBMR2 -D_POWER -D_AIX -D_AIX32 -D_AIX41 -D_LONG_LONG -D_IBMR2 -D_POWER -D_AIX -D_AIX32 -D_AIX41 -D_LONG_LONG -Asystem=unix -Asystem=aix -D__CHAR_UNSIGNED__ -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_ARCH_COM simple.cpp simple.ii
GNU CPP version 3.0.1 (cpplib)
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include/g++-v3
 /usr/local/include/g++-v3/powerpc-ibm-aix4.2.0.0
 /usr/local/include/g++-v3/backward
 /usr/local/include
 /usr/local/lib/gcc-lib/powerpc-ibm-aix4.2.0.0/3.0.1/include
 /usr/local/powerpc-ibm-aix4.2.0.0/include
 /usr/include
End of search list.
 /usr/local/lib/gcc-lib/powerpc-ibm-aix4.2.0.0/3.0.1/cc1plus -fpreprocessed simple.ii -quiet -dumpbase simple.cpp -version -o simple.s
GNU CPP version 3.0.1 (cpplib)
GNU C++ version 3.0.1 (powerpc-ibm-aix4.2.0.0)
	compiled by GNU C version 2.95.3 20010315 (release).
 /usr/local/bin/as --traditional-format -u -mcom -o simple.o simple.s
 /usr/local/lib/gcc-lib/powerpc-ibm-aix4.2.0.0/3.0.1/collect2 -bpT:0x10000000 -bpD:0x20000000 -btextro -bnodelcsect /lib/crt0.o -L/usr/local/lib/gcc-lib/powerpc-ibm-aix4.2.0.0/3.0.1 -L/usr/local/lib/gcc-lib/powerpc-ibm-aix4.2.0.0/3.0.1/../../.. -lstdc++ simple.o /usr/local/lib/gcc-lib/powerpc-ibm-aix4.2.0.0/3.0.1/libgcc.a -lc /usr/local/lib/gcc-lib/powerpc-ibm-aix4.2.0.0/3.0.1/libgcc.a

It aborts also when --enable-shared is not specified with configure.
>How-To-Repeat:
int main(int argc, char **argv)
{
  int x = 0;

  try {
    throw new int;
    x = 1;

  } catch (int *) {
    x = 2;

  }
  return x;
}
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2002-03-13 21:54 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-03-13 13:54 c++/4235: Exception handling on AIX 4.2 does not catch dje
  -- strict thread matches above, loose matches on Subject: below --
2001-12-28  9:56 dje
2001-09-07 22:54 dje
2001-09-05  2:16 thomas.nilsson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).