1.1 --- a/Admin/polyml/README Mon Dec 20 22:27:26 2010 +0100
1.2 +++ b/Admin/polyml/README Mon Dec 20 23:19:16 2010 +0100
1.3 @@ -1,15 +1,46 @@
1.4 Poly/ML for Isabelle
1.5 ====================
1.6
1.7 -This distribution of Poly/ML 5.4 has been compiled from the original
1.8 -sources using the included build script. For example:
1.9 +This compilation is based on the official Poly/ML 5.4 sources from
1.10 +http://www.polyml.org with the following change in the SVN (which is
1.11 +also part of the fixes-5.4 source tree):
1.12
1.13 - ./build polyml.5.4 x86-linux --with-gmp
1.14 +------------------------------------------------------------------------
1.15 +r1214 | dcjm | 2010-09-14 20:03:52 +0200 (Tue, 14 Sep 2010) | 1 line
1.16
1.17 -The resulting executables and shared libraries are moved to
1.18 -x86-linux/. This directory layout accomodates the standard ML_HOME
1.19 -settings for Isabelle.
1.20 +Fix to arbitrary precision emulation for X86. A GC during emulating
1.21 +an operation could cause the stack to move resulting in the result of
1.22 +the operation not being stored into the result register.
1.23 +------------------------------------------------------------------------
1.24 +diff libpolyml/x86_dep.cpp libpolyml/x86_dep.cpp.orig
1.25 +1308,1311c1308
1.26 +< if (! inConsts) {
1.27 +< destReg = get_reg(taskData, rrr); // May have moved because of a GC.
1.28 +< *destReg = PolyWord::FromUnsigned(destReg->AsUnsigned()+1);
1.29 +< }
1.30 +---
1.31 +> if (! inConsts) *destReg = PolyWord::FromUnsigned(destReg->AsUnsigned()+1);
1.32 +1344,1347c1341
1.33 +< if (! inConsts) {
1.34 +< destReg = get_reg(taskData, rrr); // May have moved because of a GC.
1.35 +< *destReg = PolyWord::FromUnsigned(destReg->AsUnsigned()-1);
1.36 +< }
1.37 +---
1.38 +> if (! inConsts) *destReg = PolyWord::FromUnsigned(destReg->AsUnsigned()-1);
1.39 +
1.40 +------------------------------------------------------------------------
1.41 +
1.42 +The included build script is used like this:
1.43 +
1.44 + ./build src x86-linux --with-gmp
1.45 + ./build src x86_64-linux --with-gmp
1.46 + ./build src x86-darwin --without-gmp
1.47 + ./build src x86_64-darwin --without-gmp
1.48 + ./build src x86-cygwin --with-gmp
1.49 +
1.50 +The multi-platform directory layout for executables and shared
1.51 +libraries accommodates the standard ML_HOME settings for Isabelle.
1.52
1.53
1.54 Makarius
1.55 - 17-Aug-2010
1.56 + 20-Dec-2010