[CM] S7 scheme running on Android in NDK

Jason Ripley ripley.jason at gmail.com
Fri May 3 15:17:04 PDT 2013


Hi,

I have just added s7 scheme to a C++ project on Android, and I ran into a
couple of issues that I would like to post in case anyone else runs into
them.

1 - android doesn't seem to support the log2 function.  Easy fix:  fx =
log((double)ix)/log(2.0);

2 - It seems that arm based architectures have issues with aligned access.
I discovered this when calling s7_init to create a second scheme vm.  The
fix for this is to simply add __ANDROID__ to the __bfin__ check.


here is the diff of the changes for s7.c:

4021c4021
< #if (__bfin__)
---
> #if (__bfin__ || __ANDROID__)
10216a10217,10219
> #if (__ANDROID__)
>           fx = log((double)ix)/log(2.0);
> #else
10217a10221
> #endif


Are there any other spots in s7 where unaligned access may occur?  They are
rather difficult to debug.


Sincerely,
Jason Ripley
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ccrma-mail.stanford.edu/mailman/private/cmdist/attachments/20130503/12651c85/attachment.html 


More information about the Cmdist mailing list