[Bug c++/38569] New: SLES11: SEGV with try/throw/catch/terminate() at -q64

2008-12-18 Thread aixing at ca dot ibm dot com
The following cut-down code gets core-dump with g++ on SLES11, the problem does
not exist on CELL and AIX g++.

#include 
#include 
#include 

int f(int);
int g(int i);
void my_terminate();
typedef void(*Function_Pointer) ();

int xx_exceptions = 0;
class xx {
public:
xx(int i) { v = i;}
int v;
};

class aa {
public:
aa() {}
~aa() { throw xx(1); } 
};

int main()
{
Function_Pointer set_terminate(Function_Pointer);
std::set_terminate(&my_terminate); 
f(1);
return 55;
}

void my_terminate()
{
fflush(0);
exit(55);
}

int f(int i)
{
aa x;

try {
return g(0);
}
catch ( xx xobj) {
xx_exceptions ++ ;  
}
}

int g(int i)
{
if (i == 0) throw xx(1);
}



Part of core-dump details:

the coredump is from libgcc_s.so.1
warning: Can't read pathname for load map: Input/output error.
Reading symbols from
/nfs/adam/.../torolab.ibm.com/fs/proj/p0/vabld/run/vacpp/dev/sles10_ppc/daily/081216/opt.ibmcmp.lib64/libibmc++.so.1...done.
Loaded symbols for
/.../torolab.ibm.com/fs/projects/vabld/run/vacpp/dev/sles10_ppc/daily/081216//opt/ibmcmp/lib64/libibmc++.so.1
Reading symbols from /usr/lib64/libstdc++.so.6...done.
Loaded symbols for /usr/lib64/libstdc++.so.6
Reading symbols from /lib64/libm.so.6...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /lib64/libgcc_s.so.1...done.
Loaded symbols for /lib64/libgcc_s.so.1
Reading symbols from /lib64/libc.so.6...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/libdl.so.2...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/ld64.so.1...done.
Loaded symbols for /lib64/ld64.so.1
Core was generated by `./abc '.
Program terminated with signal 11, Segmentation fault.
#0  0x042fd1ec in ?? () from /lib64/libgcc_s.so.1


-- 
   Summary: SLES11: SEGV with try/throw/catch/terminate() at -q64
   Product: gcc
   Version: 4.3.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
    ReportedBy: aixing at ca dot ibm dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38569



[Bug target/38569] SLES11: SEGV with try/throw/catch/terminate() at -q64

2008-12-29 Thread aixing at ca dot ibm dot com


--- Comment #4 from aixing at ca dot ibm dot com  2008-12-30 01:53 ---
(In reply to comment #3)
> powerpc64 and -m64 (not -q64)?

SLES11 is 64-bit mode by default. -q64 is not GCC (Or g++) option.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38569