On 10.03.2014 00:20, Vsevolod Alekseyev wrote:
Enter Windows Phone 8. In order to have a good debugging experience, you need 
to build the code both for Intel x86 (for the emulator), and for ARM (for 
devices). The flavor of ARM that WP8 uses is strictly Thumb-2, with hard 
floating point and hard-float calling convention (i. e. parameters in floating 
point registers). Also, on Intel, even the integer calling convention doesn't 
match between C and Pascal. Here's what I do.

Please elaborate in how far the calling convention does not match. This might be a bug in FPC then.

I compile my FPC sources to assembly for Win32/Intel (with -a option). I'm 
applying some search-replace fixes so that the generated assembly works with 
MASM. Then I copy the assembly into the WP8 project, where it's assembled and 
put into a static library.

i386 FPC has support for MASM. Use -Amasm for that.

As you see, I've never meant to implement a whole application, or even a whole 
native layer in Pascal. It's just an algorithm library. Also, I'm heavily 
relying on the fact that RTL use is limited in the library. Reimplementing a 
large body of FPC RTL from scratch would be unimaginably hard.

winrt (i386-winrt, x86_64-winrt and arm-winrt) should become a full target of FPC in the future. It "just" needs to be done.

Regards,
Sven
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to