[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] 2.7 build
From: |
Camm Maguire |
Subject: |
Re: [Axiom-developer] 2.7 build |
Date: |
12 Jul 2007 17:14:38 -0400 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings, and thanks once again for a great report! Should be fixed
now -- please let me know if problems persist.
Take care,
Stephen Wilson <address@hidden> writes:
> Camm Maguire <address@hidden> writes:
> [...]
> > > The second problem is that the function |ICformat| apparently is
> > > miscompiled, Lisp code differs only trivially from code in 2.6.8
> > > build. In particular at the beggining we have:
> > >
> > > (DEFUN |ICformat| (|u|)
> > > (PROG (|v| |l'| |l1| |l|)
> > > (RETURN
> > > (SEQ (COND
> > > ((ATOM |u|) |u|)
> > > ((AND (PAIRP |u|) (EQ (QCAR |u|) '|has|))
> > > (|compHasFormat| |u|))
> > > ((OR (AND (PAIRP |u|) (EQ (QCAR |u|) 'AND)
> > > (PROGN (SPADLET |l| (QCDR |u|)) 'T))
> > > (AND (PAIRP |u|) (EQ (QCAR |u|) '|and|)
> > > (PROGN (SPADLET |l| (QCDR |u|)) 'T)))
> > > (SPADLET |l|
> > > (REMDUP (PROG (#1=#:G7955)
> >
> > I take it this source is generated by some other function in axiom
> > which is malfunctioning, (akin to the writing of #<compiled function
> > ...> in the generated lisp sources I reported earlier). What is this
> > function? How do I run it to produce the above output? I take it the
> > difference lies in the gensym above -- this appears clearly wrong, and
> > indicates an error either in GCL's compilation of the function that
> > generates this source, or a mistake in one of the patches applied in
> > your tree. Stephen, can you reproduce this?
>
> My reading of the code does not suggest an error w.r.t the gensym.
>
> Unfortunately this may have already been resolved were it not for
> another mistake on my part. I gave a bug report which related to this
> issue but latter claimed it was a false alarm. While collecting my
> changes last night I noticed that I had inadvertently merged a local
> work-around, thus masking the bug.
>
> Many apologies for the confusion here. Bellow follows the original
> report. Have rerun the examples with latest gclcvs, with identical
> results.
>
>
> Sincerely,
> Steve
>
> ==-----------------------
>
> Hello Camm,
>
> Another issue has come up, again w.r.t the handling of logical
> operations.
>
> I hope these reports are not just pointing out known issues! I only
> wish I had the knowledge to fix them myself.
>
>
> ==--- test.lisp ---
>
> (defun test (x)
> (when (or (and (consp x) (eq (car x) 'X) t)
> (and (consp x) (eq (car x) '|x|) t))
> 'OK))
>
> ==-----------------
>
> Note that if the T's are dropped from the AND expressions, the
> function behaves as expected.
>
>
> steve:tmp> gcl
> GCL (GNU Common Lisp) 2.7.0 ANSI Jul 7 2007 19:13:09
> Source License: LGPL(gcl,gmp,pargcl), GPL(unexec,bfd,xgcl)
> Binary License: GPL due to GPL'ed components: (XGCL READLINE BFD 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/
>
> >(compile-file "test.lisp")
>
> ;; Compiling test.lisp.
> ;; End of Pass 1.
> ;; End of Pass 2.
> ;; OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3,
> (Debug quality ignored)
> ;; Finished compiling test.o.
> #P"/home/steve/tmp/test.o"
> NIL
> NIL
>
> >(load "test.o")
>
> ;; Loading test.o
> ;; start address -T 0xb4acd8 ;; Finished loading test.o
> 80
>
> >(test '(X))
>
> OK
>
> >(test '(|x|))
>
> NIL
>
> >(disassemble 'test)
>
> ;; Compiling /tmp/gazonk_18523_0.lsp.
> ;; End of Pass 1.
> ;; End of Pass 2.
> ;; OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3,
> (Debug quality ignored)
> ;; Finished compiling /tmp/gazonk_18523_0.o.
>
> #include "gazonk_18523_0.h"
> void init_code(){do_init((void *)VV);}
> /* local entry for function TEST */
>
> static object LI1(V2)
>
> object V2;
> { VMB1 VMS1 VMV1
> goto TTL;
> TTL:;
> if(!(consp((V2)))){
> goto T2;}
> /*(CAR X)*/
> {object V4;
> V4= (V2);
> V3= ((V4))->c.c_car;}
> /* END (CAR X)*/
> if(!((V3)==(((object)VV[0])))){
> goto T2;}
> {object V5 = ((object)VV[1]);VMR1
> (V5);}
> goto T2;
> T2:;
> {object V6 = Cnil;VMR1
> (V6);}
> return Cnil;
> }
> #(#(X OK
> (%INIT
> . #((LET ((*DISABLE-RECOMPILE* T))
> (MFSFUN 'TEST 0 1 0)
> (ADD-HASH 'TEST '((T) SYMBOL)
> '((CAR (LIST) T) (EQ (T T) BOOLEAN) (CONSP (T) T))
> COMMON-LISP-USER
> LISPLAMBDA!
> ,DECLA,OPTIMIZ,SAFETY ,BLOCK
> TEST ,IF ,OR
> !,AN!,CONSP- !,E!,CAR!,QUOTE-!,T
> /- 12
> x,PROG2
> OK '/tmp/gazonk_18523_0.lsp))
> (DO-RECOMPILE)))))
> static object LI1();
> #define VMB1 object V3;
> #define VMS1
> #define VMV1
> #define VMR1(VMT1) return(VMT1);
> #define VM1 0
> static void * VVi[3]={
> #define Cdata VV[2]
> (void *)(LI1)
> };
> #define VV (VVi)
>
> /tmp/gazonk_18523_0.o: file format elf32-i386
>
> Disassembly of section .text:
>
> 00000000 <init_code>:
> 0: 68 00 00 00 00 push $0x0
> 5: e8 fc ff ff ff call 6 <init_code+0x6>
> a: 58 pop %eax
> b: c3 ret
>
> 0000000c <LI1>:
> c: 8b 54 24 04 mov 0x4(%esp),%edx
> 10: 81 fa 00 00 00 00 cmp $0x0,%edx
> 16: 74 25 je 3d <LI1+0x31>
> 18: 81 fa ff ff ff bf cmp $0xbfffffff,%edx
> 1e: 77 1d ja 3d <LI1+0x31>
> 20: f6 02 01 testb $0x1,(%edx)
> 23: 74 08 je 2d <LI1+0x21>
> 25: 81 3a ff ff ff bf cmpl $0xbfffffff,(%edx)
> 2b: 76 10 jbe 3d <LI1+0x31>
> 2d: a1 00 00 00 00 mov 0x0,%eax
> 32: 39 42 04 cmp %eax,0x4(%edx)
> 35: 75 06 jne 3d <LI1+0x31>
> 37: a1 04 00 00 00 mov 0x4,%eax
> 3c: c3 ret
> 3d: b8 00 00 00 00 mov $0x0,%eax
> 42: c3 ret
> NIL
>
> >(defun test (x)
> (when (or (and (consp x) (eq (car x) 'X))
> (and (consp x) (eq (car x) '|x|)))
> 'OK))
>
> TEST
>
> >(compile 'test)
>
> ;; Compiling /tmp/gazonk_18523_0.lsp.
> ;; End of Pass 1.
> ;; End of Pass 2.
> ;; OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3,
> (Debug quality ignored)
> ;; Finished compiling /tmp/gazonk_18523_0.o.
> ;; Loading /tmp/gazonk_18523_0.o
> ;; start address -T 0xb4bd68 ;; Finished loading /tmp/gazonk_18523_0.o
> #<compiled-function TEST>
> NIL
> NIL
>
> >(test '(X))
>
> OK
>
> >(test '(|x|))
>
> OK
>
>
>
> _______________________________________________
> Axiom-developer mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/axiom-developer
>
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
- Re: [Axiom-developer] lisp compilation warnings, (continued)
- [Axiom-developer] 2.7 build, Camm Maguire, 2007/07/11
- Re: [Axiom-developer] 2.7 build, Stephen Wilson, 2007/07/11
- Re: [Axiom-developer] 2.7 build, Camm Maguire, 2007/07/11
- Re: [Axiom-developer] 2.7 build, Stephen Wilson, 2007/07/11
- Re: [Axiom-developer] 2.7 build, Camm Maguire, 2007/07/11
- Re: [Axiom-developer] 2.7 build, Stephen Wilson, 2007/07/11
- Re: [Axiom-developer] 2.7 build, Waldek Hebisch, 2007/07/12
- Re: [Axiom-developer] 2.7 build, Camm Maguire, 2007/07/12
- Re: [Axiom-developer] 2.7 build, Stephen Wilson, 2007/07/12
- Re: [Axiom-developer] 2.7 build,
Camm Maguire <=
- Re: [Axiom-developer] 2.7 build, Waldek Hebisch, 2007/07/12
- Re: [Axiom-developer] 2.7 build, Camm Maguire, 2007/07/12
- Re: [Axiom-developer] 2.7 build, Waldek Hebisch, 2007/07/13
- Re: [Axiom-developer] 2.7 build, Stephen Wilson, 2007/07/13
- Re: [Axiom-developer] 2.7 build, Camm Maguire, 2007/07/13
- Re: [Axiom-developer] 2.7 build, Stephen Wilson, 2007/07/16
[Axiom-developer] Literate Programming, daly, 2007/07/12
[Axiom-developer] Literate Programming, daly, 2007/07/12