iphone + LDC, a new ARM adventure

Dan Olson zans.is.for.cans at yahoo.com
Fri Jan 10 08:14:52 PST 2014

Dan Olson <zans.is.for.cans at yahoo.com> writes:

> "Kai Nacke" <kai at redstar.de> writes:
>> On Thursday, 9 January 2014 at 08:39:26 UTC, Dan Olson wrote:
>>> Yes.  It is this one.
>>> Assertion failed: (getOperand(0)->getType() ==
>>> cast<PointerType>(getOperand(1)->getType())->getElementType() &&
>>> "Ptr must be a pointer to Val type!"), function AssertOK, file
>>> /Users/dan/projects/ldc/llvm-3.3.src/lib/IR/Instructions.cpp, line
>>> 1084.
>> Hm. Please, could you try it with LLVM 3.4? I am not sure if my fix
>> made it into LLVM 3.3.
>> Thanks for working on this!!!
>> Regards,
>> Kai
> I am grabbing 3.4 now...

and assertion passes!  Much more of runtime .d files are turning into
.o's.  Not sure how good they are yet, but getting further.

Now I am on to the next assertion that fails.  I know the state of TLS
is not good, but I'll toss this out for comment before I dig in again

Assertion failed: (Subtarget->isTargetELF() && "TLS not implemented for non-ELF targets"), function LowerGlobalTLSAddress, file /Users/dan/projects/ldc/llvm-3.4/lib/Target/ARM/ARMISelLowering.cpp, line 2475.


/bin/sh: line 1: 41428 Illegal instruction: 4  /Users/dan/projects/ldc/buildldc-3.4-hacked-armv7/bin/ldc2 --output-o -c -I/Users/dan/projects/ldc/ldc-0.12.1-src/runtime/druntime/src -I/Users/dan/projects/ldc/ldc-0.12.1-src/runtime/druntime/src/gc /Users/dan/projects/ldc/ldc-0.12.1-src/runtime/druntime/src/rt/lifetime.d -of/Users/dan/projects/ldc/buildldc-3.4-hacked-armv7/runtime/src/rt/lifetime.o -w -d -march=thumb -relocation-model=static -O3 -release

Note that I am still working from the ldc-0.12.1-src tar, not git.  Only
change I've made so far is in adding flags

-march=thumb -relocation-model=static

because without them, things blow up fast.

More information about the digitalmars-d-ldc mailing list