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