Re: SIGILL in __libc_csu_fini
Just to add another data point, the ghc6 packages also work for me.
The instruction where the SIGILL happens is a brl, which (assuming
you're using an Itanium 1) should be emulated by the kernel, perhaps
your kernel has CONFIG_IA64_BRL_EMU turned off or is otherwise broken
(both Ian and I are using 2.6 kernels).
Matt
On Fri, Apr 02, 2004 at 12:33:26AM +0100, Ian Lynagh wrote:
>
> [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
>
>
> --
> To UNSUBSCRIBE, email to debian-ia64-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Reply to: