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

Re: Miscompilation at -O2



Hey Camm,

That's an interesting find, but it's extremely verbose and I must admit I'm having a hard time following all of the information you've put there. Is there a simpler test case that I can analyze as well?

Patrick


On Fri, Oct 18, 2013 at 12:01 PM, Camm Maguire <camm@maguirefamily.org> wrote:
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



Reply to: