Hallo,
On 07/04/16 03:40, Marc Feeley wrote:
Very interesting! It seems that a host function was called by the trampoline and it returned a “pc” that is not aligned. The C code that is executed (repeatedly in a loop) is:
According to the error message, the load of the host function itself was misaligned. From Bradley's email:
``` setup.c:2605:16: runtime error: load of misaligned address 0x000002a9f05f for type '___host' (aka 'long (*)(struct ___processor_state_struct *)'), which requires 8 byte alignment 0x000002a9f05f: note: pointer points here ff ff ff ff ff 61 a4 4b 01 00 00 00 00 71 ed 4f f4 ff 7f 00 00 81 3f 4b 01 00 00 00 00 20 00 00 ```
So the problem seems to be the cast `(___label_struct*)(pc-1)`.
Cheers,