Date: Thu, 15 Oct 1998 19:17:55 +0200
From: Xavier Leroy <Xavier.Leroy@inria.fr>
To: Paul Bristow <paul@cee.hw.ac.uk>, caml-list@inria.fr
Subject: Re: Objective Caml 2 with RedHat 5.1
In-Reply-To: <3624BDB3.82231609@cee.hw.ac.uk>; from Paul Bristow on Wed, Oct 14, 1998 at 04:05:24PM +0100
> I've recently upgraded to RedHat (Linux) 5.1 and am having
problems.
> [...]
> interp.c:983: fixed or forbidden register was spilled.
> This may be due to a compiler bug or to impossible asm
> statements or clauses.
Several users have reported this problem. It looks like the "asm"
statements for the Intel x86 in byterun/interp.c don't work with gcc
2.8 nor egcs (but they work OK with gcc 2.7). The one-line patch
below fixes this problem.
If you're using RedHat 5.1, you can also download pre-compiled RPM
binaries from our FTP site (ftp.inria.fr:/lang/caml-light).
- Xavier Leroy
Index: csl/byterun/interp.c
diff -c csl/byterun/interp.c:1.46 csl/byterun/interp.c:1.47
*** csl/byterun/interp.c:1.46 Tue Jun 23 18:47:02 1998
--- csl/byterun/interp.c Mon Sep 7 09:57:05 1998
***************
*** 9,15 ****
/* */
/***********************************************************************/
! /* $Id: interp.c,v 1.46 1998/06/23 16:47:02 xleroy Exp $ */
/* The bytecode interpreter */
--- 9,15 ----
/* */
/***********************************************************************/
! /* $Id: interp.c,v 1.47 1998/09/07 07:57:05 xleroy Exp $ */
/* The bytecode interpreter */
***************
*** 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")
This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:16 MET