[Issue 10274] DMD 2.063 produces broken binaries
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Jun 10 08:20:52 PDT 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10274
--- Comment #9 from Jerry Quinn <jlquinn at optonline.net> 2013-06-10 08:20:50 PDT ---
Program received signal SIGSEGV, Segmentation fault.
0x0000000000438cc8 in _d_dso_registry ()
(gdb) disas
Dump of assembler code for function _d_dso_registry:
0x0000000000438ac8 <+0>: push %rbp
0x0000000000438ac9 <+1>: mov %rsp,%rbp
0x0000000000438acc <+4>: sub $0x98,%rsp
0x0000000000438ad3 <+11>: push %rbx
0x0000000000438ad4 <+12>: push %r12
0x0000000000438ad6 <+14>: push %r13
0x0000000000438ad8 <+16>: push %r14
0x0000000000438ada <+18>: push %r15
0x0000000000438adc <+20>: mov %rdi,%r12
0x0000000000438adf <+23>: movabs $0x1,%rax
0x0000000000438ae9 <+33>: cmp %rax,(%r12)
0x0000000000438aed <+37>: jae 0x438af0 <_d_dso_registry+40>
0x0000000000438aef <+39>: hlt
0x0000000000438af0 <+40>: mov 0x8(%r12),%rcx
0x0000000000438af5 <+45>: cmpq $0x0,(%rcx)
0x0000000000438af9 <+49>: jne 0x438cce <_d_dso_registry+518>
0x0000000000438aff <+55>: movabs $0x60,%rsi
0x0000000000438b09 <+65>: mov %rax,%rdi
0x0000000000438b0c <+68>: callq 0x42b9a0 <calloc at plt>
0x0000000000438b11 <+73>: mov %rax,%r14
0x0000000000438b14 <+76>: mov 0x8(%r12),%rdx
0x0000000000438b19 <+81>: mov %r14,(%rdx)
---Type <return> to continue, or q <return> to quit---
0x0000000000438b1c <+84>: lea -0x70(%rbp),%rax
0x0000000000438b20 <+88>: xor %rcx,%rcx
0x0000000000438b23 <+91>: mov %rcx,(%rax)
0x0000000000438b26 <+94>: mov %rcx,0x8(%rax)
0x0000000000438b2a <+98>: mov %rcx,0x10(%rax)
0x0000000000438b2e <+102>: mov %rcx,0x18(%rax)
0x0000000000438b32 <+106>: mov %rcx,0x20(%rax)
0x0000000000438b36 <+110>: mov %rcx,0x28(%rax)
0x0000000000438b3a <+114>: mov 0x18(%r12),%rax
0x0000000000438b3f <+119>: mov 0x10(%r12),%rbx
0x0000000000438b44 <+124>: sub %rbx,%rax
0x0000000000438b47 <+127>: cqto
0x0000000000438b49 <+129>: and $0x7,%rdx
0x0000000000438b50 <+136>: add %rdx,%rax
0x0000000000438b53 <+139>: sar $0x3,%rax
0x0000000000438b57 <+143>: mov %rbx,%rdx
0x0000000000438b5a <+146>: mov %rax,-0x70(%rbp)
0x0000000000438b5e <+150>: mov %rdx,-0x68(%rbp)
0x0000000000438b62 <+154>: lea -0x70(%rbp),%rsi
0x0000000000438b66 <+158>: lea 0x10(%r14),%rdi
0x0000000000438b6a <+162>: movsq %ds:(%rsi),%es:(%rdi)
0x0000000000438b6c <+164>: movsq %ds:(%rsi),%es:(%rdi)
0x0000000000438b6e <+166>: movsq %ds:(%rsi),%es:(%rdi)
---Type <return> to continue, or q <return> to quit---
0x0000000000438b70 <+168>: movsq %ds:(%rsi),%es:(%rdi)
0x0000000000438b72 <+170>: movsq %ds:(%rsi),%es:(%rdi)
0x0000000000438b74 <+172>: movsq %ds:(%rsi),%es:(%rdi)
0x0000000000438b76 <+174>: mov 0x28(%r12),%rcx
0x0000000000438b7b <+179>: mov 0x20(%r12),%r13
0x0000000000438b80 <+184>: sub %r13,%rcx
0x0000000000438b83 <+187>: movabs $0xaaaaaaaaaaaaaaab,%rax
0x0000000000438b8d <+197>: imul %rcx
0x0000000000438b90 <+200>: add %rcx,%rdx
0x0000000000438b93 <+203>: mov %rcx,%rax
0x0000000000438b96 <+206>: sar $0x3f,%rax
0x0000000000438b9a <+210>: sar $0x4,%rdx
0x0000000000438b9e <+214>: sub %rax,%rdx
0x0000000000438ba1 <+217>: mov %rdx,%rax
0x0000000000438ba4 <+220>: mov %r13,%rdx
0x0000000000438ba7 <+223>: mov %rax,(%r14)
0x0000000000438baa <+226>: mov %rdx,0x8(%r14)
0x0000000000438bae <+230>: mov 0x8(%r12),%rsi
0x0000000000438bb3 <+235>: lea -0x40(%rbp),%rdi
0x0000000000438bb7 <+239>: callq 0x438d40
<_D2rt14sections_linux18findDSOInfoForAddrFNbxPvPS4core3sys5linux4link12dl_phdr_infoZb>
0x0000000000438bbc <+244>: test %al,%al
0x0000000000438bbe <+246>: jne 0x438bc1 <_d_dso_registry+249>
---Type <return> to continue, or q <return> to quit---
0x0000000000438bc0 <+248>: hlt
0x0000000000438bc1 <+249>: mov -0x28(%rbp),%ax
0x0000000000438bc5 <+253>: and $0xffff,%eax
0x0000000000438bca <+258>: mov %eax,%eax
0x0000000000438bcc <+260>: mov -0x30(%rbp),%rcx
0x0000000000438bd0 <+264>: mov %rax,-0x90(%rbp)
0x0000000000438bd7 <+271>: mov %rcx,-0x88(%rbp)
0x0000000000438bde <+278>: cmpq $0x0,-0x90(%rbp)
0x0000000000438be6 <+286>: je 0x438c92 <_d_dso_registry+458>
0x0000000000438bec <+292>: mov -0x88(%rbp),%r12
0x0000000000438bf3 <+299>: mov -0x90(%rbp),%rdx
0x0000000000438bfa <+306>: imul $0x38,%rdx,%rbx
0x0000000000438bfe <+310>: add -0x88(%rbp),%rbx
0x0000000000438c05 <+317>: mov (%r12),%esi
0x0000000000438c09 <+321>: cmp $0x1,%esi
0x0000000000438c0c <+324>: jne 0x438c6f <_d_dso_registry+423>
0x0000000000438c0e <+326>: testl $0x2,0x4(%r12)
0x0000000000438c17 <+335>: je 0x438c6f <_d_dso_registry+423>
0x0000000000438c19 <+337>: mov 0x28(%r12),%rsi
0x0000000000438c1e <+342>: mov 0x10(%r12),%rcx
0x0000000000438c23 <+347>: add -0x40(%rbp),%rcx
0x0000000000438c27 <+351>: mov %rsi,-0x80(%rbp)
0x0000000000438c2b <+355>: mov %rcx,-0x78(%rbp)
---Type <return> to continue, or q <return> to quit---
0x0000000000438c2f <+359>: lea 0x40(%r14),%r13
0x0000000000438c33 <+363>: mov 0x0(%r13),%rsi
0x0000000000438c37 <+367>: mov 0x8(%r13),%r15
0x0000000000438c3b <+371>: inc %r15
0x0000000000438c3e <+374>: mov %r15,%rdi
0x0000000000438c41 <+377>: shl $0x4,%rdi
0x0000000000438c45 <+381>: callq 0x439040
<_D2rt4util9container8xreallocFPvmZPv>
0x0000000000438c4a <+386>: mov %rax,0x0(%r13)
0x0000000000438c4e <+390>: mov %r15,0x8(%r13)
0x0000000000438c52 <+394>: mov -0x78(%rbp),%rdx
0x0000000000438c56 <+398>: mov -0x80(%rbp),%rax
0x0000000000438c5a <+402>: mov %r15,%r8
0x0000000000438c5d <+405>: shl $0x4,%r8
0x0000000000438c61 <+409>: add 0x0(%r13),%r8
0x0000000000438c65 <+413>: mov %rax,-0x10(%r8)
0x0000000000438c69 <+417>: mov %rdx,-0x8(%r8)
0x0000000000438c6d <+421>: jmp 0x438c85 <_d_dso_registry+445>
0x0000000000438c6f <+423>: cmp $0x7,%esi
0x0000000000438c72 <+426>: jne 0x438c85 <_d_dso_registry+445>
0x0000000000438c74 <+428>: mov -0x10(%rbp),%rdi
0x0000000000438c78 <+432>: mov %rdi,0x50(%r14)
0x0000000000438c7c <+436>: mov 0x28(%r12),%rax
---Type <return> to continue, or q <return> to quit---
0x0000000000438c81 <+441>: mov %rax,0x58(%r14)
0x0000000000438c85 <+445>: add $0x38,%r12
0x0000000000438c89 <+449>: cmp %rbx,%r12
0x0000000000438c8c <+452>: jb 0x438c05 <_d_dso_registry+317>
0x0000000000438c92 <+458>: mov 0x48f37(%rip),%rsi # 0x481bd0
<_D2rt14sections_linux12_static_dsosS2rt4util9container36__T5ArrayTPS2rt14sections_linux3DSOZ5Array>
0x0000000000438c99 <+465>: mov 0x48f34(%rip),%rbx # 0x481bd4
<_D2rt14sections_linux12_static_dsosS2rt4util9container36__T5ArrayTPS2rt14sections_linux3DSOZ5Array+4>
0x0000000000438ca0 <+472>: inc %rbx
0x0000000000438ca3 <+475>: mov %rbx,%rdi
0x0000000000438ca6 <+478>: shl $0x3,%rdi
0x0000000000438caa <+482>: callq 0x439040
<_D2rt4util9container8xreallocFPvmZPv>
0x0000000000438caf <+487>: mov %rax,0x48f1a(%rip) # 0x481bd0
<_D2rt14sections_linux12_static_dsosS2rt4util9container36__T5ArrayTPS2rt14sections_linux3DSOZ5Array>
0x0000000000438cb6 <+494>: mov %rbx,0x48f17(%rip) # 0x481bd4
<_D2rt14sections_linux12_static_dsosS2rt4util9container36__T5ArrayTPS2rt14sections_linux3DSOZ5Array+4>
0x0000000000438cbd <+501>: mov 0x48f0c(%rip),%rcx # 0x481bd0
<_D2rt14sections_linux12_static_dsosS2rt4util9container36__T5ArrayTPS2rt14sections_l---Type
<return> to continue, or q <return> to quit---
inux3DSOZ5Array>
0x0000000000438cc4 <+508>: lea (%rcx,%rbx,8),%rax
=> 0x0000000000438cc8 <+512>: mov %r14,-0x8(%rax)
0x0000000000438ccc <+516>: jmp 0x438d31 <_d_dso_registry+617>
0x0000000000438cce <+518>: mov 0x8(%r12),%rdx
0x0000000000438cd3 <+523>: mov (%rdx),%rbx
0x0000000000438cd6 <+526>: mov 0x48ef3(%rip),%rsi # 0x481bd0
<_D2rt14sections_linux12_static_dsosS2rt4util9container36__T5ArrayTPS2rt14sections_linux3DSOZ5Array>
0x0000000000438cdd <+533>: mov 0x48ef0(%rip),%r14 # 0x481bd4
<_D2rt14sections_linux12_static_dsosS2rt4util9container36__T5ArrayTPS2rt14sections_linux3DSOZ5Array+4>
0x0000000000438ce4 <+540>: dec %r14
0x0000000000438ce7 <+543>: mov %r14,%rdi
0x0000000000438cea <+546>: shl $0x3,%rdi
0x0000000000438cee <+550>: callq 0x439040
<_D2rt4util9container8xreallocFPvmZPv>
0x0000000000438cf3 <+555>: mov %rax,0x48ed6(%rip) # 0x481bd0
<_D2rt14sections_linux12_static_dsosS2rt4util9container36__T5ArrayTPS2rt14sections_linux3DSOZ5Array>
0x0000000000438cfa <+562>: mov %r14,0x48ed3(%rip) # 0x481bd4
<_D2rt14sections_linux12_static_dsosS2rt4util9container36__T5ArrayTPS2rt14sections_linux3DSOZ5Array+4>
---Type <return> to continue, or q <return> to quit---
0x0000000000438d01 <+569>: mov 0x8(%r12),%rcx
0x0000000000438d06 <+574>: movq $0x0,(%rcx)
0x0000000000438d0d <+581>: lea 0x40(%rbx),%r13
0x0000000000438d11 <+585>: mov 0x0(%r13),%rsi
0x0000000000438d15 <+589>: xor %rdi,%rdi
0x0000000000438d18 <+592>: callq 0x439040
<_D2rt4util9container8xreallocFPvmZPv>
0x0000000000438d1d <+597>: mov %rax,0x0(%r13)
0x0000000000438d21 <+601>: movq $0x0,0x8(%r13)
0x0000000000438d29 <+609>: mov %rbx,%rdi
0x0000000000438d2c <+612>: callq 0x42b9b0 <free at plt>
0x0000000000438d31 <+617>: pop %r15
0x0000000000438d33 <+619>: pop %r14
0x0000000000438d35 <+621>: pop %r13
0x0000000000438d37 <+623>: pop %r12
0x0000000000438d39 <+625>: pop %rbx
0x0000000000438d3a <+626>: mov %rbp,%rsp
0x0000000000438d3d <+629>: pop %rbp
0x0000000000438d3e <+630>: retq
End of assembler dump.
(gdb)
#0 0x0000000000438cc8 in _d_dso_registry ()
#1 0x000000000043375f in ?? ()
#2 0x0000000000000001 in ?? ()
#3 0x000000000045a778 in
TypeInfo_PS3std5array17__T8AppenderTAxaZ8Appender4Data.__init() ()
#4 0x00000000004586b8 in ?? ()
#5 0x00000000004588a8 in ?? ()
#6 0x0000000000458190 in ?? ()
#7 0x00000000004586b8 in ?? ()
#8 0x0000000000000040 in ?? ()
#9 0x000000000044fd4d in __libc_csu_init ()
#10 0x00007ffff7617700 in __libc_start_main (main=0x436184 <main>, argc=1,
ubp_av=0x7fffffffe198, init=0x44fcf0 <__libc_csu_init>,
fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe188)
at libc-start.c:185
#11 0x000000000042bcc9 in _start ()
(gdb)
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list