[fpc-pascal] Ansistrings under Android

Thomas Schatzl tom_at_work at gmx.at
Tue Feb 22 22:44:54 CET 2011


Hi,

On Tue, 22 Feb 2011 13:34:06 -0500, Andrew Haines <AndrewD207 at aol.com>
wrote:
> On 02/22/11 12:06, de_jean_7777 wrote:
>> Now that I have a working fpc crosscompiler for Android, and all the
>> code runs ok, I encountered another problem. Namely working with
>> ansistrings causes crashes. For example, in a simple test, calling the
>> str() routine will cause a crash due to a run-time 216 error (general
>> protection fault). I've also noticed that crashes can occur upon
routine
>> exit, when ansistrings are freed automatically. I thought that using
the
>> C memory manager (cmem) might help, but there is no difference.
>> 
>> For some reason, units are not initialized under a android shared
>> library, so I call internal_initializeunits() myself in the JNI_OnLoad
>> which is called automatically by the JNI, and is called before any
other
>> routine.

The shared library startup code for ARM is broken (well, from the svn it
seems that it never worked), it does not set up the environment variables
and call the pascal unit initialization routine.

This is a "known" issue in so far as there are some testsuite tests
(tw8730) that fail because of that.

Thomas




More information about the fpc-pascal mailing list