[fpc-devel] c-blocks (darwin aarch64)
Jonas Maebe
jonas.maebe at elis.ugent.be
Fri Apr 15 11:13:56 CEST 2016
Dmitry Boyarintsev wrote on Fri, 15 Apr 2016:
> Does anyone know if cblocks are working for darwin-aarch64?
The tests in the testsuite work at least, both for ARM and AArch64.
> The problem is that code seems to be failing on "setValueCahngeHandler"
> call.
>
> libobjc.A.dylib`objc_msgSend:
> 0x2469fa80 <+0>: cbz r0, 0x2469fabe ; <+62>
> 0x2469fa82 <+2>: ldr.w r9, [r0]
> -> 0x2469fa86 <+6>: ldrh.w r12, [r9, #0xc] ; EXC_BAD_ACCESS
This crash probably has nothing to do with with blocks. objc_msgSend
is the dispatch routine to call an Objective-C method. Blocks are
called in a different way. The location of the error here suggests
that this Objective instance pointer is invalid.
>
> I wonder if it's related to aarch64, is block parameter passed
> incorrectly?.
Even if that were the case, it wouldn't crash at that place in
objc_msgSend. r0 contains the "self" pointer of the Objective-C
instance. It's unrelated to the the value of any parameters.
> I'm also using fpc-trunk some 2015-Nov revision.
> Should I just update to the latest fpc revision?
When using trunk, you should always use the latest version.
Jonas
More information about the fpc-devel
mailing list