http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50906
Bug #: 50906 Summary: e500 exception unwinding under "-Os" causes SIGSEGV Classification: Unclassified Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: kyle.d.moff...@boeing.com Created attachment 25649 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25649 Test case, part 1 The libffi test-suite is failing on an e500v2 build of GCC 4.6.1 with a segmentation fault in libgcc (called from "throw()" in the "unwindtest.cc" file). The target GCC configure options: --build/--host/--target=powerpc-linux-gnuspe --with-cpu=8548 --enable-e500_double --with-long-double-128 I have extracted it to the attached minimal test-case, compiled as follows: $ g++ -Wall -Wextra -Werror -ggdb3 -Os -c unwindtest.cc -o unwindtest.o $ g++ -Wall -Wextra -Werror -ggdb3 -Os -c unwindtestfunc.cc -o unwindtestfunc.o $ g++ -ggdb3 -Os -o unwindtest unwindtest.o unwindtestfunc.o The test fails if "unwindtestfunc.cc" is built with "-Os", but not if it is built with "-O2". The compile options for unwindtest.cc have no effect on the success or failure of the test. Cheers, Kyle Moffett -- Curious about my work on the Debian powerpcspe port? I'm keeping a blog here: http://pureperl.blogspot.com/