Greetings! Posting this here for insights prior to filing a gcc bug.
Briefly, in current Debian sid, gcc at -O2 miscompiles a comparison of a
pointer to a constant. At -O the compilation is correct.
Does this have to do with ia64 specific 'implied predicates'?
The miscompiled line:
if(((V459))==((object)&Cnil_body)){
Preprocessed source:
=============================================================================
static object LI46(V457,V458)
object V457;object V458;
{ register object *base=vs_top; vs_top += 1; if (vs_top >= vs_limit) vs_overflow();
if (bds_top >= bds_limit) bds_overflow();
goto TTL;
TTL:;
{object V459;
V459= ((object)&Cnil_body);
V459= (*(LnkLI268))((V458),((object)(VVi)[165]));
if(((V459))==((object)&Cnil_body)){
goto T1079;}
({object _sym=(((object)(VVi)[154])),_val=(({register fixnum _q1=(10);register object _q4; _q4=(!(((_q1)+(0x4000000000000000>>1))&-0x4000000000000000)) ? ((object)((_q1)+(0x8000000000000000 +(0x4000000000000000>>1)))) : make_fixnum1(_q1);_q4;}));bds_ptr _b=++bds_top;(_b)->bds_sym=_sym;(_b)->bds_val=_sym->s.s_dbind;_sym->s.s_dbind=_val;});
{object V460 = (*(LnkLI250))((V459));
((bds_top->bds_sym)->s.s_dbind = bds_top->bds_val, --bds_top);
vs_top=base ; return(V460);}
goto T1079;
T1079:;
{object V461 = ((object)&Cnil_body);
vs_top=base ; return(V461);}}
base[0]=base[0];
return ((object)&Cnil_body);
}
=============================================================================
gdb session:
=============================================================================
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/camm/gcl/gcl/clcs/saved_clcs_gcl
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
GCL (GNU Common Lisp) 2.6.10 CLtL1 Oct 18 2013 14:55:22
Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl)
Binary License: GPL due to GPL'ed components: (XGCL READLINE UNEXEC)
Modifications of this banner must retain notice of a compatible license
Dedicated to the memory of W. Schelter
Use (help) to get some basic information on how to use GCL.
Temporary directory for compiler files set to /tmp/
>(si::use-fast-links nil)
NIL
>(compile-file "gcl_clcs_debugger.lisp")
Compiling gcl_clcs_debugger.lisp.
Loading ./gcl_cmpinit.lsp
Loading sys-proclaim.lisp
Finished loading sys-proclaim.lisp
Finished loading ./gcl_cmpinit.lsp
Breakpoint 3, LI46 (V457=0x60000000047b1258,
V458=0x60000000040400e0 <Cnil_body>) at gcl_cmpfun.c:2651
2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1e80 <LI46>: [MMI] alloc r39=ar.pfs,11,9,0
(gdb)
(gdb) disassemble
Dump of assembler code for function LI46:
=> 0x00000000004c1e80 <+0>: [MMI] alloc r39=ar.pfs,11,9,0
0x00000000004c1e81 <+1>: addl r34=93604,r1
0x00000000004c1e82 <+2>: addl r14=94820,r1
0x00000000004c1e90 <+16>: [MMI] addl r35=91740,r1
0x00000000004c1e91 <+17>: addl r36=-45492,r1
0x00000000004c1e92 <+18>: mov r40=r1;;
0x00000000004c1ea0 <+32>: [MMI] nop.m 0x0
0x00000000004c1ea1 <+33>: nop.m 0x0
0x00000000004c1ea2 <+34>: mov r38=b0
0x00000000004c1eb0 <+48>: [MMI] nop.m 0x0
0x00000000004c1eb1 <+49>: nop.m 0x0
0x00000000004c1eb2 <+50>: nop.i 0x0;;
0x00000000004c1ec0 <+64>: [MMI] nop.m 0x0
0x00000000004c1ec1 <+65>: nop.m 0x0
0x00000000004c1ec2 <+66>: nop.i 0x0;;
0x00000000004c1ed0 <+80>: [MMI] ld8 r37=[r34]
0x00000000004c1ed1 <+81>: ld8 r15=[r14]
0x00000000004c1ed2 <+82>: nop.i 0x0;;
0x00000000004c1ee0 <+96>: [MII] adds r14=8,r37
0x00000000004c1ee1 <+97>: nop.i 0x0;;
0x00000000004c1ee2 <+98>: cmp.ltu p6,p7=r14,r15
0x00000000004c1ef0 <+112>: [MMB] st8 [r34]=r14
---Type <return> to continue, or q <return> to quit---
0x00000000004c1ef1 <+113>: addl r14=92804,r1
0x00000000004c1ef2 <+114>: (p07) br.cond.dpnt.few 0x4c20c0 <LI46+576>;;
0x00000000004c1f00 <+128>: [MMI] nop.m 0x0
0x00000000004c1f01 <+129>: ld8 r15=[r35]
0x00000000004c1f02 <+130>: nop.i 0x0;;
0x00000000004c1f10 <+144>: [MMI] nop.m 0x0
0x00000000004c1f11 <+145>: ld8 r14=[r14]
0x00000000004c1f12 <+146>: nop.i 0x0;;
0x00000000004c1f20 <+160>: [MIB] nop.m 0x0
0x00000000004c1f21 <+161>: cmp.ltu p6,p7=r15,r14
0x00000000004c1f22 <+162>: (p07) br.cond.dpnt.few 0x4c20a0 <LI46+544>
0x00000000004c1f30 <+176>: [MMI] adds r14=1320,r36
0x00000000004c1f31 <+177>: mov r41=r33
0x00000000004c1f32 <+178>: adds r36=1232,r36;;
0x00000000004c1f40 <+192>: [MMI] ld8 r42=[r14]
0x00000000004c1f41 <+193>: nop.m 0x0
0x00000000004c1f42 <+194>: addl r14=71628,r1;;
0x00000000004c1f50 <+208>: [MMI] ld8 r8=[r14];;
0x00000000004c1f51 <+209>: ld8 r14=[r8],8
0x00000000004c1f52 <+210>: nop.i 0x0;;
0x00000000004c1f60 <+224>: [MII] nop.m 0x0
---Type <return> to continue, or q <return> to quit---
0x00000000004c1f61 <+225>: mov b6=r14
0x00000000004c1f62 <+226>: nop.i 0x0
0x00000000004c1f70 <+240>: [MMB] ld8 r1=[r8]
0x00000000004c1f71 <+241>: nop.m 0x0
0x00000000004c1f72 <+242>: br.call.sptk.many b0=b6;;
0x00000000004c1f80 <+256>: [MMI] mov r14=r8
0x00000000004c1f81 <+257>: mov r1=r40
0x00000000004c1f82 <+258>: mov r41=r8;;
0x00000000004c1f90 <+272>: [MMI] cmp.eq p6,p7=r8,r14
0x00000000004c1f91 <+273>: nop.m 0x0
0x00000000004c1f92 <+274>: addl r18=71588,r1;;
0x00000000004c1fa0 <+288>: [MIB] (p06) st8 [r34]=r37
0x00000000004c1fa1 <+289>: nop.i 0x0
0x00000000004c1fa2 <+290>: (p06) br.cond.dpnt.few 0x4c2080 <LI46+512>;;
0x00000000004c1fb0 <+304>: [MMI] ld8 r17=[r35]
0x00000000004c1fb1 <+305>: ld8 r16=[r36]
0x00000000004c1fb2 <+306>: nop.i 0x0;;
0x00000000004c1fc0 <+320>: [MMI] adds r15=16,r17
0x00000000004c1fc1 <+321>: adds r14=8,r16
0x00000000004c1fc2 <+322>: adds r17=24,r17
0x00000000004c1fd0 <+336>: [MMI] ld8 r8=[r18];;
0x00000000004c1fd1 <+337>: st8 [r15]=r16
---Type <return> to continue, or q <return> to quit---
0x00000000004c1fd2 <+338>: nop.i 0x0
0x00000000004c1fe0 <+352>: [MMI] st8 [r35]=r15;;
0x00000000004c1fe1 <+353>: ld8 r15=[r14]
0x00000000004c1fe2 <+354>: nop.i 0x0;;
0x00000000004c1ff0 <+368>: [MLX] st8 [r17]=r15
0x00000000004c1ff1 <+369>: movl r15=0xa00000000000000a;;
0x00000000004c2000 <+384>: [MMI] st8 [r14]=r15;;
0x00000000004c2001 <+385>: ld8 r14=[r8],8
0x00000000004c2002 <+386>: nop.i 0x0;;
0x00000000004c2010 <+400>: [MII] nop.m 0x0
0x00000000004c2011 <+401>: mov b6=r14
0x00000000004c2012 <+402>: nop.i 0x0
0x00000000004c2020 <+416>: [MMB] ld8 r1=[r8]
0x00000000004c2021 <+417>: nop.m 0x0
0x00000000004c2022 <+418>: br.call.sptk.many b0=b6;;
0x00000000004c2030 <+432>: [MMI] ld8 r15=[r35]
0x00000000004c2031 <+433>: nop.m 0x0
0x00000000004c2032 <+434>: mov r1=r40;;
0x00000000004c2040 <+448>: [MMI] mov r14=r15
0x00000000004c2041 <+449>: nop.m 0x0
0x00000000004c2042 <+450>: adds r15=-16,r15;;
0x00000000004c2050 <+464>: [MMI] ld8 r16=[r14],8
0x00000000004c2051 <+465>: st8 [r35]=r15
---Type <return> to continue, or q <return> to quit---
0x00000000004c2052 <+466>: nop.i 0x0
0x00000000004c2060 <+480>: [MMI] st8 [r34]=r37;;
0x00000000004c2061 <+481>: ld8 r15=[r14]
0x00000000004c2062 <+482>: adds r14=8,r16
0x00000000004c2070 <+496>: [MMI] nop.m 0x0;;
0x00000000004c2071 <+497>: st8 [r14]=r15
0x00000000004c2072 <+498>: nop.i 0x0
0x00000000004c2080 <+512>: [MII] nop.m 0x0
0x00000000004c2081 <+513>: mov.i ar.pfs=r39
0x00000000004c2082 <+514>: nop.i 0x0;;
0x00000000004c2090 <+528>: [MIB] nop.m 0x0
0x00000000004c2091 <+529>: mov b0=r38
0x00000000004c2092 <+530>: br.ret.sptk.many b0;;
0x00000000004c20a0 <+544>: [MIB] nop.m 0x0
0x00000000004c20a1 <+545>: nop.i 0x0
0x00000000004c20a2 <+546>: br.call.sptk.many b0=0x5ab00 <bds_overflow>;;
0x00000000004c20b0 <+560>: [MIB] nop.m 0x0
0x00000000004c20b1 <+561>: mov r1=r40
0x00000000004c20b2 <+562>: br.few 0x4c1f30 <LI46+176>
0x00000000004c20c0 <+576>: [MIB] nop.m 0x0
0x00000000004c20c1 <+577>: nop.i 0x0
0x00000000004c20c2 <+578>: br.call.sptk.many b0=0x5aa00 <vs_ov---Type <return> to continue, or q <return> to quit---
erflow>;;
0x00000000004c20d0 <+592>: [MMI] mov r1=r40
0x00000000004c20d1 <+593>: ld8 r15=[r35]
0x00000000004c20d2 <+594>: nop.i 0x0;;
0x00000000004c20e0 <+608>: [MMI] addl r14=92804,r1;;
0x00000000004c20e1 <+609>: nop.m 0x0
0x00000000004c20e2 <+610>: nop.i 0x0;;
0x00000000004c20f0 <+624>: [MMI] nop.m 0x0
0x00000000004c20f1 <+625>: ld8 r14=[r14]
0x00000000004c20f2 <+626>: nop.i 0x0;;
0x00000000004c2100 <+640>: [MIB] nop.m 0x0
0x00000000004c2101 <+641>: cmp.ltu p6,p7=r15,r14
0x00000000004c2102 <+642>: (p06) br.cond.dptk.few 0x4c1f30 <LI46+176>
0x00000000004c2110 <+656>: [MIB] nop.m 0x0
0x00000000004c2111 <+657>: nop.i 0x0
0x00000000004c2112 <+658>: br.few 0x4c20a0 <LI46+544>;;
End of assembler dump.
(gdb)
(gdb) ni
0x00000000004c1e81 in LI46 (V457=0x60000000047b1258,
V458=0x60000000040400e0 <Cnil_body>) at gcl_cmpfun.c:2651
2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1e81 <LI46+1>: addl r34=93604,r1
(gdb) ni
0x00000000004c1e82 2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1e82 <LI46+2>: addl r14=94820,r1
(gdb)
2652 bds_check;
1: x/i $pc
=> 0x4c1e90 <LI46+16>: [MMI] addl r35=91740,r1
(gdb)
2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1e91 <LI46+17>: addl r36=-45492,r1
(gdb)
2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1e92 <LI46+18>: mov r40=r1;;
(gdb)
0x00000000004c1ea0 2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1ea0 <LI46+32>: [MMI] nop.m 0x0
(gdb)
0x00000000004c1ea1 2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1ea1 <LI46+33>: nop.m 0x0
(gdb)
0x00000000004c1ea2 2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1ea2 <LI46+34>: mov r38=b0
(gdb)
2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1eb0 <LI46+48>: [MMI] nop.m 0x0
(gdb)
0x00000000004c1eb1 2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1eb1 <LI46+49>: nop.m 0x0
(gdb)
2652 bds_check;
1: x/i $pc
=> 0x4c1eb2 <LI46+50>: nop.i 0x0;;
(gdb) 0x00000000004c1ec0 2652 bds_check;
1: x/i $pc
=> 0x4c1ec0 <LI46+64>: [MMI] nop.m 0x0
(gdb)
2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1ec1 <LI46+65>: nop.m 0x0
(gdb)
2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1ec2 <LI46+66>: nop.i 0x0;;
(gdb)
0x00000000004c1ed0 2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1ed0 <LI46+80>: [MMI] ld8 r37=[r34]
(gdb)
0x00000000004c1ed1 2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1ed1 <LI46+81>: ld8 r15=[r14]
(gdb)
0x00000000004c1ed2 2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1ed2 <LI46+82>: nop.i 0x0;;
(gdb)
0x00000000004c1ee0 2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1ee0 <LI46+96>: [MII] adds r14=8,r37
(gdb)
0x00000000004c1ee1 2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1ee1 <LI46+97>: nop.i 0x0;;
(gdb)
0x00000000004c1ee2 2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1ee2 <LI46+98>: cmp.ltu p6,p7=r14,r15
(gdb)
0x00000000004c1ef0 2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1ef0 <LI46+112>: [MMB] st8 [r34]=r14
(gdb)
2652 bds_check;
1: x/i $pc
=> 0x4c1ef1 <LI46+113>: addl r14=92804,r1
(gdb)
2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1ef2 <LI46+114>: (p07) br.cond.dpnt.few 0x4c20c0 <LI46+576>;;
(gdb)
2652 bds_check;
1: x/i $pc
=> 0x4c1f00 <LI46+128>: [MMI] nop.m 0x0
(gdb)
0x00000000004c1f01 2652 bds_check;
1: x/i $pc
=> 0x4c1f01 <LI46+129>: ld8 r15=[r35]
(gdb)
0x00000000004c1f02 2652 bds_check;
1: x/i $pc
=> 0x4c1f02 <LI46+130>: nop.i 0x0;;
(gdb)
0x00000000004c1f10 2652 bds_check;
1: x/i $pc
=> 0x4c1f10 <LI46+144>: [MMI] nop.m 0x0
(gdb)
0x00000000004c1f11 2652 bds_check;
1: x/i $pc
=> 0x4c1f11 <LI46+145>: ld8 r14=[r14]
(gdb)
0x00000000004c1f12 2652 bds_check;
1: x/i $pc
=> 0x4c1f12 <LI46+146>: nop.i 0x0;;
(gdb)
0x00000000004c1f20 2652 bds_check;
1: x/i $pc
=> 0x4c1f20 <LI46+160>: [MIB] nop.m 0x0
(gdb)
0x00000000004c1f21 2652 bds_check;
1: x/i $pc
=> 0x4c1f21 <LI46+161>: cmp.ltu p6,p7=r15,r14
(gdb)
0x00000000004c1f22 2652 bds_check;
1: x/i $pc
=> 0x4c1f22 <LI46+162>: (p07) br.cond.dpnt.few 0x4c20a0 <LI46+544>
(gdb)
2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f30 <LI46+176>: [MMI] adds r14=1320,r36
(gdb)
0x00000000004c1f31 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f31 <LI46+177>: mov r41=r33
(gdb)
2660 bds_bind(((object)VV[154]),small_fixnum(10));
1: x/i $pc
=> 0x4c1f32 <LI46+178>: adds r36=1232,r36;;
(gdb)
2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f40 <LI46+192>: [MMI] ld8 r42=[r14]
(gdb)
0x00000000004c1f41 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f41 <LI46+193>: nop.m 0x0
(gdb)
0x00000000004c1f42 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f42 <LI46+194>: addl r14=71628,r1;;
(gdb)
0x00000000004c1f50 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f50 <LI46+208>: [MMI] ld8 r8=[r14];;
(gdb)
0x00000000004c1f51 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f51 <LI46+209>: ld8 r14=[r8],8
(gdb)
0x00000000004c1f52 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f52 <LI46+210>: nop.i 0x0;;
(gdb)
0x00000000004c1f60 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f60 <LI46+224>: [MII] nop.m 0x0
(gdb)
0x00000000004c1f61 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f61 <LI46+225>: mov b6=r14
(gdb)
0x00000000004c1f62 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f62 <LI46+226>: nop.i 0x0
(gdb)
0x00000000004c1f70 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f70 <LI46+240>: [MMB] ld8 r1=[r8]
(gdb)
0x00000000004c1f71 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f71 <LI46+241>: nop.m 0x0
(gdb)
0x00000000004c1f72 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f72 <LI46+242>: br.call.sptk.many b0=b6;;
(gdb)
0x00000000004c1f80 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f80 <LI46+256>: [MMI] mov r14=r8
(gdb)
0x00000000004c1f81 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f81 <LI46+257>: mov r1=r40
(gdb)
2661 {object V460 = (*(LnkLI250))((V459));
1: x/i $pc
=> 0x4c1f82 <LI46+258>: mov r41=r8;;
(gdb)
2658 if(((V459))==Cnil){
1: x/i $pc
=> 0x4c1f90 <LI46+272>: [MMI] cmp.eq p6,p7=r8,r14
(gdb)
2661 {object V460 = (*(LnkLI250))((V459));
1: x/i $pc
=> 0x4c1f91 <LI46+273>: nop.m 0x0
(gdb)
0x00000000004c1f92 2661 {object V460 = (*(LnkLI250))((V459));
1: x/i $pc
=> 0x4c1f92 <LI46+274>: addl r18=71588,r1;;
(gdb)
2667 VMR46(V461)}}
1: x/i $pc
=> 0x4c1fa0 <LI46+288>: [MIB] (p06) st8 [r34]=r37
(gdb)
2658 if(((V459))==Cnil){
1: x/i $pc
=> 0x4c1fa1 <LI46+289>: nop.i 0x0
(gdb)
0x00000000004c1fa2 2658 if(((V459))==Cnil){
1: x/i $pc
=> 0x4c1fa2 <LI46+290>: (p06) br.cond.dpnt.few 0x4c2080 <LI46+512>;;
(gdb) b *0x00000000004c1f72
Breakpoint 4 at 0x4c1f72: file gcl_cmpfun.c, line 2657.
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/camm/gcl/gcl/clcs/saved_clcs_gcl
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
GCL (GNU Common Lisp) 2.6.10 CLtL1 Oct 18 2013 14:55:22
Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl)
Binary License: GPL due to GPL'ed components: (XGCL READLINE UNEXEC)
Modifications of this banner must retain notice of a compatible license
Dedicated to the memory of W. Schelter
Use (help) to get some basic information on how to use GCL.
Temporary directory for compiler files set to /tmp/
>(si::use-fast-links nil)
NIL
>(compile-file "gcl_clcs_debugger.lisp")
Compiling gcl_clcs_debugger.lisp.
Loading ./gcl_cmpinit.lsp
Loading sys-proclaim.lisp
Finished loading sys-proclaim.lisp
Finished loading ./gcl_cmpinit.lsp
Breakpoint 3, LI46 (V457=0x60000000047b1258,
V458=0x60000000040400e0 <Cnil_body>) at gcl_cmpfun.c:2651
2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1e80 <LI46>: [MMI] alloc r39=ar.pfs,11,9,0
(gdb) c
Continuing.
Breakpoint 4, 0x00000000004c1f72 in LI46 (V457=0x60000000047b1258,
V458=0x60000000040400e0 <Cnil_body>) at gcl_cmpfun.c:2657
2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f72 <LI46+242>: br.call.sptk.many b0=b6;;
(gdb) i reg r1
r1 0x600000000001921c 6917529027641184796
(gdb) ni
0x00000000004c1f80 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f80 <LI46+256>: [MMI] mov r14=r8
(gdb) ni
0x00000000004c1f81 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f81 <LI46+257>: mov r1=r40
(gdb)
2661 {object V460 = (*(LnkLI250))((V459));
1: x/i $pc
=> 0x4c1f82 <LI46+258>: mov r41=r8;;
(gdb)
2658 if(((V459))==Cnil){
1: x/i $pc
=> 0x4c1f90 <LI46+272>: [MMI] cmp.eq p6,p7=r8,r14
(gdb) i reg r14
r14 0x6000000004af3450 6917529027719672912
(gdb) i reg r1
r1 0x600000000001921c 6917529027641184796
(gdb) i reg r41
r41 0x6000000004af3450 6917529027719672912
(gdb) p V459
$45 = (object) 0x6000000004af3450
(gdb) ni
2661 {object V460 = (*(LnkLI250))((V459));
1: x/i $pc
=> 0x4c1f91 <LI46+273>: nop.m 0x0
(gdb)
0x00000000004c1f92 2661 {object V460 = (*(LnkLI250))((V459));
1: x/i $pc
=> 0x4c1f92 <LI46+274>: addl r18=71588,r1;;
(gdb)
2667 VMR46(V461)}}
1: x/i $pc
=> 0x4c1fa0 <LI46+288>: [MIB] (p06) st8 [r34]=r37
(gdb)
2658 if(((V459))==Cnil){
1: x/i $pc
=> 0x4c1fa1 <LI46+289>: nop.i 0x0
(gdb)
0x00000000004c1fa2 2658 if(((V459))==Cnil){
1: x/i $pc
=> 0x4c1fa2 <LI46+290>: (p06) br.cond.dpnt.few 0x4c2080 <LI46+512>;;
(gdb)
2670 }
1: x/i $pc
=> 0x4c2080 <LI46+512>: [MII] nop.m 0x0
(gdb) ni
0x00000000004c2081 2670 }
1: x/i $pc
=> 0x4c2081 <LI46+513>: mov.i ar.pfs=r39
(gdb)
0x00000000004c2082 2670 }
1: x/i $pc
=> 0x4c2082 <LI46+514>: nop.i 0x0;;
(gdb)
0x00000000004c2090 2670 }
1: x/i $pc
=> 0x4c2090 <LI46+528>: [MIB] nop.m 0x0
(gdb)
0x00000000004c2091 2670 }
1: x/i $pc
=> 0x4c2091 <LI46+529>: mov b0=r38
(gdb)
0x00000000004c2092 2670 }
1: x/i $pc
=> 0x4c2092 <LI46+530>: br.ret.sptk.many b0;;
(gdb)
0x000000000009a910 in quick_call_sfun (fun=0x60000000047054b0) at eval.c:117
117 SET_TO_APPLY(res,fun->sfn.sfn_self,n,x);
1: x/i $pc
=> 0x9a910 <quick_call_sfun+1232>: [MIB] nop.m 0x0
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/camm/gcl/gcl/clcs/saved_clcs_gcl
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
GCL (GNU Common Lisp) 2.6.10 CLtL1 Oct 18 2013 14:55:22
Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl)
Binary License: GPL due to GPL'ed components: (XGCL READLINE UNEXEC)
Modifications of this banner must retain notice of a compatible license
Dedicated to the memory of W. Schelter
Use (help) to get some basic information on how to use GCL.
Temporary directory for compiler files set to /tmp/
>(si::use-fast-links nil)
NIL
>(compile-file "gcl_clcs_debugger.lisp")
Compiling gcl_clcs_debugger.lisp.
Loading ./gcl_cmpinit.lsp
Loading sys-proclaim.lisp
Finished loading sys-proclaim.lisp
Finished loading ./gcl_cmpinit.lsp
Breakpoint 3, LI46 (V457=0x60000000047b1258,
V458=0x60000000040400e0 <Cnil_body>) at gcl_cmpfun.c:2651
2651 { VMB46 VMS46 VMV46
1: x/i $pc
=> 0x4c1e80 <LI46>: [MMI] alloc r39=ar.pfs,11,9,0
(gdb) c
Continuing.
Breakpoint 4, 0x00000000004c1f72 in LI46 (V457=0x60000000047b1258,
V458=0x60000000040400e0 <Cnil_body>) at gcl_cmpfun.c:2657
2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f72 <LI46+242>: br.call.sptk.many b0=b6;;
(gdb) ni
0x00000000004c1f80 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f80 <LI46+256>: [MMI] mov r14=r8
(gdb)
0x00000000004c1f81 2657 V459= (*(LnkLI268))((V458),((object)VV[165]));
1: x/i $pc
=> 0x4c1f81 <LI46+257>: mov r1=r40
(gdb)
2661 {object V460 = (*(LnkLI250))((V459));
1: x/i $pc
=> 0x4c1f82 <LI46+258>: mov r41=r8;;
(gdb)
2658 if(((V459))==Cnil){
1: x/i $pc
=> 0x4c1f90 <LI46+272>: [MMI] cmp.eq p6,p7=r8,r14
(gdb) i reg p6
p6 0x0 0
(gdb) i reg p8
p8 0x0 0
(gdb) i reg p7
p7 0x1 1
(gdb) i reg r14
r14 0x6000000004af3450 6917529027719672912
(gdb) p &CNil_body
No symbol "CNil_body" in current context.
(gdb) p &Cnil_body
$46 = (union lispunion *) 0x60000000040400e0 <Cnil_body>
(gdb) ni
2661 {object V460 = (*(LnkLI250))((V459));
1: x/i $pc
=> 0x4c1f91 <LI46+273>: nop.m 0x0
(gdb)
0x00000000004c1f92 2661 {object V460 = (*(LnkLI250))((V459));
1: x/i $pc
=> 0x4c1f92 <LI46+274>: addl r18=71588,r1;;
(gdb) i reg r1
r1 0x600000000001921c 6917529027641184796
(gdb) i reg r18
r18 0x60000fffffff8cc0 6917546619827096768
(gdb) ni
2667 VMR46(V461)}}
1: x/i $pc
=> 0x4c1fa0 <LI46+288>: [MIB] (p06) st8 [r34]=r37
(gdb) i reg r18
r18 0x600000000002a9c0 6917529027641256384
(gdb) i reg r1
r1 0x600000000001921c 6917529027641184796
(gdb) i reg r37
r37 0x6000000004053f30 6917529027708534576
(gdb) i reg r34
r34 0x600000000002ffc0 6917529027641278400
(gdb) p bds_top
$47 = (bds_ptr) 0x600000000458b640 <bind_stack+784>
(gdb) p &bds_top
$48 = (bds_ptr *) 0x600000000002f878 <bds_top>
(gdb) p bds_top[1]
$49 = {bds_sym = 0x60000000047a87f0, bds_val = 0xa000000000000002}
(gdb) p bds_top[0]
$50 = {bds_sym = 0x6000000004788250, bds_val = 0x60000000040400e0 <Cnil_body>}
(gdb) i reg r35
r35 0x600000000002f878 6917529027641276536
(gdb) p &bds_top
$51 = (bds_ptr *) 0x600000000002f878 <bds_top>
(gdb) b V459
Function "V459" not defined.
Make breakpoint pending on future shared library load? (y or [n]) n
(gdb) p V459
$52 = (object) 0x6000000004af3450
(gdb) p &Cnil_body
$53 = (union lispunion *) 0x60000000040400e0 <Cnil_body>
(gdb) shell
(sid_ia64-dchroot)camm@merulo:~/gcl/gcl/clcs$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/ia64-linux-gnu/4.6/lto-wrapper
Target: ia64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.4-4' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-gnu-unique-object --disable-libssp --enable-plugin --enable-objc-gc --with-system-libunwind --enable-checking=release --build=ia64-linux-gnu --host=ia64-linux-gnu --target=ia64-linux-gnu
Thread model: posix
gcc version 4.6.4 (Debian 4.6.4-4)
(sid_ia64-dchroot)camm@merulo:~/gcl/gcl/clcs$
=============================================================================
Take care,
--
Camm Maguire camm@maguirefamily.org
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
--
To UNSUBSCRIBE, email to debian-ia64-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: [🔎] 87sivyo6mj.fsf@maguirefamily.org" target="_blank">http://lists.debian.org/[🔎] 87sivyo6mj.fsf@maguirefamily.org