Runtime for ARM
Kai Nacke
kai at redstar.de
Tue May 14 20:30:10 PDT 2013
On Saturday, 16 February 2013 at 18:38:49 UTC, Paolo Invernizzi
wrote:
>
> Right now the first problem is that I've a bunch of:
>
> Assertion failed: (size >= excess && "expected larger
> existing stack allocation"), function HandleByVal, file
> ARMISelLowering.cpp, line 1681.
>
Hi Paolo!
Just an assumption: You need to write an ABI class for ARM.
HandleByVal is called during argument lowering in LLVM. The
comment of this function says:
/// HandleByVal - Every parameter *after* a byval parameter is
passed
/// on the stack. Remember the next parameter register to
allocate,
/// and then confiscate the rest of the parameter registers to
insure
/// this.
I can imagine that there is something wrong with the calling
convention in LDC. You should look at gen/abi-x86.cpp and
gen/abi-x86-64.cpp to get a feeling what you need to do. Then
write an abi-arm which models the ARM calling convention. It is
really easy if you have an understanding of the used calling
convention.
But remember: this is only a shot in the dark from me. I never
got that far on my ARM box...
Regards
Kai
More information about the digitalmars-d-ldc
mailing list