[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gcl-devel] Re: 2.7.0 compiler bug ?
From: |
Camm Maguire |
Subject: |
[Gcl-devel] Re: 2.7.0 compiler bug ? |
Date: |
14 Feb 2006 14:54:43 -0500 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings!
OK, I really can't reproduce this one now:
./configure --quiet --silent --enable-ansi \
--disable-statsysbfd --enable-locbfd \
--enable-ihssize=2097110 \
--enable-vssize=2097110 \
--enable-maxpage=524288 \
--enable-holediv=100 \
--enable-static
make
unixport/saved_ansi_gcl
GCL (GNU Common Lisp) 2.7.0 ANSI Feb 14 2006 18:45:37
Source License: LGPL(gcl,gmp,pargcl), GPL(unexec,bfd)
Binary License: GPL due to GPL'ed components: (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/
>(proclaim '(optimize (safety 3) (speed 0)))
NIL
>(defun eee ()
(let ((length 2)
(num 1))
(declare (fixnum num))
(do ((i (1- length) (1- i))) ((< i 0))
(declare (fixnum i))
(setq num (the fixnum (1+ num))))))
EEE
>(compile 'eee)
;; Compiling /tmp/gazonk_22877_0.lsp.
;; End of Pass 1.
;; End of Pass 2.
;; OPTIMIZE levels: Safety=3, Space=0, Speed=0, (Debug quality ignored)
;; Finished compiling /tmp/gazonk_22877_0.o.
Loading /tmp/gazonk_22877_0.o
start address -T 0xa0b48c8 Finished loading /tmp/gazonk_22877_0.o
#<compiled-function EEE>
NIL
NIL
>(eee)
NIL
>
Am I still missing something?
I didn't see anything on a quick read of the disassembly.
Take care,
Robert Boyer <address@hidden> writes:
> Very happy you're back from your mini-sabbatical!
>
> > (describe 'cons) -- OK, this should be fixed now
>
> Yes it is. Thanks!
>
> > I can't reproduce this, at least not now. Is this still an issue?
>
> Yes it is. I just now fetched a new 2.7.0 and built it and got the same
> error as before. See below. And see my configuration below that. And a
> disassemble below that.
>
> -------------------------------------------------------------------------------
>
> bin/gcl
> GCL (GNU Common Lisp) 2.7.0 ANSI Feb 13 2006 14:25:58
> Source License: LGPL(gcl,gmp,pargcl), GPL(unexec,bfd)
> Binary License: GPL due to GPL'ed components: (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/
>
> >(proclaim '(optimize (safety 3) (speed 0)))
>
> NIL
>
> >(defun eee ()
> (let ((length 2)
> (num 1))
> (declare (fixnum num))
> (do ((i (1- length) (1- i))) ((< i 0))
> (declare (fixnum i))
> (setq num (the fixnum (1+ num))))))
>
> EEE
>
> >(compile 'eee)
>
> ;; Compiling /tmp/gazonk_19281_0.lsp.
> ;; End of Pass 1.
> ;; End of Pass 2.
> ;; OPTIMIZE levels: Safety=3, Space=0, Speed=0, (Debug quality ignored)
> ;; Finished compiling /tmp/gazonk_19281_0.o.
> Loading /tmp/gazonk_19281_0.o
> start address -T 0xa0ac5e8 Finished loading /tmp/gazonk_19281_0.o
> #<compiled-function EEE>
> NIL
> NIL
>
> >(eee)
> Segmentation violation: c stack ok:signalling error
> Error in EVAL [or a callee]: Caught fatal error [memory may be damaged]:
> Segmentation violation.
>
> Fast links are on: do (si::use-fast-links nil) for debugging
> Broken at CONDITIONS::CLCS-UNIVERSAL-ERROR-HANDLER. Type :H for Help.
> 1 (Continue) Return to top level.
> dbl:>>
>
> -------------------------------------------------------------------------------
>
> Here's my configuration:
>
> ./configure --quiet --silent --enable-ansi \
> --disable-statsysbfd --enable-locbfd \
> --enable-ihssize=2097110 \
> --enable-vssize=2097110 \
> --enable-maxpage=524288 \
> --enable-holediv=100 \
> --enable-static
>
> -------------------------------------------------------------------------------
>
> Here's is the disassemble, by the way, which is probably different from yours
> and may suggest to you what is happening.
>
>
> >(proclaim '(optimize (safety 3) (speed 0)))
>
> NIL
>
> >(defun eee ()
> (let ((length 2)
> (num 1))
> (declare (fixnum num))
> (do ((i (1- length) (1- i))) ((< i 0))
> (declare (fixnum i))
> (setq num (the fixnum (1+ num))))))
>
> EEE
>
> >(disassemble 'eee)
>
> ;; Compiling /tmp/gazonk_19385_0.lsp.
> ;; End of Pass 1.
> ;; End of Pass 2.
> ;; OPTIMIZE levels: Safety=3, Space=0, Speed=0, (Debug quality ignored)
> ;; Finished compiling /tmp/gazonk_19385_0.o.
>
> #include "gazonk_19385_0.h"
> void init_code(){do_init(VV);}
> /* function definition for EEE */
>
> static void L1()
> {register object *base=vs_base;
> register object *sup=base+VM1; VC1
> vs_reserve(VM1);
> ihs_check;
> check_arg(0);
> vs_top=sup;
> goto TTL;
> TTL:;
> {fixnum V1;
> register fixnum V2;
> V1= (fixnum)2;
> V2= (fixnum)1;
> {register fixnum V3;
> base[0]=symbol_function(VV[0]);
> base[1]= CMPmake_fixnum(V1);
> base[2]= small_fixnum(1);
> vs_top=(vs_base=base+1)+2;
> funcall_with_catcher(VV[0],base[0]);
> vs_top=sup;
> V3= fixint(vs_base[0]);
> goto T7;
> T7:;
> base[0]=symbol_function(VV[1]);
> base[1]= CMPmake_fixnum(V3);
> base[2]= small_fixnum(0);
> vs_top=(vs_base=base+1)+2;
> funcall_with_catcher(VV[1],base[0]);
> vs_top=sup;
> if((vs_base[0])==Cnil){
> goto T8;}
> base[0]= Cnil;
> vs_top=(vs_base=base+0)+1;
> return;
> goto T8;
> T8:;
> base[0]=symbol_function(VV[2]);
> base[1]= CMPmake_fixnum(V2);
> base[2]= small_fixnum(1);
> vs_top=(vs_base=base+1)+2;
> funcall_with_catcher(VV[2],base[0]);
> vs_top=sup;
> V2= fixint(vs_base[0]);
> {IDECL(register GEN V4,V4space,V4alloc);
> base[0]=symbol_function(VV[0]);
> base[1]= CMPmake_fixnum(V3);
> base[2]= small_fixnum(1);
> vs_top=(vs_base=base+1)+2;
> funcall_with_catcher(VV[0],base[0]);
> vs_top=sup;
> { save_avma;
> SETQ_II(V4,V4alloc,otoi(vs_base[0]),alloca);restore_avma;}
> V3= fixint(make_integer(V4));}
> goto T7;}}
> }
>
> #(
> #(lisp::- lisp::< lisp::+ (system::%init . #((system::mf (lisp::quote
> common-lisp-user::eee) 0))))
> )
>
> static void L1();
> #define VC1
> #define VM1 3
> static char * VVi[4]={
> #define Cdata VV[3]
> (char *)(L1)
> };
> #define VV ((object *)VVi)
>
> /tmp/gazonk_19385_0.o: file format elf32-i386
>
> Disassembly of section .text:
>
> 00000000 <init_code>:
> init_code():
> 0: 55 push %ebp
> 1: 89 e5 mov %esp,%ebp
> 3: 83 ec 08 sub $0x8,%esp
> 6: c7 04 24 00 00 00 00 movl $0x0,(%esp)
> d: e8 fc ff ff ff call e <init_code+0xe>
> 12: c9 leave
> 13: c3 ret
>
> 00000014 <L1>:
> L1():
> 14: 55 push %ebp
> 15: 89 e5 mov %esp,%ebp
> 17: 81 ec a8 00 00 00 sub $0xa8,%esp
> 1d: a1 00 00 00 00 mov 0x0,%eax
> 22: 89 45 c4 mov %eax,0xffffffc4(%ebp)
> 25: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 28: 83 c2 0c add $0xc,%edx
> 2b: 89 55 c0 mov %edx,0xffffffc0(%ebp)
> 2e: a1 00 00 00 00 mov 0x0,%eax
> 33: 83 c0 0c add $0xc,%eax
> 36: 3b 05 00 00 00 00 cmp 0x0,%eax
> 3c: 72 05 jb 43 <L1+0x2f>
> 3e: e8 fc ff ff ff call 3f <L1+0x2b>
> 43: a1 00 00 00 00 mov 0x0,%eax
> 48: 3b 05 00 00 00 00 cmp 0x0,%eax
> 4e: 72 05 jb 55 <L1+0x41>
> 50: e8 fc ff ff ff call 51 <L1+0x3d>
> 55: 8b 15 00 00 00 00 mov 0x0,%edx
> 5b: a1 00 00 00 00 mov 0x0,%eax
> 60: 29 d0 sub %edx,%eax
> 62: c1 f8 02 sar $0x2,%eax
> 65: 85 c0 test %eax,%eax
> 67: 74 0c je 75 <L1+0x61>
> 69: c7 04 24 00 00 00 00 movl $0x0,(%esp)
> 70: e8 fc ff ff ff call 71 <L1+0x5d>
> 75: 8b 45 c0 mov 0xffffffc0(%ebp),%eax
> 78: a3 00 00 00 00 mov %eax,0x0
> 7d: c7 45 f4 02 00 00 00 movl $0x2,0xfffffff4(%ebp)
> 84: c7 45 bc 01 00 00 00 movl $0x1,0xffffffbc(%ebp)
> 8b: a1 00 00 00 00 mov 0x0,%eax
> 90: 89 04 24 mov %eax,(%esp)
> 93: e8 fc ff ff ff call 94 <L1+0x80>
> 98: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 9b: 89 02 mov %eax,(%edx)
> 9d: 8b 45 f4 mov 0xfffffff4(%ebp),%eax
> a0: 89 45 b4 mov %eax,0xffffffb4(%ebp)
> a3: 8b 45 b4 mov 0xffffffb4(%ebp),%eax
> a6: 05 00 00 00 10 add $0x10000000,%eax
> ab: 25 00 00 00 e0 and $0xe0000000,%eax
> b0: 85 c0 test %eax,%eax
> b2: 75 0e jne c2 <L1+0xae>
> b4: 8b 55 b4 mov 0xffffffb4(%ebp),%edx
> b7: 81 ea 00 00 00 30 sub $0x30000000,%edx
> bd: 89 55 b0 mov %edx,0xffffffb0(%ebp)
> c0: eb 0e jmp d0 <L1+0xbc>
> c2: 8b 45 b4 mov 0xffffffb4(%ebp),%eax
> c5: 89 04 24 mov %eax,(%esp)
> c8: e8 fc ff ff ff call c9 <L1+0xb5>
> cd: 89 45 b0 mov %eax,0xffffffb0(%ebp)
> d0: 8b 45 b0 mov 0xffffffb0(%ebp),%eax
> d3: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> d6: 89 42 04 mov %eax,0x4(%edx)
> d9: c7 45 ac 01 00 00 00 movl $0x1,0xffffffac(%ebp)
> e0: 8b 45 ac mov 0xffffffac(%ebp),%eax
> e3: 05 00 00 00 10 add $0x10000000,%eax
> e8: 25 00 00 00 e0 and $0xe0000000,%eax
> ed: 85 c0 test %eax,%eax
> ef: 75 0e jne ff <L1+0xeb>
> f1: 8b 55 ac mov 0xffffffac(%ebp),%edx
> f4: 81 ea 00 00 00 30 sub $0x30000000,%edx
> fa: 89 55 a8 mov %edx,0xffffffa8(%ebp)
> fd: eb 0e jmp 10d <L1+0xf9>
> ff: 8b 45 ac mov 0xffffffac(%ebp),%eax
> 102: 89 04 24 mov %eax,(%esp)
> 105: e8 fc ff ff ff call 106 <L1+0xf2>
> 10a: 89 45 a8 mov %eax,0xffffffa8(%ebp)
> 10d: 8b 45 a8 mov 0xffffffa8(%ebp),%eax
> 110: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 113: 89 42 08 mov %eax,0x8(%edx)
> 116: 8b 45 c4 mov 0xffffffc4(%ebp),%eax
> 119: 83 c0 04 add $0x4,%eax
> 11c: a3 00 00 00 00 mov %eax,0x0
> 121: a1 00 00 00 00 mov 0x0,%eax
> 126: 83 c0 08 add $0x8,%eax
> 129: a3 00 00 00 00 mov %eax,0x0
> 12e: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 131: 8b 02 mov (%edx),%eax
> 133: 89 44 24 04 mov %eax,0x4(%esp)
> 137: a1 00 00 00 00 mov 0x0,%eax
> 13c: 89 04 24 mov %eax,(%esp)
> 13f: e8 fc ff ff ff call 140 <L1+0x12c>
> 144: 8b 45 c0 mov 0xffffffc0(%ebp),%eax
> 147: a3 00 00 00 00 mov %eax,0x0
> 14c: a1 00 00 00 00 mov 0x0,%eax
> 151: 8b 00 mov (%eax),%eax
> 153: 89 04 24 mov %eax,(%esp)
> 156: e8 fc ff ff ff call 157 <L1+0x143>
> 15b: 89 45 b8 mov %eax,0xffffffb8(%ebp)
> 15e: a1 04 00 00 00 mov 0x4,%eax
> 163: 89 04 24 mov %eax,(%esp)
> 166: e8 fc ff ff ff call 167 <L1+0x153>
> 16b: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 16e: 89 02 mov %eax,(%edx)
> 170: 8b 45 b8 mov 0xffffffb8(%ebp),%eax
> 173: 89 45 a4 mov %eax,0xffffffa4(%ebp)
> 176: 8b 45 a4 mov 0xffffffa4(%ebp),%eax
> 179: 05 00 00 00 10 add $0x10000000,%eax
> 17e: 25 00 00 00 e0 and $0xe0000000,%eax
> 183: 85 c0 test %eax,%eax
> 185: 75 0e jne 195 <L1+0x181>
> 187: 8b 55 a4 mov 0xffffffa4(%ebp),%edx
> 18a: 81 ea 00 00 00 30 sub $0x30000000,%edx
> 190: 89 55 a0 mov %edx,0xffffffa0(%ebp)
> 193: eb 0e jmp 1a3 <L1+0x18f>
> 195: 8b 45 a4 mov 0xffffffa4(%ebp),%eax
> 198: 89 04 24 mov %eax,(%esp)
> 19b: e8 fc ff ff ff call 19c <L1+0x188>
> 1a0: 89 45 a0 mov %eax,0xffffffa0(%ebp)
> 1a3: 8b 45 a0 mov 0xffffffa0(%ebp),%eax
> 1a6: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 1a9: 89 42 04 mov %eax,0x4(%edx)
> 1ac: c7 45 9c 00 00 00 00 movl $0x0,0xffffff9c(%ebp)
> 1b3: 8b 45 9c mov 0xffffff9c(%ebp),%eax
> 1b6: 05 00 00 00 10 add $0x10000000,%eax
> 1bb: 25 00 00 00 e0 and $0xe0000000,%eax
> 1c0: 85 c0 test %eax,%eax
> 1c2: 75 0e jne 1d2 <L1+0x1be>
> 1c4: 8b 55 9c mov 0xffffff9c(%ebp),%edx
> 1c7: 81 ea 00 00 00 30 sub $0x30000000,%edx
> 1cd: 89 55 98 mov %edx,0xffffff98(%ebp)
> 1d0: eb 0e jmp 1e0 <L1+0x1cc>
> 1d2: 8b 45 9c mov 0xffffff9c(%ebp),%eax
> 1d5: 89 04 24 mov %eax,(%esp)
> 1d8: e8 fc ff ff ff call 1d9 <L1+0x1c5>
> 1dd: 89 45 98 mov %eax,0xffffff98(%ebp)
> 1e0: 8b 45 98 mov 0xffffff98(%ebp),%eax
> 1e3: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 1e6: 89 42 08 mov %eax,0x8(%edx)
> 1e9: 8b 45 c4 mov 0xffffffc4(%ebp),%eax
> 1ec: 83 c0 04 add $0x4,%eax
> 1ef: a3 00 00 00 00 mov %eax,0x0
> 1f4: a1 00 00 00 00 mov 0x0,%eax
> 1f9: 83 c0 08 add $0x8,%eax
> 1fc: a3 00 00 00 00 mov %eax,0x0
> 201: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 204: 8b 02 mov (%edx),%eax
> 206: 89 44 24 04 mov %eax,0x4(%esp)
> 20a: a1 04 00 00 00 mov 0x4,%eax
> 20f: 89 04 24 mov %eax,(%esp)
> 212: e8 fc ff ff ff call 213 <L1+0x1ff>
> 217: 8b 45 c0 mov 0xffffffc0(%ebp),%eax
> 21a: a3 00 00 00 00 mov %eax,0x0
> 21f: a1 00 00 00 00 mov 0x0,%eax
> 224: 81 38 00 00 00 00 cmpl $0x0,(%eax)
> 22a: 75 02 jne 22e <L1+0x21a>
> 22c: eb 1e jmp 24c <L1+0x238>
> 22e: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 231: c7 02 00 00 00 00 movl $0x0,(%edx)
> 237: 8b 45 c4 mov 0xffffffc4(%ebp),%eax
> 23a: a3 00 00 00 00 mov %eax,0x0
> 23f: 83 c0 04 add $0x4,%eax
> 242: a3 00 00 00 00 mov %eax,0x0
> 247: e9 91 02 00 00 jmp 4dd <L1+0x4c9>
> 24c: a1 08 00 00 00 mov 0x8,%eax
> 251: 89 04 24 mov %eax,(%esp)
> 254: e8 fc ff ff ff call 255 <L1+0x241>
> 259: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 25c: 89 02 mov %eax,(%edx)
> 25e: 8b 45 bc mov 0xffffffbc(%ebp),%eax
> 261: 89 45 94 mov %eax,0xffffff94(%ebp)
> 264: 8b 45 94 mov 0xffffff94(%ebp),%eax
> 267: 05 00 00 00 10 add $0x10000000,%eax
> 26c: 25 00 00 00 e0 and $0xe0000000,%eax
> 271: 85 c0 test %eax,%eax
> 273: 75 0e jne 283 <L1+0x26f>
> 275: 8b 55 94 mov 0xffffff94(%ebp),%edx
> 278: 81 ea 00 00 00 30 sub $0x30000000,%edx
> 27e: 89 55 90 mov %edx,0xffffff90(%ebp)
> 281: eb 0e jmp 291 <L1+0x27d>
> 283: 8b 45 94 mov 0xffffff94(%ebp),%eax
> 286: 89 04 24 mov %eax,(%esp)
> 289: e8 fc ff ff ff call 28a <L1+0x276>
> 28e: 89 45 90 mov %eax,0xffffff90(%ebp)
> 291: 8b 45 90 mov 0xffffff90(%ebp),%eax
> 294: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 297: 89 42 04 mov %eax,0x4(%edx)
> 29a: c7 45 8c 01 00 00 00 movl $0x1,0xffffff8c(%ebp)
> 2a1: 8b 45 8c mov 0xffffff8c(%ebp),%eax
> 2a4: 05 00 00 00 10 add $0x10000000,%eax
> 2a9: 25 00 00 00 e0 and $0xe0000000,%eax
> 2ae: 85 c0 test %eax,%eax
> 2b0: 75 0e jne 2c0 <L1+0x2ac>
> 2b2: 8b 55 8c mov 0xffffff8c(%ebp),%edx
> 2b5: 81 ea 00 00 00 30 sub $0x30000000,%edx
> 2bb: 89 55 88 mov %edx,0xffffff88(%ebp)
> 2be: eb 0e jmp 2ce <L1+0x2ba>
> 2c0: 8b 45 8c mov 0xffffff8c(%ebp),%eax
> 2c3: 89 04 24 mov %eax,(%esp)
> 2c6: e8 fc ff ff ff call 2c7 <L1+0x2b3>
> 2cb: 89 45 88 mov %eax,0xffffff88(%ebp)
> 2ce: 8b 45 88 mov 0xffffff88(%ebp),%eax
> 2d1: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 2d4: 89 42 08 mov %eax,0x8(%edx)
> 2d7: 8b 45 c4 mov 0xffffffc4(%ebp),%eax
> 2da: 83 c0 04 add $0x4,%eax
> 2dd: a3 00 00 00 00 mov %eax,0x0
> 2e2: a1 00 00 00 00 mov 0x0,%eax
> 2e7: 83 c0 08 add $0x8,%eax
> 2ea: a3 00 00 00 00 mov %eax,0x0
> 2ef: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 2f2: 8b 02 mov (%edx),%eax
> 2f4: 89 44 24 04 mov %eax,0x4(%esp)
> 2f8: a1 08 00 00 00 mov 0x8,%eax
> 2fd: 89 04 24 mov %eax,(%esp)
> 300: e8 fc ff ff ff call 301 <L1+0x2ed>
> 305: 8b 45 c0 mov 0xffffffc0(%ebp),%eax
> 308: a3 00 00 00 00 mov %eax,0x0
> 30d: a1 00 00 00 00 mov 0x0,%eax
> 312: 8b 00 mov (%eax),%eax
> 314: 89 04 24 mov %eax,(%esp)
> 317: e8 fc ff ff ff call 318 <L1+0x304>
> 31c: 89 45 bc mov %eax,0xffffffbc(%ebp)
> 31f: c7 45 ec 00 00 00 00 movl $0x0,0xffffffec(%ebp)
> 326: c7 45 e8 00 00 00 00 movl $0x0,0xffffffe8(%ebp)
> 32d: c7 45 e4 10 00 00 00 movl $0x10,0xffffffe4(%ebp)
> 334: c7 45 e0 00 00 00 00 movl $0x0,0xffffffe0(%ebp)
> 33b: 8b 45 ec mov 0xffffffec(%ebp),%eax
> 33e: 03 45 e4 add 0xffffffe4(%ebp),%eax
> 341: 03 45 e8 add 0xffffffe8(%ebp),%eax
> 344: 83 c0 0f add $0xf,%eax
> 347: c1 e8 04 shr $0x4,%eax
> 34a: c1 e0 04 shl $0x4,%eax
> 34d: 29 c4 sub %eax,%esp
> 34f: 8d 44 24 0c lea 0xc(%esp),%eax
> 353: 89 45 e0 mov %eax,0xffffffe0(%ebp)
> 356: 8b 45 ec mov 0xffffffec(%ebp),%eax
> 359: 03 45 e4 add 0xffffffe4(%ebp),%eax
> 35c: 03 45 e8 add 0xffffffe8(%ebp),%eax
> 35f: 89 44 24 04 mov %eax,0x4(%esp)
> 363: 8b 45 e0 mov 0xffffffe0(%ebp),%eax
> 366: 89 04 24 mov %eax,(%esp)
> 369: e8 fc ff ff ff call 36a <L1+0x356>
> 36e: 8b 45 e0 mov 0xffffffe0(%ebp),%eax
> 371: 89 45 f0 mov %eax,0xfffffff0(%ebp)
> 374: c7 45 c8 01 00 00 00 movl $0x1,0xffffffc8(%ebp)
> 37b: c7 45 cc 01 00 00 00 movl $0x1,0xffffffcc(%ebp)
> 382: 8b 45 f0 mov 0xfffffff0(%ebp),%eax
> 385: 89 45 d0 mov %eax,0xffffffd0(%ebp)
> 388: 8d 55 c8 lea 0xffffffc8(%ebp),%edx
> 38b: 89 55 84 mov %edx,0xffffff84(%ebp)
> 38e: a1 00 00 00 00 mov 0x0,%eax
> 393: 89 04 24 mov %eax,(%esp)
> 396: e8 fc ff ff ff call 397 <L1+0x383>
> 39b: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 39e: 89 02 mov %eax,(%edx)
> 3a0: 8b 45 b8 mov 0xffffffb8(%ebp),%eax
> 3a3: 89 45 80 mov %eax,0xffffff80(%ebp)
> 3a6: 8b 45 80 mov 0xffffff80(%ebp),%eax
> 3a9: 05 00 00 00 10 add $0x10000000,%eax
> 3ae: 25 00 00 00 e0 and $0xe0000000,%eax
> 3b3: 85 c0 test %eax,%eax
> 3b5: 75 11 jne 3c8 <L1+0x3b4>
> 3b7: 8b 55 80 mov 0xffffff80(%ebp),%edx
> 3ba: 81 ea 00 00 00 30 sub $0x30000000,%edx
> 3c0: 89 95 7c ff ff ff mov %edx,0xffffff7c(%ebp)
> 3c6: eb 11 jmp 3d9 <L1+0x3c5>
> 3c8: 8b 45 80 mov 0xffffff80(%ebp),%eax
> 3cb: 89 04 24 mov %eax,(%esp)
> 3ce: e8 fc ff ff ff call 3cf <L1+0x3bb>
> 3d3: 89 85 7c ff ff ff mov %eax,0xffffff7c(%ebp)
> 3d9: 8b 85 7c ff ff ff mov 0xffffff7c(%ebp),%eax
> 3df: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 3e2: 89 42 04 mov %eax,0x4(%edx)
> 3e5: c7 85 78 ff ff ff 01 movl $0x1,0xffffff78(%ebp)
> 3ec: 00 00 00
> 3ef: 8b 85 78 ff ff ff mov 0xffffff78(%ebp),%eax
> 3f5: 05 00 00 00 10 add $0x10000000,%eax
> 3fa: 25 00 00 00 e0 and $0xe0000000,%eax
> 3ff: 85 c0 test %eax,%eax
> 401: 75 14 jne 417 <L1+0x403>
> 403: 8b 95 78 ff ff ff mov 0xffffff78(%ebp),%edx
> 409: 81 ea 00 00 00 30 sub $0x30000000,%edx
> 40f: 89 95 74 ff ff ff mov %edx,0xffffff74(%ebp)
> 415: eb 14 jmp 42b <L1+0x417>
> 417: 8b 85 78 ff ff ff mov 0xffffff78(%ebp),%eax
> 41d: 89 04 24 mov %eax,(%esp)
> 420: e8 fc ff ff ff call 421 <L1+0x40d>
> 425: 89 85 74 ff ff ff mov %eax,0xffffff74(%ebp)
> 42b: 8b 85 74 ff ff ff mov 0xffffff74(%ebp),%eax
> 431: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 434: 89 42 08 mov %eax,0x8(%edx)
> 437: 8b 45 c4 mov 0xffffffc4(%ebp),%eax
> 43a: 83 c0 04 add $0x4,%eax
> 43d: a3 00 00 00 00 mov %eax,0x0
> 442: a1 00 00 00 00 mov 0x0,%eax
> 447: 83 c0 08 add $0x8,%eax
> 44a: a3 00 00 00 00 mov %eax,0x0
> 44f: 8b 55 c4 mov 0xffffffc4(%ebp),%edx
> 452: 8b 02 mov (%edx),%eax
> 454: 89 44 24 04 mov %eax,0x4(%esp)
> 458: a1 00 00 00 00 mov 0x0,%eax
> 45d: 89 04 24 mov %eax,(%esp)
> 460: e8 fc ff ff ff call 461 <L1+0x44d>
> 465: 8b 45 c0 mov 0xffffffc0(%ebp),%eax
> 468: a3 00 00 00 00 mov %eax,0x0
> 46d: a1 00 00 00 00 mov 0x0,%eax
> 472: 8b 00 mov (%eax),%eax
> 474: 89 04 24 mov %eax,(%esp)
> 477: e8 fc ff ff ff call 478 <L1+0x464>
> 47c: 89 45 e0 mov %eax,0xffffffe0(%ebp)
> 47f: 8b 55 84 mov 0xffffff84(%ebp),%edx
> 482: 89 54 24 04 mov %edx,0x4(%esp)
> 486: 8b 45 e0 mov 0xffffffe0(%ebp),%eax
> 489: 89 04 24 mov %eax,(%esp)
> 48c: e8 fc ff ff ff call 48d <L1+0x479>
> 491: 89 45 e4 mov %eax,0xffffffe4(%ebp)
> 494: 83 7d e4 00 cmpl $0x0,0xffffffe4(%ebp)
> 498: 74 28 je 4c2 <L1+0x4ae>
> 49a: 8b 45 e4 mov 0xffffffe4(%ebp),%eax
> 49d: 83 c0 0f add $0xf,%eax
> 4a0: c1 e8 04 shr $0x4,%eax
> 4a3: c1 e0 04 shl $0x4,%eax
> 4a6: 29 c4 sub %eax,%esp
> 4a8: 8d 44 24 0c lea 0xc(%esp),%eax
> 4ac: 89 44 24 08 mov %eax,0x8(%esp)
> 4b0: 8b 45 84 mov 0xffffff84(%ebp),%eax
> 4b3: 89 44 24 04 mov %eax,0x4(%esp)
> 4b7: 8b 45 e0 mov 0xffffffe0(%ebp),%eax
> 4ba: 89 04 24 mov %eax,(%esp)
> 4bd: e8 fc ff ff ff call 4be <L1+0x4aa>
> 4c2: 8b 55 84 mov 0xffffff84(%ebp),%edx
> 4c5: 89 14 24 mov %edx,(%esp)
> 4c8: e8 fc ff ff ff call 4c9 <L1+0x4b5>
> 4cd: 89 04 24 mov %eax,(%esp)
> 4d0: e8 fc ff ff ff call 4d1 <L1+0x4bd>
> 4d5: 89 45 b8 mov %eax,0xffffffb8(%ebp)
> 4d8: e9 81 fc ff ff jmp 15e <L1+0x14a>
> 4dd: c9 leave
> 4de: c3 ret
> NIL
>
> >
>
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah