Exception handling not working on 4.7.1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I have compiled gcc 4.7.1 from sources on SuSE 11 Enterprise SP1 and the following application calls terminate() instead of catching the exception, but it works as expected on the same platform with gcc 4.5:

cpptest.cpp:
------------------------------------------
int main()
{
    try {
        throw 1;
    } catch (int) {
        // empty
    }
    return 0;
}
------------------------------------------

$ g++-4.7.1 -o cpptest cpptest.cpp
$ ./cpptest 
terminate called after throwing an instance of 'int'
Aborted (core dumped)
$ g++-4.5 -o cpptest cpptest.cpp
$ ./cpptest 
$ 

Platform information:
$ uname -a
Linux epcau-srv-dev 2.6.33.7-rt29-0.5-rt #1 SMP PREEMPT RT 2010-08-25 19:40:23 +0200 x86_64 x86_64 x86_64 GNU/Linux
$ g++-4.7.1 -v
Reading specs from /opt/epoch/lib64/gcc/x86_64-unknown-linux-gnu/4.7.1/specs
COLLECT_GCC=g++-4.7.1
COLLECT_LTO_WRAPPER=/opt/epoch/lib64/gcc/x86_64-unknown-linux-gnu/4.7.1/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.7.1/configure --prefix=/opt/epoch --libdir=/opt/epoch/lib64 --libexecdir=/opt/epoch/lib64 --with-slibdir=/opt/epoch/lib64/gcc/x86_64-suse-linux/4.7.1/libgcc/lib64 --with-gxx-include-dir=/opt/epoch/include/c++/4.7.1 --program-suffix=-4.7.1 --enable-version-specific-runtime-libs --enable-languages=c++
Thread model: posix
gcc version 4.7.1 (GCC) 
$ cat /opt/epoch/lib64/gcc/x86_64-unknown-linux-gnu/4.7.1/specs
*link:
+ %{!m32:-rpath=/opt/epoch/lib64/gcc/x86_64-suse-linux/4.7.1} %{!m32:-rpath=/opt/epoch/lib64/gcc/x86_64-suse-linux/4.7.1/libgcc/lib64} %{m32:-rpath=/opt/epoch/lib64/gcc/x86_64-suse-linux/4.7.1/32} %{m32:-rpath=/opt/epoch/lib64/gcc/x86_64-suse-linux/4.7.1/libgcc/lib}

I am using binutils shipped with my SuSE distribution, but I also tried using the latest binutils-2.22 that I compiled and the result is the same. I have also tried using gold instead of ld and made no difference. Am I doing something wrong? What else should I try?

Regards,
Zoltan


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux