--- Begin Message ---
 | From: Thomas Bushnell BSG <[EMAIL PROTECTED]>
 | Date: Thu, 27 Oct 2005 11:53:31 -0700
 | 
 | Hi Aubrey, I've taken over maintenance of scm for Debian, and I'd
 | really like to get it into the next Debian stable release.  The
 | problem traditionally has been making it work on the weirder
 | architectures that Debian supports...
 | 
 | At the moment, it doesn't build on ia64, s390, arm, and m68k...
 | 
 | The failure on m68k seems to be a problem with system header files,
 | and may not be anything akimbo in scm at all.
 | 
 | The ia64 problem is a failure in testing continuations when scmlit
 | runs its tests; it reports "ERROR: segment violation 11".  The
 | compile also reports lots of "cast to pointer from integer of
 | different size" warnings. I believe scm has never built
 | successfully on Debian ia64.  (See bugs.debian.org/335980)

A couple years ago Martin Ward made an ia64 machine available to me
and I fixed some SCM problems on it, but didn't get past the
continuations.  Appended is the relevant correspondence.

To fix it one must understand how the ia64 stack works.
http://dmalloc.com/forums/topic_show.pl?tid=104 says the stack must be
16-byte aligned.  Off the top of my head I don't see why that would
make a difference in copying the stack when marking from the stack
works.

Do you know an ia64 expert?

-----------------
From: Aubrey Jaffer <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
In-reply-to: <[EMAIL PROTECTED]> (message from
        Martin Ward on Mon, 8 Sep 2003 18:48:56 +0100)
Subject: Re: SCM on ia64
Date: Wed, 24 Sep 2003 11:19:19 -0400 (EDT)

 | From: Martin Ward <[EMAIL PROTECTED]>
 | Date: Mon, 8 Sep 2003 18:48:56 +0100
 | 
 | De Montfort University has a snazzy new machine with 64 bit
 | processors (ia54).
 | 
 | Adding:
 | 
 | #define SHORT_INT
 | 
 | to scmfig.h doesn't seem to work: I still get lots of "cast to
 | pointer from integer of different size" warnings and the executable
 | does not work:

With current development sources and

  #define CHEAP_CONTINUATIONS

The executable made by "make scmlit" works.  "make scmlit" and "make
checklit" will fail the TEST-CONT in r4rstest.scm because it doesn't
have full continuations.  If you remove (test-cont) from the Makefile
"checklit:" target, the "make checklit" should exit successfully.

The other builds I tried fail in GC.  So the stack, register, or
memory marking is probably responsible.  I will continue working on
that.

-----------------
From: Aubrey Jaffer <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
In-reply-to: <[EMAIL PROTECTED]> (message from
        Aubrey Jaffer on Wed, 24 Sep 2003 11:19:19 -0400 (EDT))
Subject: Re: SCM on ia64
Date: Thu,  9 Oct 2003 00:36:06 -0400 (EDT)

 | From: Aubrey Jaffer <[EMAIL PROTECTED]>
 | Date: Wed, 24 Sep 2003 11:19:19 -0400 (EDT)
 | 
 | The executable made by "make scmlit" works.  "make scmlit" and
 | "make checklit" will fail the TEST-CONT in r4rstest.scm because it
 | doesn't have full continuations.  If you remove (test-cont) from
 | the Makefile "checklit:" target, the "make checklit" should exit
 | successfully.
 | 
 | The other builds I tried fail in GC.  So the stack, register, or
 | memory marking is probably responsible.  I will continue working on
 | that.

Compiling with "-O2" was responsible for most of the problems.  With
it removed, "make scm" produces a working executable.  Bignums and
dynamic-linking work.  Dump and non-escape continuations do not.

Dump code is taken from Emacs unexec.  If there is a working ia64
unexec, then it can be ported to SCM.

Getting continuations to work requires finding an architecture
description file or reading through the ia64 specs.

-----------------
From: <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
In-reply-to: <[EMAIL PROTECTED]> (message from
        Martin Ward on Mon, 13 Oct 2003 16:54:20 +0100)
Subject: Re: SCM on ia64
Date: Mon, 13 Oct 2003 22:38:47 -0400 (EDT)

 | From: Martin Ward <[EMAIL PROTECTED]>
 | Date: Mon, 13 Oct 2003 16:54:20 +0100
 | 
 | On Thursday 09 Oct 2003 5:36 am, you wrote:
 | > Compiling with "-O2" was responsible for most of the problems.  With
 | > it removed, "make scm" produces a working executable.  Bignums and
 | > dynamic-linking work.  Dump and non-escape continuations do not.
 | 
 | Where can I download the working version from?

"build.scm" in the development version is updated:
http://swissnet.ai.mit.edu/ftpdir/users/jaffer/scm.zip

 | Do I need to remove -O2 from every compilation, or just certain files?

My experience with over-aggressive GCC optimizations is that most
files need to shed -O2, and the ones that don't can be responsible for
rare malfunctions.

-----------------



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]


--- End Message ---

Reply via email to