Hello, Axiom build with gclcvs-2.7.0, --enable-ansi, latest cvs checkout (and prior revision), on an i686-pc-linux-gnu, fails midway into the algebra build.
The bug appears to be the following. Call to (VECTOR 0 0 0) returns #(0 0) instead of #(0 0 0). ==----- test.lisp --- (defun mkvector () (vector 0 0 0)) ==------------------- steve:tmp> gcl 12:32am[307] GCL (GNU Common Lisp) 2.7.0 ANSI Jun 28 2007 20:34:59 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 0xa59c40 ;; Finished loading test.o 196 >(mkvector) #(0 0) >(disassemble 'mkvector) ;; Compiling /tmp/gazonk_14243_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_14243_0.o. #include "gazonk_14243_0.h" void init_code(){do_init((void *)VV);} /* local entry for function MKVECTOR */ static object LI1() { VMB1 VMS1 VMV1 goto TTL; TTL:; /*(VECTOR 0 0 0)*/ {object V1; V1= !3? Cnil : (alloca_val=alloca((3)*sizeof(struct cons)+sizeof(object)), ({object _b=(void *)alloca_val;if (((unsigned long)_b)&sizeof(_b)) _b++; {register struct cons *_p=(void *)_b; _p->c_car=make_fixnum(0);_p->c_cdr=(object)(_p+1);_p++; _p->c_car=make_fixnum(0);_p->c_cdr=(object)(_p+1);_p++; _p->c_car=make_fixnum(0);_p->c_cdr=(object)(_p+1);_p++; _p[-1].c_cdr=Cnil;}_b;})); {object V2; /*(LENGTH OBJECTS)*/ {register object V4; V4= (V1); /*(ENDP (SETQ X (CDR X)))*/ {object V5; V4= CMPcdr((V4)); V5= (V4);} /* END (ENDP (SETQ X (CDR X)))*/ /*(ENDP (SETQ X (CDR X)))*/ {object V6; V4= CMPcdr(Cnil); V6= (V4);} /* END (ENDP (SETQ X (CDR X)))*/ V3= make_fixnum(2);} /* END (LENGTH OBJECTS)*/ V2= !1? Cnil : (alloca_val=alloca((1)*sizeof(struct cons)+sizeof(object)), ({object _b=(void *)alloca_val;if (((unsigned long)_b)&sizeof(_b)) _b++; {register struct cons *_p=(void *)_b; _p->c_car=V3;_p->c_cdr=(object)(_p+1);_p++; _p[-1].c_cdr=Cnil;}_b;})); {object V7 = (VFUN_NARGS=5,(/* MAKE-ARRAY */(*LnkLI2)((V2),((object)VV[0]),Ct,((object)VV[1]),(V1))));VMR1 (V7);}}} /* END (VECTOR 0 0 0)*/ return Cnil; } static object LnkTLI2(object first,...){object V1;va_list ap;va_start(ap,first);V1=(object )call_vproc_new(((object)VV[2]),0,0,(void **)(void *)&LnkLI2,first,ap);va_end(ap);return V1;} /* MAKE-ARRAY */ #(#(ELEMENT-TYPE INITIAL-CONTENTS MAKE-ARRAY (%INIT . #((LET ((*DISABLE-RECOMPILE* T)) (MFSFUN 'MKVECTOR 0 0 0) (ADD-HASH 'MKVECTOR '(NIL (ARRAY T *)) '((VECTOR (*) (ARRAY T *))) COMMON-LISP-USER LISPLAMBD,DECLA,OPTIMIZ,SAFETY ,BLOCK MKVECTOR ,VECTOR '/tmp/gazonk_14243_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[4]={ #define Cdata VV[3] (void *)(LI1) }; #define VV (VVi) static object LnkTLI2(object,...); static object (*LnkLI2)() = (object (*)()) LnkTLI2; /tmp/gazonk_14243_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: 55 push %ebp d: 89 e5 mov %esp,%ebp f: 83 ec 2c sub $0x2c,%esp 12: 8d 54 24 0f lea 0xf(%esp),%edx 16: 83 e2 f0 and $0xfffffff0,%edx 19: 8d 42 08 lea 0x8(%edx),%eax 1c: 89 02 mov %eax,(%edx) 1e: c7 42 04 00 00 00 d0 movl $0xd0000000,0x4(%edx) 25: c7 40 04 00 00 00 d0 movl $0xd0000000,0x4(%eax) 2c: 8d 42 10 lea 0x10(%edx),%eax 2f: 89 42 08 mov %eax,0x8(%edx) 32: c7 40 04 00 00 00 d0 movl $0xd0000000,0x4(%eax) 39: 83 ec 1c sub $0x1c,%esp 3c: 8d 42 18 lea 0x18(%edx),%eax 3f: 89 42 10 mov %eax,0x10(%edx) 42: c7 40 f8 00 00 00 00 movl $0x0,0xfffffff8(%eax) 49: 8d 44 24 0f lea 0xf(%esp),%eax 4d: 83 e0 f0 and $0xfffffff0,%eax 50: 8d 48 08 lea 0x8(%eax),%ecx 53: 89 08 mov %ecx,(%eax) 55: c7 40 04 02 00 00 d0 movl $0xd0000002,0x4(%eax) 5c: c7 41 f8 00 00 00 00 movl $0x0,0xfffffff8(%ecx) 63: 52 push %edx 64: ff 35 04 00 00 00 pushl 0x4 6a: 68 00 00 00 00 push $0x0 6f: ff 35 00 00 00 00 pushl 0x0 75: 50 push %eax 76: a3 00 00 00 00 mov %eax,0x0 7b: 66 c7 05 04 00 00 00 movw $0x5,0x4 82: 05 00 84: ff 15 10 00 00 00 call *0x10 8a: c9 leave 8b: c3 ret 0000008c <LnkTLI2>: 8c: 8d 44 24 08 lea 0x8(%esp),%eax 90: 50 push %eax 91: ff 74 24 08 pushl 0x8(%esp) 95: 68 10 00 00 00 push $0x10 9a: 6a 00 push $0x0 9c: 6a 00 push $0x0 9e: ff 35 08 00 00 00 pushl 0x8 a4: e8 fc ff ff ff call a5 <LnkTLI2+0x19> a9: 83 c4 18 add $0x18,%esp ac: c3 ret NIL Thanks, Steve _______________________________________________ Axiom-developer mailing list Axiom-developer@nongnu.org http://lists.nongnu.org/mailman/listinfo/axiom-developer