Exceptions library release 2.07. This source code is intended to be compliant with release 2.0 of the EHABI. Changes against the 2.05 (January 2007) release of these sources are as follows: 1) Support has been added for the 6-M and 6S-M architectures. Some assembly code has been changed to avoid use of deprecated instructions. Changes against the 2.04 (January 2006) release of these sources are as follows: 1) _Unwind_State is no longer an enumeration. The members are now declared as static const instead. 2) Conditional compilation for different architectures has been extended and clarified, and some declarations have been moved to make customizations easier. 3) cppsemantics.cpp has been reworked so that the exception_cleanup function is called when a C++ exception objects caught by C++ is to be destroyed (as well as when a C++ exception object caught by a foreign runtime is to be destroyed). This makes for slightly simpler code and sometimes reduces code overhead. 4) The core register restoring code in __ARM_Unwind_VRS_corerestore (unwinder.c) has been reworked to restore all core registers (previously some variants assumed r12 was available as scratch) and to be clean with respect to architecturally deprecated instructions. Changes against the 2.03 (March 2005) release of these sources are as follows: 1) Added support for restoring VFPv3 registers. 2) Added definitions of _Unwind_DeleteException and __cxa_get_exception_ptr. 3) Minor changes for portability (including some changes in the use of compiler-defined predefines such as __TARGET_ARCH_* used in unwinder.c). Changes against the 2.02 (January 2005) release of these sources are as follows: 1) Reference updated Licence file (no functional change). Changes against the 2.01 (December 2004) release of these sources are as follows: 1) Removed unused assembly code from unwinder.c (no functional change). Changes against the 2.0 (November 2004) release of these sources are as follows: 1) Changed licence agreement. 2) Minor bug fix to restoring VFP registers on some architectures. The 2.0 (November 2004) source releases contained the following changes against the February 2004 release: 1) Minor changes due to progress on the ARM toolchain itself. 2) A small amount of tidying up. 3) Changes to reflect the resolutions agreed in the conference calls, namely fixes for type matching, for unwinding frames in which VFP registers were saved by FSTMD (instead of FSTMX), and for consequences arising from the use of different relocations. 4) The personality routine now defends itself a little against broken unwind instructions, by verifying that the notional return address is updated by the unwinding instructions. Also the unwinding of WMMX registers was performed incorrectly. 5) In the unwinder, __ARM_Unwind_VRS_corerestore is now safe against data aborts occurring while restoring the core registers from the stack.