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

Miscompilation at -O2



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


Reply to: