Exceptions in ARM

Mike none at none.com
Fri Feb 28 18:59:36 PST 2014


On Friday, 28 February 2014 at 21:18:05 UTC, Timo Sintonen wrote:
> On Wednesday, 8 January 2014 at 19:13:36 UTC, Timo Sintonen 
> wrote:
>> On Wednesday, 8 January 2014 at 15:52:25 UTC, Johannes Pfau 
>> wrote:
>>
>>>
>>> Stupid question, but are C++ exceptions working for you? I 
>>> think we
>>> don't change anything inthe compiler related to exception 
>>> handling, so
>>> if C++ worked and D didn't it could only be a problem with 
>>> the runtime
>>> code?
>>
>
> I investigated this a little. It seems that the processor gets 
> a fault interrupt when calling _Unwind_RaiseException in 
> _d_throw. The status bits indicate an invalid instruction code.
> When looking at the disassembly I see that the call is a blx 
> instruction with address. In Cortex-m4 blx can only take a 
> register argument.
> Is this a bug in gdc or gcc?

blx can also take a label.  Are you sure it's an address and not
a label?


More information about the D.gnu mailing list