Re: Euphoria on ARM (and other processors)
- Posted by jimcbrown (admin) Jan 12, 2010
- 1970 views
I've also tried to cross compile eu3 for my motolora linux phone.
In the first trial it gave out an error saying that there are 'bad instructions' in the file be_callc.c
So I just changed those lines, from :
// RH Linux - ListFilter #define push() asm("pushl -28(%ebp)") #define pop() asm( "addl -32(%ebp), %esp")
to
// RH Linux - ListFilter #define push() //asm("pushl -28(%ebp)") #define pop() //asm( "addl -32(%ebp), %esp")
Then the compilation was successful. The interpreter worked fine.
However, when I tried to run some scripts such as callc.exu or mylib.exu in the demo/linux directory, it failed. It seemed that I cannot pass parameters to the external C functions.
I think the problem was due to the changes above. Anyone can tell me how to correct the 'bad instructions' with the appropriate ARM assembly code?
Thx in advance.
I am not familar with the type of CPU used by the motorola phones, and asside from x86 assembly I've only had a bit of experience tinkering with SPARC asm.
I recommend you use the version of be_callc.c at http://malcom.unkmar.com/be_callc_conly.c which is assembly free.