[linux-cirrus] Re: crunch C++ exceptions

  • From: "Hasjim Williams" <linux-cirrus@xxxxxxxxxxxxxxxxx>
  • To: linux-cirrus@xxxxxxxxxxxxx
  • Date: Tue, 18 Mar 2008 13:33:50 +1000

On Mon, 25 Feb 2008 14:32:06 +0100, wojciech.wisniewski@xxxxx said:

> It seems that there is absolutely no support for exceptions with crunch,
> so usefullness of C++ compiler is questionable. I will try to talk to
> some binutils people.

I looked into this issue quickly.  There has never been any support for
exceptions with crunch...

infocenter.arm.com/help/topic/com.arm.doc.ihi0038a/IHI0038A_ehabi.pdf

explains about the unwind process.

If you look in gcc/config/arm/unwind-arm.* you'll see that there is no
_UVRSC_MAVERICKCRUNCH so when an exception is thrown gcc doesn't know
what to do. This "may" be why my:

http://files.futaris.org/gcc/binutils-crunch.patch

isn't working correctly, and hence C++ exceptions don't work.

In summary, we'll have to modify:
gcc/config/arm/pr-support.c
gcc/config/arm/unwind-arm.h
gcc/config/arm/unwind-arm.c

I don't quite understand _Unwind_Reason_Code yet, but I'll try and read
up on some documentation (the above PDF?).  

Other related posts:

  • » [linux-cirrus] Re: crunch C++ exceptions