C++ exceptions support broken with openwrt-trunk

David Kuehling dvdkhlng at gmx.de
Wed Jun 22 17:30:25 EDT 2011


Hi,

after getting crashes with ASEprite I finally found out that throw()ing
exceptions in C++ causes programs to terminate with SIGABRT.  Don't know
whether openwrt-backfire was any better (maybe somebody who has the
toolchain installed can test that)

So taking this program:

  #include <iostream>
  using namespace std;
  main()
  {
          cout<<"Starting"<<endl;
          try{	throw "EEE";
          }
          catch(...){}
          cout<<"AfterExp"<<endl;
  }

compiling it:

  mipsel-openwrt-linux-g++ -Os -march=mips32 exptest.cpp -o exptest

And running:

  root at BenNanoNote:~# ./exptest 
  Starting
  Aborted

Ouch.  Any ideas?  Couldn't find any obvious reasons for the problem.
There's an open Openwrt ticket that may be related:

  https://dev.openwrt.org/ticket/9185

I'm currently trying to rebuild the toolchain with GCC configured with
--enable-sjlj-exceptions .  That's brute force trial&error, I'm lost.

cheers,

David
-- 
GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg
Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.en.qi-hardware.com/pipermail/discussion/attachments/20110622/e9edf792/attachment.pgp>


More information about the discussion mailing list


interactive