summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changes19
-rw-r--r--INSTALL8
-rwxr-xr-xconfigure28
3 files changed, 50 insertions, 5 deletions
diff --git a/Changes b/Changes
index 07bdab6c6d..8b30a66592 100644
--- a/Changes
+++ b/Changes
@@ -1,3 +1,22 @@
+Objective Caml 1.05:
+--------------------
+
+* Typing: fixed several bugs causing spurious type errors.
+
+* Native-code compiler: fixed instruction selection bug causing GC to
+see ill-formed pointers; fixed callbacks to support invocation from a
+main program in C.
+
+* Standard library: fixed String.lowercase; Weak now resists integers.
+
+* Toplevel: multiple phrases without intermediate ";;" now really supported;
+fixed value printing problems where the wrong printer was selected.
+
+* Debugger: fixed printing problem with local references; revised
+handling of checkpoints; fixed problem with chop_extension.
+
+* Macintosh port: fixed signed division problem in bytecomp/emitcode.ml
+
Objective Caml 1.04:
--------------------
diff --git a/INSTALL b/INSTALL
index 783d02d461..e52603fe9f 100644
--- a/INSTALL
+++ b/INSTALL
@@ -3,7 +3,8 @@ PREREQUISITES
* The GNU C compiler gcc is recommended, as the bytecode
interpreter takes advantage of gcc-specific features to enhance
performance. Versions 2.5.8, 2.6.3, 2.7.0 and 2.7.2 have all been
- tested at some point and appear to work.
+ tested at some point and appear to work. 2.7.2.1 has known problems,
+ at least under Linux; use some other version.
* Under HP/UX, gcc, the GNU binutils, and GNU make are all required.
The native cc, as, and make have major problems.
@@ -170,6 +171,11 @@ all versions of make. Use GNU make if this is a problem.
won't work if /bin/csh is called instead. You may have to unset the SHELL
environment variable, or set it to /bin/sh.
+* gcc 2.7.2.1 generates incorrect code for the runtime system in -O mode,
+at least on the Intel x86 architecture; other processors have not been
+tested with gcc 2.7.2.1. The solution is to downgrade to 2.7.2, or
+upgrade to 2.7.2.2; both work all right.
+
* gcc 2.6.0 has been reported to generate incorrect code for the
runtime system in -O mode. Upgrade to a newer version.
diff --git a/configure b/configure
index 4ebb196424..c2e134785d 100755
--- a/configure
+++ b/configure
@@ -82,6 +82,26 @@ if test -z "$cc"; then
fi
fi
+# Check for buggy versions of GCC
+
+case "$cc" in
+ gcc*)
+ case `$cc --version` in
+ 2.7.2.1)
+ echo ""
+ echo "WARNING: you are using gcc version 2.7.2.1."
+ echo "This version of gcc is known to generate incorrect code"
+ echo "for the Objective Caml runtime system, at least on Intel x86"
+ echo "machines. (The symptom is a crash of boot/ocamlc when compiling"
+ echo "stdlib/pervasives.mli.)"
+ echo "You are strongly advised to use another version of gcc, such as"
+ echo "2.7.2 or 2.7.2.2, which are known to work well with Objective Caml."
+ echo ""
+ echo "Press <enter> to proceed or <interrupt> to stop."
+ read reply;;
+ esac;;
+esac
+
# Configure the bytecode compiler
bytecc="$cc"
@@ -99,12 +119,12 @@ case "$bytecc,$host" in
bytecclinkopts="-Xlinker -taso";;
gcc*)
bytecccompopts="-fno-defer-pop -Wall";;
- cc,mips-*-irix*)
+ cc,mips-*-irix6*)
# Add -32 flag to ensure compatibility with native-code compiler
bytecccompopts="-32"
# Turn off warning "unused library"
bytecclinkopts="-32 -Wl,-woff,84";;
- cc*,mips-*-irix*)
+ cc*,mips-*-irix6*)
# Turn off warning "unused library"
bytecclinkopts="-Wl,-woff,84";;
esac
@@ -193,7 +213,7 @@ case "$host" in
i[3456]86-*-*bsd*) arch=i386; system=bsd;;
i[3456]86-*-nextstep*) arch=i386; system=nextstep;;
i[3456]86-*-solaris*) arch=i386; system=solaris;;
- mips-*-irix*) arch=mips; system=irix;;
+ mips-*-irix6*) arch=mips; system=irix;;
mips-*-ultrix*) arch=mips; system=ultrix;;
hppa1.1-*-hpux*) arch=hppa; system=hpux;;
hppa1.1-*-nextstep*) arch=hppa; system=nextstep;;
@@ -554,7 +574,7 @@ for dir in $x11_include_dir \
/opt/X11R6/include /opt/X11R5/include
do
if test -f $dir/X11/X.h; then
- x11_include=$dir
+ x11_include=$dir/X11
break
fi
done