gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] Re: [Axiom-developer] Re: lsp/Makefile.pamphlet


From: root
Subject: [Gcl-devel] Re: [Axiom-developer] Re: lsp/Makefile.pamphlet
Date: Thu, 16 Dec 2004 13:46:26 -0500

Camm,

Here are the known patches:


=========================================================
AXIOM ONLY.... you don't care but included for completeness
=========================================================
gcl-2.6.5w.cmpnew.gcl_cmpcall.lsp.patch
=========================================================
--- gcl_cmpcall.lsp     2003-09-13 22:30:33.000000000 -0400
+++ gcl_cmpcall.lsp.tpd 2003-10-22 23:34:52.000000000 -0400
@@ -264,7 +264,9 @@
             (wt-label *exit*))
       (unwind-no-exit 'tail-recursion-mark)
       (wt-nl "goto TTL;")
-      (cmpnote "Tail-recursive call of ~s was replaced by iteration." fname))
+; 20031022000 tpd we don't need to know this
+;      (cmpnote "Tail-recursive call of ~s was replaced by iteration." fname)
+      )
 
      ;;; Open-codable function call.
      ((and (listp args)


=========================================================
AXIOM ONLY.... you don't care but included for completeness
=========================================================
gcl-2.6.5w.cmpnew.gcl_cmpflet.lsp.patch
=========================================================
--- gcl_cmpflet.lsp     2004-02-21 15:51:24.000000000 -0500
+++ gcl_cmpflet.lsp.tpd 2004-02-21 15:51:50.000000000 -0500
@@ -390,8 +390,10 @@
           (wt-label *exit*))
     (unwind-no-exit 'tail-recursion-mark)
     (wt-nl "goto TTL;")
-    (cmpnote "Tail-recursive call of ~s was replaced by iteration."
-             (fun-name (car fd))))
+; 20031022000 tpd we don't need to know this
+;    (cmpnote "Tail-recursive call of ~s was replaced by iteration."
+;             (fun-name (car fd)))
+    )
    (t (push-args args)
       (wt-nl "L" (fun-cfun (car fd)) "(")
       (dotimes** (n (fun-level (car fd))) (wt "base" n ","))


=========================================================
gcl-2.6.5w.h.gmp_wrappers.h.patch
=========================================================
--- gmp_wrappers.h.bb   Fri Sep 17 13:38:59 2004
+++ gmp_wrappers.h      Fri Sep 17 13:39:35 2004
@@ -96,8 +96,8 @@
 
 #define MEM_GMP_CALL(n_,rt_,a_,s_,b_...) \
    GMP_EXTERN_INLINE Join(RF_,rt_) Join(m,a_)(Join(P,n_)(b_)) { \
-           Join(RD_,rt_);\
            int j;\
+          Join(RD_,rt_);\
           jmp_gmp=0;\
            if ((j=setjmp(gmp_jmp)))\
               GBC(j);\

=========================================================
AXIOM ONLY.... you don't care but included for completeness
=========================================================
gcl-2.6.5w.h.linux.defs.patch
=========================================================
--- linux.defs  2002-09-12 00:38:49.000000000 -0400
+++ linux.defs.tpd      2003-10-22 23:42:02.000000000 -0400
@@ -8,6 +8,10 @@
 
 # Machine dependent makefile definitions for intel 386,486 running linux
 
+# 20031022000 tpd link Axiom's code into the image
+EXTRAS = ${OBJ}/${SYS}/lib/cfuns-c.o ${OBJ}/${SYS}/lib/sockio-c.o
+OFLAG = -O
+
 LBINDIR=/usr/local/bin
 
 #OFLAG =  -g -Wall


=========================================================
gcl-2.6.5w.h.mingw.defs.patch
=========================================================
--- mingw.defs  Wed Dec 15 01:46:02 2004
+++ mingw.defs.new      Wed Dec 15 01:46:30 2004
@@ -20,7 +20,7 @@
 FIRST_FILE   = $(ODIR)/firstfile.o
 LAST_FILE    = $(ODIR)/lastfile.o
 LIBFILES     = bcmp.o bzero.o bcopy.o
-EXTRAS       = ${ODIR}/mingwin.o ${ODIR}/mingfile.o
+EXTRAS       = ${ODIR}/mingwin.o ${ODIR}/mingfile.o 
${OBJ}/${SYS}/lib/cfuns-c.o ${OBJ}/${SYS}/lib/sockio-c.o
 
 # When using SFASL it is good to have (si::build-symbol-table)
 INITFORM     = (si::build-symbol-table)


=========================================================
gcl-2.6.5w.o.alloc.c.patch
=========================================================
--- alloc.c     Wed Dec 15 01:37:29 2004
+++ alloc.c.new Wed Dec 15 01:39:06 2004
@@ -1485,7 +1485,17 @@
                RECREATE_HEAP
 #endif
                ;
-          }
+#ifdef       __MINGW32__
+                /* If malloc() gets called by the C runtime before
+                 * main starts and the shared memory is not yet
+                 * initialised causing boofo.
+                 * SET_REAL_MAXPAGE calls init_shared_memory().
+                 * This problem arose with gcc 3.4.2 and new libs.
+                 */
+                SET_REAL_MAXPAGE
+                ;
+#endif
+            }
        }
 
 #endif 

=========================================================
gcl-2.6.5w.o.mingfile.c.patch
=========================================================
--- mingfile.c  Wed Dec 15 01:49:32 2004
+++ mingfile.c.new      Wed Dec 15 01:49:48 2004
@@ -10,7 +10,7 @@
        object path;
        check_arg(1);
        check_type_or_pathname_string_symbol_stream(&vs_base[0]);
-       path = vs_base[0] = truename(coerce_to_pathname(vs_base[0]));
+       path = vs_base[0] = coerce_to_pathname(vs_base[0]);
        
        if (vs_base[0]->pn.pn_name==Cnil && vs_base[0]->pn.pn_type==Cnil) {
                coerce_to_filename(vs_base[0], filename);

=========================================================
gcl-2.6.5w.o.unixfsys.c.patch
=========================================================
--- unixfsys.c  Wed Dec 15 01:53:18 2004
+++ unixfsys.c.new      Wed Dec 15 01:53:35 2004
@@ -31,6 +31,10 @@
 #include <pwd.h>
 #endif
 
+#ifdef __MINGW32__ 
+#  include <windows.h> 
+#endif 
+
 #ifdef BSD
 #define HAVE_RENAME
 #endif
@@ -211,6 +215,10 @@
 {
   object namestring;
   namestring = coerce_to_namestring(pathname);
+  if ( pathname == Cnil ) { 
+     FEerror ( "NIL argument.", 1, pathname ); 
+  } 
+    
 #ifndef NO_PWD_H  
   if(namestring->st.st_self[0]=='~')
     {char name[20];
@@ -259,40 +267,67 @@
        char current_directory[MAXPATHLEN];
        char directory[MAXPATHLEN];
        static char *getwd(char *buffer);
+#ifdef __MINGW32__ 
+        DWORD current_directory_length =
+            GetCurrentDirectory ( MAXPATHLEN, current_directory ); 
+        if ( MAXPATHLEN < current_directory_length ) { 
+           FEerror ( "truename got a current directory name larger than 
MAXPATHLEN", 1, "" ); 
+        } 
+        if ( 0 == current_directory_length ) { 
+           FEerror ( "truename could not determine the current directory.", 1, 
"" ); 
+        } 
+#else 
+        getwd(current_directory); 
+#endif 
+    
        coerce_to_filename(pathname, filename);
-
-
        
        for (p = filename, q = 0;  *p != '\0';  p++)
                if (*p == '/')
                        q = p;
        if (q == filename) {
                q++;
-               getwd(current_directory);
                p = "/";
        } else if (q == 0) {
                q = filename;
-               p = getwd(current_directory);
+               p = current_directory;
        } else
 #ifdef __MINGW32__
-         if (q[-1]==':') {
-           int current = (q++, q[0]);
-           q[0]=0;
-           getwd(current_directory);
-           if (chdir(filename) < 0)
-             FEerror("Cannot get the truename of ~S.", 1, pathname);
-           p = getwd(directory);
-           if (p[1]==':' && p[2]=='\\' && p[3]==0) p[2]=0;
-           q[0]=current;
+          if ( ( q > filename ) && ( q[-1] == ':' ) ) {
+            int current = (q++, q[0]);
+            q[0]=0;
+            if (chdir(filename) < 0)
+              FEerror("Cannot get the truename of ~S.", 1, pathname);
+             current_directory_length =
+               GetCurrentDirectory ( MAXPATHLEN, directory );
+             if ( MAXPATHLEN < current_directory_length ) { 
+               FEerror ( "truename got a current directory name larger than 
MAXPATHLEN", 1, "" ); 
+             } 
+             if ( 0 == current_directory_length ) { 
+               FEerror ( "truename could not determine the current 
directory.", 1, "" ); 
+             } 
+             p = directory; 
+             if ( p[1]==':' && ( p[2]=='\\' || p[2]=='/' ) && p[3]==0 ) 
p[2]=0; 
+            q[0]=current;
           }
          else
 #endif 
          {
                *q++ = '\0';
-               getwd(current_directory);
                if (chdir(filename) < 0)
                    FEerror("Cannot get the truename of ~S.", 1, pathname);
+#ifdef __MINGW32__ 
+                current_directory_length = GetCurrentDirectory ( MAXPATHLEN, 
directory ); 
+                if ( MAXPATHLEN < current_directory_length ) { 
+                    FEerror ( "truename got a current directory name larger 
than MAXPATHLEN", 1, "" ); 
+                } 
+                if ( 0 == current_directory_length ) { 
+                    FEerror ( "truename could not determine the current 
directory.", 1, "" ); 
+                } 
+                p = directory; 
+#else 
                p = getwd(directory);
+#endif                
        }
        if (p[0] == '/' && p[1] == '\0') {
                if (strcmp(q, "..") == 0)
@@ -327,6 +362,18 @@
        struct stat filestatus;
 
        coerce_to_filename(file, filename);
+
+#ifdef __MINGW32__
+        {
+            char *p;
+            for (p = filename;  *p != '\0';  p++);
+            if ( (p > filename) &&
+                 ( ( *(p-1) == '/' ) || ( *(p-1) == '\\' ) ) ) {
+               *(p-1) = '\0'; 
+            }
+        }
+#endif        
+
        if (stat(filename, &filestatus) >= 0)
          {
 #ifdef AIX

=========================================================
AXIOM ONLY.... you don't care but included for completeness
=========================================================
gcl-2.6.5w.unixport.init_gcl.lsp.in.patch
=========================================================
--- init_gcl.lsp.in     Wed Apr  7 23:12:55 2004
+++ init_gcl.lsp.in.tpd Wed Apr  7 23:13:25 2004
@@ -84,8 +84,8 @@
         (bye (if (or compiler::*error-p* (equal result '(nil))) 1 0))))
    (cond ((si::get-command-arg "-batch")
          (setq si::*top-level-hook* 'bye))
-        ((si::get-command-arg "-f"))
-        (t (format t si::*system-banner*)))
+        ((si::get-command-arg "-f")))
+;       (t (format t si::*system-banner*)))
    (setq si::*ihs-top* 1)
    (in-package 'system::user) (incf system::*ihs-top* 2)
    (funcall system::*old-top-level*))


=========================================================
gcl-2.6.5w.unixport.makefile.patch
=========================================================
--- makefile    Tue Dec  7 18:46:09 2004
+++ makefile.tpd        Tue Dec  7 18:47:13 2004
@@ -14,7 +14,8 @@
 PORTDIR = $(shell pwd)
 
 LD_LIBS_PRE=$(FIRST_FILE) $(addprefix -u ,$(PATCHED_SYMBOLS))
-LD_LIBS_POST=$(LIBS) $(LIBC) -lgclp $(LAST_FILE)
+# 20031022000 tpd link axiom's C library code.
+LD_LIBS_POST=$(LIBS) $(LIBC) -lgclp ${OBJ}/${SYS}/lib/libspad.a $(LAST_FILE)
 
 ifeq ($(ARRS),)
 ARRS:=ar rs
@@ -28,7 +29,7 @@
        rm -rf gmp
        mkdir gmp
        a="$^" ; \
-       for i in $^ ; do \
+       for i in $$a ; do \
                cp $$i gmp/$$(echo $$i | sed -e 's,\.\./,,1' -e 's,/,_,g') ; \
        done
        touch $@





reply via email to

[Prev in Thread] Current Thread [Next in Thread]