Mail Archives: djgpp/1995/04/05/19:13:29
I gave another go at GNU Common LISP and I am stuck with the same
crash everytime....
Could someone please interpret this dump? I'd post the source, but
it is about 4MB.
the makefile executes this line after everything is compiled:
raw_gcl ../unixport/ < gcldos.lsp
[ unixport is the current directory BTW ]
and this yeilds:
Exception 250 (0xfa) at eip=dd034
eax=0000010b ebx=0011afd8 ecx=000d08b4 edx=00001b42 esi=7ffffe00 edi=000048d2
ebp=7ffffd98 esp=7ffffd7c cs=d8 ds=48 es=48 fs=48 gs=48 ss=48 cr2=000007f0
Call frame traceback EIPs:
0x000dd034
0x000d0829
0x000015d8
0x000015e9
0x000013a6
this is definately related to the first argument ... if it is in a different
format such as ..\unixport or even ../unixport etc... it does not crash
but says that it cannot find the "system directory" I am learning LISP as
I go so I'm afraid that means little to me. arg 1 is taken to be the
system dir in the code, but I am not sure it is even making it to that...
I am pretty sure the code is looking for a file or files that don't exist.
I'm running current versions of everything.. djgpp 1.2m4 on a 386 with 8MB
nodpmi, using emu387, qemm etc...
Any guesses? I'm open to anything...
--Charles
here's gcldos.lsp :
______________________________________________________________________________
(in-package "COMPILER")
(in-package "SYSTEM")
(in-package "USER")
(in-package "LISP")
(lisp::in-package "SLOOP")
;;Appropriate for Austin
(setq SYSTEM:*DEFAULT-TIME-ZONE* 6)
(in-package "USER")
(progn (allocate 'cons 100) (allocate 'string 40)
(system:init-system) (gbc t)
(si::multiply-bignum-stack 25)
(or lisp::*link-array*
(setq lisp::*link-array*
(make-array 500 :element-type 'fixnum :fill-pointer 0)))
(use-fast-links t)(setq compiler::*cc* "gcc -DVOL=volatile")(si::build-symbol-table)
(setq compiler::*cmpinclude* "<cmpinclude.h>") (load #"../cmpnew/cmpmain.lsp") (gbc t) (load #"../cmpnew/lfun_list.lsp")
(gbc t) (load #"../cmpnew/cmpopt.lsp") (gbc t)
(load #"../lsp/auto.lsp") (gbc t)
(defun si::src-path (x) (si::string-concatenate "/gcl/" x))
(when compiler::*cmpinclude-string*
(with-open-file (st "../h/cmpinclude.h")
(let
((tem (make-array (file-length st) :element-type 'standard-char
:static t)))
(if (si::fread tem 0 (length tem) st)
(setq compiler::*cmpinclude-string* tem)))))
;;compile-file is in cmpmain.lsp
(setf (symbol-function 'si:clear-compiler-properties)
(symbol-function 'compiler::compiler-clear-compiler-properties))
; (load "../lsp/setdoc.lsp")
(setq system::*old-top-level* (symbol-function 'system:top-level))
(defun system::gcl-top-level nil
(when (> (system:argc) 1)
(setq system:*system-directory* (system:argv 1)))
(when (>= (system:argc) 5)
(let ((system::*quit-tag* (cons nil nil))
(system::*quit-tags* nil) (system::*break-level* '())
(system::*break-env* nil) (system::*ihs-base* 1)
(system::*ihs-top* 1) (system::*current-ihs* 1)
(*break-enable* nil))
(system:error-set
'(let ((system::flags (system:argv 4)))
(setq system:*system-directory*
(pathname (system:argv 1)))
(compile-file (system:argv 2) :output-file
(system:argv 3) :o-file
(case (schar system::flags 1) (#\0 nil) (#\1 t)
(t (system:argv 5)))
:c-file
(case (schar system::flags 2) (#\0 nil) (#\1 t)
(t (system:argv 6)))
:h-file
(case (schar system::flags 3) (#\0 nil) (#\1 t)
(t (system:argv 7)))
:data-file
(case (schar system::flags 4) (#\0 nil) (#\1 t)
(t (system:argv 8)))
:system-p
(if (char-equal (schar system::flags 0) #\S) t
nil))))
(bye (if compiler::*error-p* 1 0))))
(format t "GCL (GNU Common Lisp) ~A~%~a~%" "Version(1.617) Tue Nov 24 11:34:34 CST 1992"
"Contains Enhancements by W. Schelter")
(setq si::*ihs-top* 1)
(in-package 'system::user) (incf system::*ihs-top* 2)
(funcall system::*old-top-level*))
(setq si::*gcl-version* 600)
(setq si::*gcl-version* '617)(defun lisp-imp'lementation-version nil (format nil "1-~a" si::*gcl-version*))
(setq si:*inhibit-macro-special* t)
;(setq *modules* nil)
(gbc t) (system:reset-gbc-count)
(allocate 'cons 200)
(defun system:top-level nil (system::gcl-top-level))
(unintern 'system)
(unintern 'lisp)
(unintern 'compiler)
(unintern 'user)
(system:save-system "saved_gcl") (bye)
(defun system:top-level nil (system::gcl-top-level))
(save "saved_gcl") (bye))
------------------------------------------------------------------------------
- Raw text -