i'm getting the idea that we should probably write a test suite/library for FFI
On Nov 24, 2017, at 12:54 AM, Ben Coman <btc@openinworld.com> wrote:On 24 November 2017 at 13:16, Ben Coman <btc@openinworld.com> wrote: On 22 November 2017 at 21:59, Ben Coman <btc@openinworld.com> wrote: On 22 November 2017 at 13:38, Todd Blanchard <tblanchard@mac.com>wrote: I've been trying to track this down for a couple weeks now.
I have concluded that structs passed by value to functions on the 64 bit VM are not properly populated. The struct's memory is all zero'd.I found this while trying to work with LibClang and found that functions that fetched code locations from code ranges always returned invalid zero'd locations. After spending some time with lldb I have traced the problem into the native code and found that the argument is not correct.I've carved out the wee bit of clang to reproduce this in a tiny library.The gist of it is below and the entire file is included. Basically the struct passed to the function clang_getRangeStart is zero'd memory regardless of the data I send from the image side.