iphone + LDC, a new ARM adventure
Xavier Bigand
flamaros.xavier at gmail.com
Wed Feb 5 10:58:42 PST 2014
Le 05/02/2014 08:32, Dan Olson a écrit :
>> Or maybe the next step is to rebuild phobos using the ldc/llc two phase
>> approach.
>
> Success building phobos this way and was able to writeln() to the Xcode
> console from iPhone 4. Again, druntime rt_init() and D functions are
> called by the iOS app's C main (not using dmain2 main).
>
> In the process, I discovered that std.stdio was uninitialized because
> module constructors are not being called by rt_init(). Something in the
> runtime sections OSX code that does not work for iOS. Oh, well, add to
> the todo list. However, found I could manually initialize std.stdio
> with std_stdio_static_this().
>
> --- dfun.d ---
> import std.stdio;
>
> extern(C) void std_stdio_static_this();
>
> extern(C) int dfun()
> {
> // static this in std.stdiobase isn't it called automatically? Need to
> // figure it out. In meantime, just do it!
> std_stdio_static_this();
>
> writeln("Hello phobos");
> return 2014;
> }
>
> All the LEGO blocks are there in ldc to build a D toolchain for iOS.
> Over the next few weeks I will put up stuff on github along with a todo
> list. I am not very good with Xcode so any thoughts on how to integrate
> would be nice.
>
> The tolist will look something like:
> - fix module ctors/dtors
> - version info for iOS (now using OSX && ARM, but not sure that makes
> sense? Use darwin && ARM?, or create new IOS version?)
> - exception support
> - thread support
> - tls support
> - run (and pass) unittests
> - figure out ldc codegen assertion errors for armv7/thumbv7 so can ditch
> the ldc/llc 2-phase approach.
>
> that is enough for now.
>
Really great news...
Thx for all your efforts.
More information about the digitalmars-d-ldc
mailing list