digitalmars.D.ldc - LDC ARM
- Daniel Kozak (24/24) Jan 21 2015 I am trying ldc on ARM. After few days I has been able to compile
I am trying ldc on ARM. After few days I has been able to compile it on tizen-common images on qemu (I have to make minor change in std.math). But every app which I build with ldc segfaults. Even void main(){} segfaults. Wierd is, that if I use -O (optimize) flag it works OK. I try GDB but it does not help at all. exception.d:431 exception.d:600 _D2rt4util9container5array36__T5ArrayTPS2rt14sections_linux3DSOZ5Array5 mptyMxFNaNbNdNiNfZb (this=...) sections_linux.d:311 envp=0x7ed7fbcc) at elf-init.c:88 this code _loadedDSOs.empty throw exception with message "null this" So can you give me some advice how to properly debug
Jan 21 2015
On Wednesday, 21 January 2015 at 14:13:42 UTC, Daniel Kozak wrote:I am trying ldc on ARM. After few days I has been able to compile it on tizen-common images on qemu (I have to make minor change in std.math). But every app which I build with ldc segfaults. Even void main(){} segfaults. Wierd is, that if I use -O (optimize) flag it works OK. I try GDB but it does not help at all. exception.d:431 exception.d:600 _D2rt4util9container5array36__T5ArrayTPS2rt14sections_linux3DSOZ5Array5 mptyMxFNaNbNdNiNfZb (this=...) sections_linux.d:311 envp=0x7ed7fbcc) at elf-init.c:88 this code _loadedDSOs.empty throw exception with message "null this" So can you give me some advice how to properly debugThe problem is in _d_dso_registry. One of the first statements in the function is to call _loadedDSOs.empty. But _loadedDOSs is null (I do not understand why!) and the application crashes. This does not happen if you use -O1 or higher. If you find the reason for this then please tell me. :-) (This happens only on ARM. On x86/x86_64, PowerPC 32/64 bit and MIPS64 the code works as expected.) Regards, Kai
Jan 21 2015
On Wednesday, 21 January 2015 at 14:13:42 UTC, Daniel Kozak wrote:I am trying ldc on ARM. After few days I has been able to compile it on tizen-common images on qemu (I have to make minor change in std.math). But every app which I build with ldc segfaults. Even void main(){} segfaults. Wierd is, that if I use -O (optimize) flag it works OK. I try GDB but it does not help at all. exception.d:431 exception.d:600 _D2rt4util9container5array36__T5ArrayTPS2rt14sections_linux3DSOZ5Array5 mptyMxFNaNbNdNiNfZb (this=...) sections_linux.d:311 envp=0x7ed7fbcc) at elf-init.c:88 this code _loadedDSOs.empty throw exception with message "null this" So can you give me some advice how to properly debugI ran into something like this too, when compiling unoptimized. When optimized, do all druntime and phobos tests pass for you though? Because I could only get druntime to mostly pass on a Cubieboard2, most of phobos's tests would segfault, but that was a hard-float system.
Jan 21 2015