Re: building ocaml-2.00 with egcs

From: Jens-Ulrik Petersen (petersen@kurims.kyoto-u.ac.jp)
Date: Fri Oct 16 1998 - 02:54:05 MET DST


To: Paul Bristow <paul@cee.hw.ac.uk>
Subject: Re: building ocaml-2.00 with egcs
From: Jens-Ulrik Petersen <petersen@kurims.kyoto-u.ac.jp>
Date: 16 Oct 1998 09:54:05 +0900
In-Reply-To: Paul Bristow's message of "Wed, 14 Oct 1998 16:05:24 +0100"

>>>>> "PB" == Paul Bristow <paul@cee.hw.ac.uk> writes:

    PB> Then I did make world and got:

    PB> make[1]: Entering directory
    PB> `/a/azdak/root/depot0/.primary/dsg/local/src/ocaml-2.00/byterun'

    PB> gcc -O -fno-defer-pop -Wall -c interp.c -o interp.o
[:]
    PB> interp.c:983: fixed or forbidden register was spilled. This
    PB> may be due to a compiler bug or to impossible asm statements
    PB> or clauses. make[1]: *** [interp.o] Error 1 make[1]: Leaving
    PB> directory
    PB> `/a/azdak/root/depot0/.primary/dsg/local/src/ocaml-2.00/byterun'
    PB> make: *** [coldstart] Error 2

    PB> gcc -v Reading specs from
    PB> /usr/lib/gcc-lib/i586-linux/egcs-2.90.29/specs gcc version
    PB> egcs-2.90.29 980515 (egcs-1.0.3 release)

    PB> I suspect this is the problem. Has anyone else succesfully
    PB> compiled with egcs?

I could compile 2.00 with the gcc-2.7.2.3-4.2 package of Debian 2.0.
But I successfully built it with Debian egcs-2.90.28-0.1:

        % egcc -v
        Reading specs from /usr/lib/gcc-lib/i486-linux/egcs-2.90.28/specs
        gcc version egcs-2.90.28 980423 (egcs-1.0.3 prerelease)

after applying the following patch posted here earlier:

Index: interp.c
===================================================================
RCS file: /net/pauillac/caml/repository/csl/byterun/interp.c,v
retrieving revision 1.46
diff -c -r1.46 interp.c
*** interp.c 1998/06/23 16:47:02 1.46
--- interp.c 1998/09/04 09:45:39
***************
*** 124,130 ****
  #ifdef __i386__
  #define PC_REG asm("%esi")
  #define SP_REG asm("%edi")
! #define ACCU_REG asm("%ebx")
  #endif
  #if defined(PPC) || defined(_POWER) || defined(_IBMR2)
  #define PC_REG asm("26")
--- 124,130 ----
  #ifdef __i386__
  #define PC_REG asm("%esi")
  #define SP_REG asm("%edi")
! #define ACCU_REG
  #endif
  #if defined(PPC) || defined(_POWER) || defined(_IBMR2)
  #define PC_REG asm("26")

-- 
Jens-Ulrik Holger Petersen  <http://www.kurims.kyoto-u.ac.jp/~petersen/>
Research Institute for Mathematical Sciences, Kyoto University



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:16 MET