Skip to content

ldc2 fails to run simple main example on ppc64el #2356

@LocutusOfBorg

Description

@LocutusOfBorg

Debian Buster:

$ ldc2  -v
binary    /usr/bin/ldc2
version   1.3.0 (DMD v2.073.2, LLVM 4.0.1)
config    /etc/ldc2.conf (powerpc64le-unknown-linux-gnu)
OVERVIEW: LDC - the LLVM D compiler

ldc 1.3.0-2 is fine:
echo "void main() {}" > foo.d
ldc2 foo.d
./foo
echo $?

Debian sid, ldc 1.4

$ ldc2 -v
binary    /usr/bin/ldc2
version   1.4.0 (DMD v2.074.1, LLVM 5.0.0)
config    /etc/ldc2.conf (powerpc64le-unknown-linux-gnu)
OVERVIEW: LDC - the LLVM D compiler
$ echo "void main() {}" > foo.d
$ ldc2 foo.d
$ ./foo
Segmentation fault
$ echo $?
139
$ gdb foo
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "powerpc64le-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from foo...(no debugging symbols found)...done.
(gdb) r 
Starting program: /home/locutusofborg/foo 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/powerpc64le-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00003fffb799c3a0 in rt.util.container.array.Array!(void[]).Array.opSlice() inout () from /usr/lib/powerpc64le-linux-gnu/libdruntime-ldc.so.74
(gdb) bt
#0  0x00003fffb799c3a0 in rt.util.container.array.Array!(void[]).Array.opSlice() inout () from /usr/lib/powerpc64le-linux-gnu/libdruntime-ldc.so.74
#1  0x00003fffb798eafc in rt.sections_elf_shared.DSO.gcRanges() inout () from /usr/lib/powerpc64le-linux-gnu/libdruntime-ldc.so.74
#2  0x00003fffb7988c24 in rt.memory.initStaticDataGC().__foreachbody1(ref rt.sections_elf_shared.DSO) () from /usr/lib/powerpc64le-linux-gnu/libdruntime-ldc.so.74
#3  0x00003fffb798e96c in rt.sections_elf_shared.DSO.opApply(scope int(ref rt.sections_elf_shared.DSO) delegate) () from /usr/lib/powerpc64le-linux-gnu/libdruntime-ldc.so.74
#4  0x00003fffb7988bd4 in rt.memory.initStaticDataGC() () from /usr/lib/powerpc64le-linux-gnu/libdruntime-ldc.so.74
#5  0x00003fffb797f3a4 in rt_init () from /usr/lib/powerpc64le-linux-gnu/libdruntime-ldc.so.74
#6  0x00003fffb797f9d8 in _d_run_main () from /usr/lib/powerpc64le-linux-gnu/libdruntime-ldc.so.74
#7  0x0000000020000c34 in main ()
#8  0x00003fffb758289c in ?? () from /lib/powerpc64le-linux-gnu/libc.so.6
#9  0x00003fffb7582ab8 in __libc_start_main () from /lib/powerpc64le-linux-gnu/libc.so.6
#10 0x0000000000000000 in ?? ()
(gdb) 

as @ximion suggested in #2300 I'm opening a new ticket

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions