diff --git a/src/CHANGELOG b/src/CHANGELOG index ccd3b0223..4aa86f3c6 100644 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -685,8 +685,18 @@ ECLS 0.3 * Fix the compiler so that when it finds LOCALLY, MACROLET or SYMBOL-MACROLET at the top level, it processes their bodies as top - level forms as well. + level forms as well. For instance, this now works + (LOCALLY (EVAL-WHEN (:COMPILE-TOPLEVEL) (PRINT "HELLO"))) +* Implement loading of object files using the native "dlopen" function + which is present in most operating systems. Support for "dld" has + been dropped. + +* The dynamic linker in eval.d (link_call) truncated addresses larger + than MOST_POSITIVE_FIXNUM. + +* The routine that outputs addresses as hexadecimal numbers, and which + is used in print-unreadable, would only output the first digit. TODO: ===== @@ -713,8 +723,6 @@ TODO: * expand parse_namestring() to accept scaped strings, spaces, etc. -* fix FEerror* so that it accepts parameters. - * Remove most property lists from standard symbols. ;;; Local Variables: *** diff --git a/src/Makefile.in b/src/Makefile.in index bedb4a64b..da648aa4b 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -47,10 +47,11 @@ INSTALL_DATA = @INSTALL_DATA@ # Files -SUBDIR = c gmp crs -LIBRARIES = libecls.a libcrs.a +SUBDIR = c +LIBRARIES = libecls.a TARGETS = ecls #ifndef HAVE_LOCAL_GMP +SUBDIR += gmp LIBRARIES += libgmp.a #endif #ifdef GBC_BOEHM @@ -71,7 +72,7 @@ LSP_LIBRARIES += libclx.a # The makefiles of the directories in $SUBDIR. # Don't split this line: configure does grep on it -SUBDIR_MAKEFILES= c/Makefile crs/Makefile tk/Makefile doc/Makefile gc/Makefile +SUBDIR_MAKEFILES= c/Makefile tk/Makefile doc/Makefile gc/Makefile all: $(TARGETS) doc .PHONY: all @@ -85,9 +86,8 @@ eclx: ecls compile_rest.lsp ecls: ecls_min compile.lsp ./ecls_min < compile.lsp -ecls_min: $(LIBRARIES) @RSYM@ .gdbinit +ecls_min: $(LIBRARIES) .gdbinit $(CC) $(LDFLAGS) -o $@ c/cinit.o -L./ $(LIBRARIES) $(LIBS) - test "@RSYM@" = "" || ./rsym ecls_min ecls_min.sym .gdbinit: $(srcdir)/util/gdbinit cp $(srcdir)/util/gdbinit $@ @@ -96,9 +96,6 @@ libecls.a: cd c; $(MAKE) libgc.a: cd gc; $(MAKE) -libcrs.a @RSYM@: - cd crs; $(MAKE) - test "@RSYM@" = "" || cp crs/@RSYM@ . libgmp.a: cd gmp; $(MAKE); cp .libs/libgmp.a .. @@ -125,7 +122,6 @@ install: BUILD-STAMP test -d $(PREFIX)$(libdir)/h/private || (mkdir $(PREFIX)$(libdir)/h/private; chmod 755 $(PREFIX)$(libdir)/h/private) for i in $(srcdir)/gc/include/private/?*.h; do $(INSTALL_DATA) $$i $(PREFIX)$(libdir)/h/private/`basename $$i`; done #endif GBC_BOEHM - test "@RSYM@" = "" || $(INSTALL_PROGRAM) @RSYM@ $(PREFIX)$(libdir) cd c; $(MAKE) PREFIX="$(PREFIX)" install cd doc; $(MAKE) PREFIX="$(PREFIX)" install diff --git a/src/clos/macros.lsp b/src/clos/macros.lsp index 318929d48..2cb7a231c 100644 --- a/src/clos/macros.lsp +++ b/src/clos/macros.lsp @@ -12,9 +12,6 @@ (in-package "CLOS") -(eval-when (:compile-toplevel) - (print (si::compiled-function-block #'walker::walk-form))) - ;;; ---------------------------------------------------------------------- ;(proclaim '(DECLARATION VARIABLE-REBINDING)) diff --git a/src/cmp/cmpcfg.lsp.in b/src/cmp/cmpcfg.lsp.in index 520772fbb..8114212d0 100644 --- a/src/cmp/cmpcfg.lsp.in +++ b/src/cmp/cmpcfg.lsp.in @@ -5,4 +5,4 @@ (in-package "COMPILER") (setq compiler::*cc* "@CC@") (setq compiler::*cc-flags* "@CFLAGS@ -D@MACHINE@ @LSPCFLAGS@") -(setq compiler::*ld-flags* "-lecls -lcrs -lgmp @LDFLAGS@ @CLIBS@") +(setq compiler::*ld-flags* "-lecls -lgmp @LDFLAGS@ @CLIBS@") diff --git a/src/cmp/cmpmain.lsp b/src/cmp/cmpmain.lsp index 545cb83a4..30483b237 100644 --- a/src/cmp/cmpmain.lsp +++ b/src/cmp/cmpmain.lsp @@ -28,7 +28,8 @@ (defvar *cc-format* "~A ~A ~:[~*~;~A~] -I~A/h -w -c ~A -o ~A")) ;(defvar *cc-format* "~A ~A ~:[~*~;~A~] -I~A/h -c ~A -o ~A")) (defvar *ld-flags* "") -(defvar *ld-format* "~A -w -o ~A -L~A ~{~A ~} -llsp ~A") +(defvar *ld-format* "~A ~A -w -o ~A -L~A ~{~A ~} -llsp ~A") +(defvar *ld-shared-format* "ld -shared -o ~A -L~A ~{~A ~} ~A") (eval-when (compile eval) (defmacro get-output-pathname (file ext) @@ -52,7 +53,7 @@ (make-pathname :name (concatenate 'string "lib" name) :type "a" :defaults directory)) (defun compile-file-pathname (name &key output-file) - (merge-pathnames (or output-file name) #P".o")) + (merge-pathnames (or output-file name) #P".so")) (defun make-library (lib objects &key (output-dir "./")) (let* ((lib (string-upcase lib)) @@ -79,23 +80,24 @@ init_~A(cl_object) (delete-file (namestring libo))) liba)) -(defun linker-cc (o-pathname options) +(defun linker-cc (o-pathname options &optional (shared nil)) (safe-system (format nil *ld-format* - *cc* (namestring o-pathname) + *cc* + (if shared "-shared" "") + (namestring o-pathname) (namestring (translate-logical-pathname "SYS:")) options *ld-flags*))) -(defun rsym (name) - (let ((output (make-pathname :name (pathname-name name) :type "sym")) - (rsym (translate-logical-pathname "SYS:rsym"))) - (cond ((not (probe-file rsym)) - (error "rsym executable not found")) - ((not (probe-file name)) - (error "executable to be scanned not found")) - (t - (safe-system (format nil "~A ~A ~A" rsym name output)))))) +(defun shared-cc (o-pathname options &optional (shared nil)) + (safe-system + (format nil + *ld-shared-format* + (namestring o-pathname) + (namestring (translate-logical-pathname "SYS:")) + options + ""))) (defun build-ecls (name &rest components) (let ((c-name (make-pathname :name name :type "c")) @@ -106,9 +108,7 @@ init_~A(cl_object) #include \"ecls.h\" extern cl_object lisp_package; -#ifdef RSYM -extern cl_object siVsymbol_table; -#endif + void init_lisp_libs(void) { @@ -123,13 +123,9 @@ init_lisp_libs(void) (t (error "compiler::build-ecls wrong argument ~A" item)))) (format c-file " -#ifdef RSYM - SYM_VAL(siVsymbol_table) = make_simple_string(\"SYS:~A.sym\"); -#endif return;~%}~%" name)) (compiler-cc c-name o-name) (linker-cc name (cons (namestring o-name) ld-flags)) - (rsym name) (delete-file c-name) )) @@ -155,6 +151,9 @@ init_lisp_libs(void) #+PDE (setq sys:*source-pathname* (truename input-pathname)) + (when (and system-p load) + (error "Cannot load system files.")) + (when *compiler-in-use* (format t "~&;;; The compiler was called recursively.~%~ Cannot compile ~a." @@ -182,7 +181,9 @@ Cannot compile ~a." output-file)) (directory (pathname-directory output-default)) (name (pathname-name output-default)) - (o-pathname (get-output-pathname output-file "o")) + (o-pathname (get-output-pathname output-file "o")) + (so-pathname (if system-p o-pathname + (get-output-pathname output-file "so"))) (c-pathname (get-output-pathname c-file "c")) (h-pathname (get-output-pathname h-file "h")) (data-pathname (get-output-pathname data-file "data"))) @@ -234,23 +235,13 @@ Cannot compile ~a." (when *compile-verbose* (format t "~&;;; Calling the C compiler... ")) (compiler-cc c-pathname o-pathname) - (cond ((probe-file o-pathname) - (when load (load o-pathname)) + (unless system-p (shared-cc so-pathname (list o-pathname) t)) + (cond ((probe-file so-pathname) + (when load (load so-pathname)) (when *compile-verbose* (print-compiler-info) (format t "~&;;; Finished compiling ~a." (namestring input-pathname)))) - #+(or SYSTEM-V APOLLO) ;tito - ((probe-file (setq ob-name - (format nil "~a.o" - (pathname-name o-pathname)))) - (si:system (format nil "mv ~A ~A" (namestring ob-name) - (namestring o-pathname))) - (when load (load o-pathname)) - (when *compile-verbose* - (print-compiler-info) - (format t "~&;;; Finished compiling ~a." - (namestring input-pathname)))) (t (format t "~&;;; The C compiler failed to compile the intermediate file.~%") (setq *error-p* t)))) (*compile-verbose* @@ -260,12 +251,14 @@ Cannot compile ~a." (unless c-file (delete-file c-pathname)) (unless h-file (delete-file h-pathname)) (unless data-file (delete-file data-pathname)) - o-pathname) + (unless system-p (delete-file o-pathname)) + so-pathname) (progn (when (probe-file c-pathname) (delete-file c-pathname)) (when (probe-file h-pathname) (delete-file h-pathname)) (when (probe-file data-pathname) (delete-file data-pathname)) + (when (probe-file o-pathname) (delete-file o-pathname)) (format t "~&;;; No FASL generated.~%") (setq *error-p* t) (values)) @@ -339,7 +332,8 @@ Cannot compile ~a." (let ((c-pathname (make-pathname :name gazonk-name :type "c")) (h-pathname (make-pathname :name gazonk-name :type "h")) - (o-pathname (make-pathname :name gazonk-name :type "o"))) + (o-pathname (make-pathname :name gazonk-name :type "o")) + (so-pathname (make-pathname :name gazonk-name :type "so"))) (init-env) @@ -363,12 +357,14 @@ Cannot compile ~a." (when *compile-verbose* (format t "~&;;; Calling the C compiler... ")) (compiler-cc c-pathname o-pathname) + (shared-cc so-pathname (list o-pathname) t) (delete-file c-pathname) (delete-file h-pathname) - (cond ((probe-file o-pathname) - (load o-pathname :verbose nil) + (delete-file o-pathname) + (cond ((probe-file so-pathname) + (load so-pathname :verbose nil) (when *compile-verbose* (print-compiler-info)) - (delete-file o-pathname) + (delete-file so-pathname) (delete-file data-pathname)) (t (delete-file data-pathname) (format t "~&;;; The C compiler failed to compile~ @@ -380,6 +376,7 @@ Cannot compile ~a." (print c-pathname) (when (probe-file c-pathname) (delete-file c-pathname)) (when (probe-file h-pathname) (delete-file h-pathname)) + (when (probe-file so-pathname) (delete-file so-pathname)) (when (probe-file data-pathname) (delete-file data-pathname)) (format t "~&;;; Failed to compile ~s.~%" name) (setq *error-p* t) @@ -489,5 +486,15 @@ Cannot compile ~a." (t 3)) *safe-compile* *space* *speed*)) +(defun load-o-file (file verbose print) + (let ((tmp (merge-pathnames ".so" file))) + (shared-cc tmp (list file)) + (when (probe-file tmp) + (load tmp :verbose nil :print nil) + (delete-file tmp) + nil))) + +(push (cons "o" #'load-o-file) si::*load-hooks*) + ;;; ---------------------------------------------------------------------- (provide "compiler") diff --git a/src/cmp/cmputil.lsp b/src/cmp/cmputil.lsp index 14cd6410f..dc2408d31 100644 --- a/src/cmp/cmputil.lsp +++ b/src/cmp/cmputil.lsp @@ -172,7 +172,7 @@ (defun compiler-clear-compiler-properties (symbol) #-:CCL - (sys::unlink-symbol symbol) + ;(sys::unlink-symbol symbol) (remprop symbol 'package-operation) (remprop symbol 't1) (remprop symbol 't2) diff --git a/src/configure b/src/configure index 8691f50e0..c9ef97651 100755 --- a/src/configure +++ b/src/configure @@ -704,6 +704,9 @@ case $host_os in netbsd*) host="netbsd" ;; + solaris*) + host="sun4sol2" + ;; *) host="$host_os" ;; @@ -775,7 +778,7 @@ CC=gcc # We need gcc for variable length arrays # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:779: checking for $ac_word" >&5 +echo "configure:782: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -805,7 +808,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:809: checking for $ac_word" >&5 +echo "configure:812: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -856,7 +859,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:860: checking for $ac_word" >&5 +echo "configure:863: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -888,7 +891,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:892: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:895: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -899,12 +902,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 903 "configure" +#line 906 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:908: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -930,12 +933,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:934: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:937: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:939: checking whether we are using GNU C" >&5 +echo "configure:942: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -944,7 +947,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:948: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:951: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -963,7 +966,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:967: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:970: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -995,7 +998,7 @@ else fi echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:999: checking for POSIXized ISC" >&5 +echo "configure:1002: checking for POSIXized ISC" >&5 if test -d /etc/conf/kconfig.d && grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 then @@ -1016,7 +1019,7 @@ else fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1020: checking how to run the C preprocessor" >&5 +echo "configure:1023: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1031,13 +1034,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1041: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1044: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1048,13 +1051,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1058: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1061: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1065,13 +1068,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1075: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1078: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1098,7 +1101,7 @@ echo "$ac_t""$CPP" 1>&6 # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1102: checking for $ac_word" >&5 +echo "configure:1105: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1137,7 +1140,7 @@ fi # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:1141: checking for a BSD compatible install" >&5 +echo "configure:1144: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1190,7 +1193,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' # sets variables INSTALL, INSTALL_DATA, INSTALL_PROGRAM echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:1194: checking whether ln -s works" >&5 +echo "configure:1197: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1271,10 +1274,6 @@ configure___DLD=DLD configure___DLD=dld #endif -#ifdef RSYM -configure___RSYM=RSYM -#endif - #ifdef SETJMP configure___SETJMP=SETJMP #endif @@ -1326,12 +1325,11 @@ EOF - ### ### checks for UNIX variants that set DEFS ### echo $ac_n "checking for getpwnam in -lsun""... $ac_c" 1>&6 -echo "configure:1335: checking for getpwnam in -lsun" >&5 +echo "configure:1333: checking for getpwnam in -lsun" >&5 ac_lib_var=`echo sun'_'getpwnam | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1339,7 +1337,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsun $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1384,17 +1382,17 @@ for ac_hdr in sys/resource.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1388: checking for $ac_hdr" >&5 +echo "configure:1386: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1398: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1396: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1424,17 +1422,17 @@ for ac_hdr in sys/utsname.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1428: checking for $ac_hdr" >&5 +echo "configure:1426: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1438: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1436: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1463,12 +1461,12 @@ done for ac_func in nanosleep do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1467: checking for $ac_func" >&5 +echo "configure:1465: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1493: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -1526,14 +1524,14 @@ done ### checks for compiler characteristics ### echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:1530: checking whether byte ordering is bigendian" >&5 +echo "configure:1528: checking whether byte ordering is bigendian" >&5 if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_bigendian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat > conftest.$ac_ext < #include @@ -1544,11 +1542,11 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:1548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1546: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # It does; now see whether it defined to BIG_ENDIAN or not. cat > conftest.$ac_ext < #include @@ -1559,7 +1557,7 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:1563: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1561: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -1579,7 +1577,7 @@ if test "$cross_compiling" = yes; then { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1594: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_bigendian=no else @@ -1623,7 +1621,7 @@ fi # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:1627: checking for X" >&5 +echo "configure:1625: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -1685,12 +1683,12 @@ if test "$ac_x_includes" = NO; then # First, try using that file with no special directory specified. cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1694: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1692: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1759,14 +1757,14 @@ if test "$ac_x_libraries" = NO; then ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1768: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. @@ -1872,17 +1870,17 @@ else case "`(uname -sr) 2>/dev/null`" in "SunOS 5"*) echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:1876: checking whether -R must be followed by a space" >&5 +echo "configure:1874: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_nospace=yes else @@ -1898,14 +1896,14 @@ rm -f conftest* else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1907: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_space=yes else @@ -1937,7 +1935,7 @@ rm -f conftest* # libraries were built with DECnet support. And karl@cs.umb.edu says # the Alpha needs dnet_stub (dnet does not exist). echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:1941: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:1939: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1945,7 +1943,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldnet $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1978,7 +1976,7 @@ fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:1982: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:1980: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1986,7 +1984,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldnet_stub $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1999: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2026,12 +2024,12 @@ fi # The nsl library prevents programs from opening the X display # on Irix 5.2, according to dickey@clark.net. echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:2030: checking for gethostbyname" >&5 +echo "configure:2028: checking for gethostbyname" >&5 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2056: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -2075,7 +2073,7 @@ fi if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:2079: checking for gethostbyname in -lnsl" >&5 +echo "configure:2077: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2083,7 +2081,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2124,12 +2122,12 @@ fi # -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:2128: checking for connect" >&5 +echo "configure:2126: checking for connect" >&5 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2154: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -2173,7 +2171,7 @@ fi if test $ac_cv_func_connect = no; then echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 -echo "configure:2177: checking for connect in -lsocket" >&5 +echo "configure:2175: checking for connect in -lsocket" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2181,7 +2179,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2216,12 +2214,12 @@ fi # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:2220: checking for remove" >&5 +echo "configure:2218: checking for remove" >&5 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_remove=yes" else @@ -2265,7 +2263,7 @@ fi if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:2269: checking for remove in -lposix" >&5 +echo "configure:2267: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2273,7 +2271,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lposix $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2308,12 +2306,12 @@ fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:2312: checking for shmat" >&5 +echo "configure:2310: checking for shmat" >&5 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2338: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else @@ -2357,7 +2355,7 @@ fi if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:2361: checking for shmat in -lipc" >&5 +echo "configure:2359: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2365,7 +2363,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lipc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2378: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2409,7 +2407,7 @@ fi # libraries we check for below, so use a different variable. # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:2413: checking for IceConnectionNumber in -lICE" >&5 +echo "configure:2411: checking for IceConnectionNumber in -lICE" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2417,7 +2415,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lICE $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2430: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2590,8 +2588,8 @@ ac_given_INSTALL="$INSTALL" trap 'rm -fr `echo "h/config.h compile.lsp compile2.lsp compile_rest.lsp bare.lsp lsp/config.lsp cmp/cmpcfg.lsp lsp/load.lsp clos/load.lsp cmp/load.lsp - ../Makefile Makefile c/Makefile crs/Makefile doc/Makefile - tk/Makefile clx/defsys.lsp tests/Makefile ansi-tests/Makefile gabriel/Makefile + ../Makefile Makefile c/Makefile doc/Makefile + tk/Makeile clx/defsys.lsp tests/Makefile ansi-tests/Makefile gabriel/Makefile lsp/defsys.lsp cmp/defsys.lsp clos/defsys.lsp gc/Makefile h/config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF diff --git a/src/configure.in b/src/configure.in index 01d44fc8f..89efadca1 100644 --- a/src/configure.in +++ b/src/configure.in @@ -104,6 +104,9 @@ case $host_os in netbsd*) host="netbsd" ;; + solaris*) + host="sun4sol2" + ;; *) host="$host_os" ;; @@ -211,10 +214,6 @@ configure___DLD=DLD configure___DLD=dld #endif -#ifdef RSYM -configure___RSYM=RSYM -#endif - #ifdef SETJMP configure___SETJMP=SETJMP #endif @@ -255,7 +254,6 @@ AC_SUBST(LDFLAGS) AC_SUBST(ILDFLAGS) AC_SUBST(UNEXEC) AC_SUBST(DLD) -AC_SUBST(RSYM) AC_SUBST(SETJMP) AC_SUBST(SETJMPO) AC_SUBST(architecture) @@ -329,8 +327,8 @@ CLIBS="-lgmp ${CLIBS}" ### AC_OUTPUT(h/config.h compile.lsp compile2.lsp compile_rest.lsp bare.lsp lsp/config.lsp cmp/cmpcfg.lsp lsp/load.lsp clos/load.lsp cmp/load.lsp - ../Makefile Makefile c/Makefile crs/Makefile doc/Makefile - tk/Makefile clx/defsys.lsp tests/Makefile ansi-tests/Makefile gabriel/Makefile + ../Makefile Makefile c/Makefile doc/Makefile + tk/Makeile clx/defsys.lsp tests/Makefile ansi-tests/Makefile gabriel/Makefile lsp/defsys.lsp cmp/defsys.lsp clos/defsys.lsp gc/Makefile, # Fix machine dependencies in Makefiles diff --git a/src/gabriel/Makefile.in b/src/gabriel/Makefile.in index 34e273d7f..b047497bd 100644 --- a/src/gabriel/Makefile.in +++ b/src/gabriel/Makefile.in @@ -2,7 +2,7 @@ top_srcdir=@top_srcdir@ srcdir=@srcdir@ FILES = CMUCLc ECLSc CLISPc CMUCLi ECLSi CLISPi -LISP ?= ../ecls -eval '(setq si::*system-directory* "../")' +LISP ?= ../ecls -eval '(setf (logical-pathname-translations "SYS") '"'"'(("SYS:*.*" "../*.*")))' NAME ?= ECLSc COMPILE ?= NIL diff --git a/src/gabriel/test-help.lsp b/src/gabriel/test-help.lsp index 7deede123..6f027c07f 100644 --- a/src/gabriel/test-help.lsp +++ b/src/gabriel/test-help.lsp @@ -81,9 +81,10 @@ (proclaim-file source-file) (compile-file source-file :output-file fasl-file #+ecls :c-file #+ecls t #+ecls :h-file #+ecls t) - (load fasl-file)) + (print fasl-file) + (load fasl-file :verbose t)) (t - (load source-file))) + (load source-file :verbose t))) (if (and (not given) (setq tem (assoc file +repeats+ :test 'equalp))) (setq repeat (second tem))) diff --git a/src/util/gdbinit b/src/util/gdbinit index d712e02d1..b28d57b9b 100644 --- a/src/util/gdbinit +++ b/src/util/gdbinit @@ -2,12 +2,14 @@ # Recommended settings for debuggin either ecls_min or ecls. # delete break -break Lcos -break Lerror +break clLcos +break clLerror break CEerror break FEerror break FEunbound_variable break FEundefined_function break FEwrong_type_argument break FEinvalid_function +break FEcondition +break error set confirm off \ No newline at end of file