[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

SIGILL in __libc_csu_fini



[Note crosspost. I'm not subscribed to either list.]

Hi all,

I'm having some trouble with ghc6 on ia64 (this is not using the
packages, which also give SIGILL, but trying to crossport from x86
again. gdb gives more useful information than for the packages). The gdb
output, from merulo's unstable dchroot a day or two ago, is below.

I'm afraid I have no idea what to do from here. Any help much
appreciated!


$ gdb /home/igloo/ghc/x1/ghc/compiler/stage1/ghc-6.2.1
[...]
(gdb) b main
Breakpoint 1 at 0x40000000026f2a42
(gdb) r
Starting program: /home/igloo/ghc/x1/ghc/compiler/stage1/ghc-6.2.1 

Program received signal SIGILL, Illegal instruction.
0x4000000002737901 in __libc_csu_fini ()
(gdb) bt
#0  0x4000000002737901 in __libc_csu_fini ()
#1  0x4000000002737790 in __libc_csu_init ()
#2  0x20000000002a1220 in __libc_start_main () from /lib/libc.so.6.1
#3  0x4000000000004260 in _start ()
(gdb) disassemble
Dump of assembler code for function __libc_csu_fini:
0x4000000002737830 <__libc_csu_fini+0>: [MII]       alloc r36=ar.pfs,6,6,0
0x4000000002737831 <__libc_csu_fini+1>:             addl r14=58216,r1
0x4000000002737832 <__libc_csu_fini+2>:             addl r16=20416,r1
0x4000000002737840 <__libc_csu_fini+16>:        [MII]       mov r37=r1
0x4000000002737841 <__libc_csu_fini+17>:                    mov r35=b0;;
0x4000000002737842 <__libc_csu_fini+18>:                    nop.i 0x0
0x4000000002737850 <__libc_csu_fini+32>:        [MMI]       ld8 r15=[r14]
0x4000000002737851 <__libc_csu_fini+33>:                    ld8 r14=[r16]
0x4000000002737852 <__libc_csu_fini+34>:                    nop.i 0x0;;
0x4000000002737860 <__libc_csu_fini+48>:        [MMI]       sub r14=r14,r15;;
0x4000000002737861 <__libc_csu_fini+49>:                    nop.m 0x0
0x4000000002737862 <__libc_csu_fini+50>:                    shr r33=r14,3;;
0x4000000002737870 <__libc_csu_fini+64>:        [MII]       mov r14=r33
0x4000000002737871 <__libc_csu_fini+65>:                    adds r33=-1,r33;;
0x4000000002737872 <__libc_csu_fini+66>:                    cmp.eq p7,p6=0,r14
0x4000000002737880 <__libc_csu_fini+80>:        [MIB]       shladd r34=r33,3,r15
0x4000000002737881 <__libc_csu_fini+81>:                    nop.i 0x0
0x4000000002737882 <__libc_csu_fini+82>:              (p07) br.cond.dpnt.few 0x40000000027378d0 <__libc_csu_fini+160>;;
0x4000000002737890 <__libc_csu_fini+96>:        [MII]       ld8 r14=[r34],-8
0x4000000002737891 <__libc_csu_fini+97>:                    mov r32=r33
---Type <return> to continue, or q <return> to quit---
0x4000000002737892 <__libc_csu_fini+98>:                    adds r33=-1,r33;;
0x40000000027378a0 <__libc_csu_fini+112>:       [MMI]       ld8 r15=[r14],8;;
0x40000000027378a1 <__libc_csu_fini+113>:                   ld8 r1=[r14]
0x40000000027378a2 <__libc_csu_fini+114>:                   mov b6=r15
0x40000000027378b0 <__libc_csu_fini+128>:       [MIB]       nop.m 0x0
0x40000000027378b1 <__libc_csu_fini+129>:                   nop.i 0x0
0x40000000027378b2 <__libc_csu_fini+130>:                   br.call.sptk.many b0=b6;;
0x40000000027378c0 <__libc_csu_fini+144>:       [MIB]       cmp.eq p7,p6=0,r32
0x40000000027378c1 <__libc_csu_fini+145>:                   mov r1=r37
0x40000000027378c2 <__libc_csu_fini+146>:             (p06) br.cond.dptk.few 0x4000000002737890 <__libc_csu_fini+96>
0x40000000027378d0 <__libc_csu_fini+160>:       [MIB]       nop.m 0x0
0x40000000027378d1 <__libc_csu_fini+161>:                   nop.i 0x0
0x40000000027378d2 <__libc_csu_fini+162>:                   br.call.sptk.many b0=0x40000000027379a0 <_fini>;;
0x40000000027378e0 <__libc_csu_fini+176>:       [MII]       mov r1=r37
0x40000000027378e1 <__libc_csu_fini+177>:                   mov.i ar.pfs=r36
0x40000000027378e2 <__libc_csu_fini+178>:                   mov b0=r35
0x40000000027378f0 <__libc_csu_fini+192>:       [MIB]       nop.m 0x0
0x40000000027378f1 <__libc_csu_fini+193>:                   nop.i 0x0
0x40000000027378f2 <__libc_csu_fini+194>:                   br.ret.sptk.many b0;;
---Type <return> to continue, or q <return> to quit---
0x4000000002737900 <__libc_csu_fini+208>:       [MLX]       nop.m 0x0
0x4000000002737901 <__libc_csu_fini+209>:                   brl.few 0x40000000000027e0 <_init>;;
End of assembler dump.
(gdb) disassemble 0x40000000000027e0
Dump of assembler code for function _init:
0x40000000000027e0 <_init+0>:   [MII]       alloc r34=ar.pfs,3,3,0
0x40000000000027e1 <_init+1>:               mov r32=r12
0x40000000000027e2 <_init+2>:               mov r33=b0
0x40000000000027f0 <_init+16>:  [MFB]       adds r12=-16,r12
0x40000000000027f1 <_init+17>:              nop.f 0x0
0x40000000000027f2 <_init+18>:              nop.b 0x0;;
0x4000000000002800 <_init+32>:  [MII]       mov r12=r32
0x4000000000002801 <_init+33>:              mov.i ar.pfs=r34
0x4000000000002802 <_init+34>:              mov b0=r33
0x4000000000002810 <_init+48>:  [MFB]       nop.m 0x0
0x4000000000002811 <_init+49>:              nop.f 0x0
0x4000000000002812 <_init+50>:              br.ret.sptk.many b0;;
End of assembler dump.
(gdb) 


Thanks
Ian



Reply to: