Thank you for the hint, Gregor. I eventually got my filtering proxy to work. Increasing the stack size did not do the trick. A first page fault was caused by sdk/src/app/tiny-malloc.c. When running out of memory, malloc does not return NULL, but crashes with a page fault. This occurs with the older version of Keystone, too. After some unsuccessful fiddling with the app.lds and tiny-malloc.c, I switched to static allocation. Then, I thought that I could remove the app.lds since the examples also live without it as far as I can see. If I do so, my eapp crashes immediately, even with the fix in #356 or when going back to the older version of Keystone. So, I retained the app.lds, but still encountered a page fault at the first invocation of memset(). By contrast, previous ocall() invocations work fine and both ocall and memset are contained in KEYSTONE_LIB_EAPP. Despite this, I had to insert “$ENV{KEYSTONE_SDK}/src/app/string.c” into the source file list of my eapp.
Kind regards,
Konrad