diff options
-rw-r--r-- | Changes | 19 | ||||
-rw-r--r-- | INSTALL | 8 | ||||
-rwxr-xr-x | configure | 28 |
3 files changed, 50 insertions, 5 deletions
@@ -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: -------------------- @@ -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. @@ -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 |