gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] Re: On statically linked Axiom (was: static lisp and rpms)


From: Camm Maguire
Subject: [Gcl-devel] Re: On statically linked Axiom (was: static lisp and rpms)
Date: 23 Oct 2003 12:55:41 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!  OK, thanks for the report -- I've just committed a fix in
cvs 2.6.1 and head.  The patch is in two parts, one loads weak symbols
as well as undefined symbols into the bfd symbol table, and the other
maps the 't' and 'nil stream descriptors properly in optimized
references to read-char.  These will be in the next stable and
unstable release on the temp site.

Take care,

Index: read.d
===================================================================
RCS file: /cvsroot/gcl/gcl/o/read.d,v
retrieving revision 1.14.4.1.2.2.2.2
diff -u -r1.14.4.1.2.2.2.2 read.d
--- read.d      14 Sep 2003 02:30:45 -0000      1.14.4.1.2.2.2.2
+++ read.d      23 Oct 2003 16:37:07 -0000
@@ -2298,19 +2298,30 @@
 @)
 
 object
-read_byte1(str,eof)
-object str,eof;
-{if (stream_at_end(str))
-   return eof;
- return make_fixnum(readc_stream(str));}
+read_byte1(strm,eof)
+object strm,eof;
+{
+  if (strm == Cnil)
+    strm = symbol_value(sLAstandard_inputA);
+  else if (strm == Ct)
+    strm = symbol_value(sLAterminal_ioA);
+  if (stream_at_end(strm))
+    return eof;
+  return make_fixnum(readc_stream(strm));
+}
 
 object
-read_char1(str,eof)
-object str,eof;
-{if (stream_at_end(str))
-   return eof;
- return code_char(readc_stream(str));}
-
+read_char1(strm,eof)
+object strm,eof;
+{
+  if (strm == Cnil)
+    strm = symbol_value(sLAstandard_inputA);
+  else if (strm == Ct)
+    strm = symbol_value(sLAterminal_ioA);
+  if (stream_at_end(strm))
+    return eof;
+  return code_char(readc_stream(strm));
+}
 
 @(defun copy_readtable (&optional (from `current_readtable()`) to)
 @
Index: sfasli.c
===================================================================
RCS file: /cvsroot/gcl/gcl/o/sfasli.c,v
retrieving revision 1.10.4.2.2.1
diff -u -r1.10.4.2.2.1 sfasli.c
--- sfasli.c    6 Sep 2003 17:22:50 -0000       1.10.4.2.2.1
+++ sfasli.c    23 Oct 2003 16:37:07 -0000
@@ -59,7 +59,7 @@
     if (!*q[u]->name)
       continue;
 
-    if (strncmp(q[u]->section->name,"*UND*",5))
+    if (strncmp(q[u]->section->name,"*UND*",5) && ! q[u]->flags & BSF_WEAK)
       continue;
 
     if ((c=(char *)strstr(q[u]->name,"@@"))) {


"Bill Page" <address@hidden> writes:

> Tim, David,
> 
> You might recall that on Thursday, October 16, 2003 9:28 AM
> Camm Maquire wrote:
> 
> > 
> > Latest 2.6.1 and CVS HEAD has a --enable-static configure 
> > option. There may be some issues when using readline in this 
> > mode, but I haven't yet had a chance to plumb the bottom of
> > that.
> > 
> 
> On Monday, October 20, 2003 11:45 PM Tim wrote:
> 
> > 
> > The statically linked GCL image has a problem:
> > 
> > make file foo.lisp:
> > 
> > (defun test (st) (read-char st))
> > 
> > at lisp prompt:
> > 
> > >(compile-file "foo.lisp")
> > >(load "foo.o")
> > 
> 
> I tried this under Windows with GCL 2.6.1 which is statically
> linked without readline by default (I think?). It worked fine.
> 
> So it seems that moving to 2.6.1, building with the new
> .\configure --enable-static option and eliminating readline
> might correct your static linking problem.
> 
> Cheers,
> Bill Page.
> 
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

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