Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0004782OCaml~DO NOT USE (was: OCaml general)public2009-05-02 02:052016-12-07 14:16
Assigned To 
PlatformOSOS Version
Product Version3.11.0 
Target VersionFixed in Version 
Summary0004782: iPhone port
DescriptionI would really like to use OCaml in my App Store applications for the iPhone/iPod Touch platform. It appears that Apple uses a different ABI than the OCaml ARM backend and some changes are necessary to the code generator and runtime. If Apple's ABI is documented somewhere I haven't been able to find it. However, Jeffrey Scofield described a solution that works for single-threaded OCaml code, so perhaps the changes aren't overly difficult.
Additional InformationThis website describes a procedure for building a version of 3.10.2 that works on jailbroken iPhones. This is not suitable for commercial apps though. [^]

I am attaching Jeffrey Scofield's patched arm.S that he reports as working with single-threaded OCaml code.

The changes that he reports include:
* using .globl instead of .global to satisfy Apple's assembler
* more careful treatment of r9 and r10
TagsApple, arm, iPhone, OSX
Attached Files? file icon fixed-arm.S [^] (15,336 bytes) 2009-05-02 02:05
? file icon configure-libetpan [^] (1,479 bytes) 2009-05-05 20:13 [Show Content]

- Relationships

-  Notes
n8gray (reporter)
2009-05-05 20:15

configure-libetpan is a script I used for configuring and building libetpan, an e-mail library, on both the iPhone simulator (x86) and the iPhone itself (arm). I'm including it here as an example of how to use Apple's gcc on the command line for those platforms.
shinwell (developer)
2016-12-07 14:16 [^]

- Issue History
Date Modified Username Field Change
2009-05-02 02:05 n8gray New Issue
2009-05-02 02:05 n8gray File Added: fixed-arm.S
2009-05-05 20:11 n8gray Tag Attached: Apple
2009-05-05 20:11 n8gray Tag Attached: arm
2009-05-05 20:11 n8gray Tag Attached: iPhone
2009-05-05 20:11 n8gray Tag Attached: OSX
2009-05-05 20:13 n8gray File Added: configure-libetpan
2009-05-05 20:15 n8gray Note Added: 0004951
2009-05-15 16:59 doligez Status new => acknowledged
2016-12-07 14:16 shinwell Note Added: 0016706
2016-12-07 14:16 shinwell Status acknowledged => closed
2016-12-07 14:16 shinwell Resolution open => duplicate
2017-02-23 16:36 doligez Category OCaml general => -OCaml general
2017-03-03 17:55 doligez Category -OCaml general => -(deprecated) general
2017-03-03 18:01 doligez Category -(deprecated) general => ~deprecated (was: OCaml general)
2017-03-06 17:04 doligez Category ~deprecated (was: OCaml general) => ~DO NOT USE (was: OCaml general)

Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker