From: huntercr AT cs DOT purdue DOT edu (Charles Hunter) Subject: GCL take II ... To: DJGPP AT sun DOT soe DOT clarkson DOT edu (djgpp mailing list) Date: Wed, 5 Apr 1995 17:14:55 -0500 (EST) 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* "") (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)) ------------------------------------------------------------------------------