Well the obvious candidate problem is that you don’t have the alignment of the stack sorted out yet. It certainly took some time to work it out or the initial linux/Pi cog.
Look into the required stack alignment for android - it is 4 byte, 8 byte, 16? Does it vary by some context dependent rule? Does your getfp() function actually return the frame pointer? Does android even use a frame pointer?
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Debugger: A tool that substitutes afterthought for forethought.