iOS progress
Dan Olson via digitalmars-d-ldc
digitalmars-d-ldc at puremagic.com
Sun Feb 15 11:19:09 PST 2015
"Joakim" <dlang at joakim.fea.st> writes:
> On Sunday, 15 February 2015 at 03:40:41 UTC, Dan Olson wrote:
>>
>> https://github.com/smolt/ldc-iphone-dev
>>
>> This pulls all the pieces together as submodules. I still need to
>> cleanup and add my sample Xcode apps and add some docs, but this
>> should be enough to build LDC iPhoneOS cross compiler and Phobos.
>> Someone with OS X should see if my build works for them.
>
> Nice work. Skimming your commits, it looks like you have a bunch of
> code to disable TLS altogether. I guess that is just older work and
> you got TLS working now? If so, how many tests are failing for you on
> druntime and phobos now?
Hi Joakim!
I added a -disable-tls option to help with bringing up D on other
targets that don't have TLS. My thought is if you don't have threads,
say a bare-bones target, then you don't need TLS and should be
allowed to use existing D code without changing all TLS vars to
__gshared.
For iOS, TLS is working fine with the modification I made to LLVM last
spring. Newer arm64 devices are supposed to natively support TLS, but I
don't have an arm64 device yet. The iphonesim ironically does not
support TLS because of a check in ld to make sure TLS doesn't slip in.
Obviously it could support it. I have ideas of how to get around the
check.
Unittests failures are not too bad. All except one are math related.
std.csv - a couple double off-by-one LSB differences
std.internal.math.gammafunction - needs update for 64-bit reals
std.math - a real off-by-one LSB error in a few cases
Failures only with optimization on (-O1 or higher):
std.internal.math.errorfunction - erfc() NaN payload fails
std.math - acosh() not producing NaN in a couple cases
core.thread - a Fiber unittest crashes on multicore devices
I have all the failures marked in the druntime and phobos source with
versions that begin with "WIP_" to workaround the failure so rest of
test can run. Grep for "WIP_" to see all the details. It really is a
bummer that unittests use assert because it makes it difficult get
results for the rest of the unittest.
More information about the digitalmars-d-ldc
mailing list