Compiler error when compiling druntime for ARM float=soft
IGotD-
nise at nise.com
Wed Apr 15 18:31:55 UTC 2020
I'm trying get druntime to compile for ARMv7 but with software
floating point. When the first druntime module try to compile I
get this error.
LVM ERROR: Cannot select: 0x8818a78: f64 = bitcast 0x88186d0
0x88186d0: i64 = build_pair 0x8819090, 0x88191c8
0x8819090: i32,ch = CopyFromReg 0x8575238, Register:i32 %15
0x865fae0: i32 = Register %15
0x88191c8: i32,ch = CopyFromReg 0x8819090:1, Register:i32 %16
0x8818db8: i32 = Register %16
In function: _memset80
Among other things I'm using the following architecture flags
when compiling, this for a custom target.
--dFlags=-mtriple=arm-none-eabi --dFlags=-mcpu=cortex-a9
--dFlags=--mattr=+thumb2 --dFlags=--mattr=+soft-float
--dFlags=--relocation-model=pic
If I remove "--dFlags=--mattr=+soft-float", the build succeeds
(only the first module, however that's the only one I'm
interested in for now, ldc-build-runtime inserts double
--dFlags=--relocation-model=pic which the build doesn't like when
compiling the shared library version which is strange because I
have added BUILD_SHARED_LIBS=OFF).
More information about the digitalmars-d-ldc
mailing list