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



             Bug #: 56734

           Summary: Even simple exceptions cause a segmentation fault in

                    my build of gcc on Solaris 10.

    Classification: Unclassified

           Product: gcc

           Version: 4.7.2

            Status: UNCONFIRMED

          Severity: major

          Priority: P3

         Component: c++

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: marc.gi...@gmail.com





Created attachment 29725

  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29725

The object containing the throw and the catch



gcc version 4.7.2 (GCC) 

Target: sparc-sun-solaris2.10

Configured with: /proj/vobadm100/svn/gcc_4.7.2/configure \

  --prefix /vobs/cello/cade_A_tools_gcc \

  --with-gnu-as --with-as=/vobs/cello/cade_A_tools_utils/binutils/bin/as \

  --with-gnu-ld --with-ld=/vobs/cello/cade_A_tools_utils/binutils/bin/ld \

  --enable-threads --enable-languages=c,c++,java \

  --with-gmp=/vobs/cello/cade_A_tools_utils/gmp \

  --with-mpfr=/vobs/cello/cade_A_tools_utils/mpfr \

  --with-mpc=/vobs/cello/cade_A_tools_utils/mpc \

  --with-isl=/vobs/cello/cade_A_tools_utils/isl



The command line is:



$ ./CoreTest

Segmentation Fault



It runs a small test case reproducing the problem.

I attach the two preprocessed sources: Core.ii and CoreTest.ii.

Here is the stack trace produced by gdb:



Starting program: /home/emagiro/tmp/shex/CoreTest 

[Thread debugging using libthread_db enabled]

[New Thread 1 (LWP 1)]



Program received signal SIGSEGV, Segmentation fault.

[Switching to Thread 1 (LWP 1)]

0xff35af84 in __frame_dummy_init_array_entry ()

   from /vobs/cello/cade_struct/lib/libstdc++.so.6

(gdb) bt

#0  0xff35af84 in __frame_dummy_init_array_entry ()

   from /vobs/cello/cade_struct/lib/libstdc++.so.6

#1  0xff2c8b48 in __cxxabiv1::__cxa_get_globals ()

    at /proj/vobadm100/svn/gcc_4.7.2/libstdc++-v3/libsupc++/eh_globals.cc:63

#2  0xff2c7a10 in __cxxabiv1::__cxa_allocate_exception (thrown_size=135552)

    at /proj/vobadm100/svn/gcc_4.7.2/libstdc++-v3/libsupc++/eh_alloc.cc:132

#3  0x00010acc in ThrowException () at Core.cc:7

#4  0x00010a90 in main () at CoreTest.cc:4



I put the main function itno a separate file, but you want only one

attachment...

The source is trivial anyway:



$ cat CoreTest.cc

#include "Core.h"



int main() {

    ThrowException();

    return 1;

}

Reply via email to