DMD 2.063 produces broken binaries

nazriel spam at dzfl.pl
Mon Jun 10 14:28:38 PDT 2013


On Monday, 10 June 2013 at 18:50:21 UTC, Brandon wrote:
> On Monday, 10 June 2013 at 16:52:51 UTC, Jerry wrote:
>> No, same problem.  BTW, it's segfaulting in _d_dso_registry() 
>> before
>> main() gets run.
>>
>>> 4. If you make any other calls into the stdlib aside from 
>>> I/O, do they
>>> work?
>>
>> It doesn't matter.  The following program segfaults:
>>
>> void main() {}
>>
>>
>>> 5. Does gdb reveal anything interesting?
>>
>> Unfortunately there's no debugging symbols in 
>> _d_dso_registry().  I
>> assume the compiler is writing asm directly.
>>
>> Jerry
>
> I got a similar issue when upgrading to 2.063 on arch linux, so 
> I feel this may be relevant to the current problem. Heres the 
> backtrace for me.
>
> #0  0x00007ffff7286f54 in _d_arrayappendcd () from 
> /usr/lib/libphobos2.so.0.63
> #1  0x00007ffff721f5c4 in std.string.__T7toLowerTAyaZ.toLower() 
> () from /usr/lib/libphobos2.so.0.63
> #2  0x00007ffff72781a2 in _aApplycd1 () from 
> /usr/lib/libphobos2.so.0.63
> #3  0x00007ffff721f566 in std.string.__T7toLowerTAyaZ.toLower() 
> () from /usr/lib/libphobos2.so.0.63
> #4  0x00007ffff7278626 in _aApplycd2 () from 
> /usr/lib/libphobos2.so.0.63
> #5  0x00007ffff721f4b5 in std.string.__T7toLowerTAyaZ.toLower() 
> () from /usr/lib/libphobos2.so.0.63
> #6  0x00007ffff71b4f15 in 
> std.encoding.EncodingScheme.register() () from 
> /usr/lib/libphobos2.so.0.63
> #7  0x00007ffff71b543a in 
> std.encoding.EncodingSchemeASCII._sharedStaticCtor9() ()
>    from /usr/lib/libphobos2.so.0.63
> #8  0x00007ffff71bb351 in std.encoding.__modsharedctor() () 
> from /usr/lib/libphobos2.so.0.63
> #9  0x00007ffff7288c54 in rt.minfo.ModuleGroup.runCtors() () 
> from /usr/lib/libphobos2.so.0.63
> #10 0x00007ffff7288196 in rt.minfo.ModuleGroup.runCtors() () 
> from /usr/lib/libphobos2.so.0.63
> #11 0x00007ffff72884dd in rt.minfo.rt_moduleCtor() () from 
> /usr/lib/libphobos2.so.0.63
> #12 0x00007ffff72891ca in rt.sections_linux.DSO.opApply() () 
> from /usr/lib/libphobos2.so.0.63
> #13 0x00007ffff72884ae in rt_moduleCtor () from 
> /usr/lib/libphobos2.so.0.63
> #14 0x00007ffff72818ad in rt.dmain2._d_run_main() () from 
> /usr/lib/libphobos2.so.0.63
> #15 0x00007ffff72813cd in rt.dmain2._d_run_main() () from 
> /usr/lib/libphobos2.so.0.63
> #16 0x00007ffff7281387 in _d_run_main () from 
> /usr/lib/libphobos2.so.0.63
> #17 0x00007ffff72811d4 in main () from 
> /usr/lib/libphobos2.so.0.63
> #18 0x00007ffff653ca15 in __libc_start_main () from 
> /usr/lib/libc.so.6
> #19 0x000000000043f9d9 in _start ()
>
> Unfortunately, no debugging symbols for phobos.
>
> program was compiled with dmd (2.063) using the following 
> flags: -g -debug -unittest

I suspected it may be the problem with shared libraries.
Can you try compiling that hello world with static libphobos?
Or can you attach your segfaulting binary?


More information about the Digitalmars-d mailing list