From d50773e537ec6729f9152b545c6f938ab19eb7b8 Mon Sep 17 00:00:00 2001 From: Xavier Leroy Date: Thu, 27 Oct 2016 16:19:19 +0200 Subject: Documentation updates to mention 64-bit mode and x86_64 port --- Changelog | 26 ++++++++++++++++++++++++-- configure | 13 ++++++++----- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/Changelog b/Changelog index c3edb0fd..59f10c2f 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,25 @@ +Working version +=============== + +Major improvements: + +- Added support for 64-bit target platforms, including pointers that + are 64-bit wide, and the ability to use 64-bit integer registers and + arithmetic operations. This support does not replace but comes in + addition to CompCert's original support for 32-bit target platforms, + with 32-bit pointers and emulation of 64-bit integer arithmetic + using pairs of 32-bit integers. In terms of C data models, CompCert + used to be restricted to the ILP32LL64 model; now it also supports + I32LP64 and IL32LLP64. + +- The x86 port of CompCert was extended to produce x86-64 bit code in + addition to the original x86-32 bit (IA32) code. (This is the first + instantiation of the new support for 64-bit targets described + above.) Support for x86-64 is currently available for Linux and MacOS X. + (Run the configure script with 'x86_64-linux' or 'x86_64-macosx'.) + + + Release 2.7.1, 2016-07-18 ========================= @@ -7,9 +29,9 @@ Bug fixing: - Fixed a compile-time assertion failure involving builtins taking a 64-bit integer parameter and given an unsigned 32-bit integer argument. -- Updates to the Cminor parser. +- Updates to the Cminor parser. + - Release 2.7, 2016-06-29 ======================= diff --git a/configure b/configure index 6db59fb8..7ce5a1f2 100755 --- a/configure +++ b/configure @@ -36,13 +36,16 @@ Supported targets: armeb-linux (ARM, EABI, big endian) armeb-eabihf (ARM, EABI using hardware FP registers, big endian) armeb-hardfloat (ARM, EABI using hardware FP registers, big endian) - ia32-linux (x86 32 bits, Linux) - ia32-bsd (x86 32 bits, BSD) - ia32-macosx (x86 32 bits, MacOS X) - ia32-cygwin (x86 32 bits, Cygwin environment under Windows) + x86_32-linux (x86 32 bits, Linux) + x86_32-bsd (x86 32 bits, BSD) + x86_32-macosx (x86 32 bits, MacOS X) + x86_32-cygwin (x86 32 bits, Cygwin environment under Windows) x86_64-linux (x86 64 bits, Linux) + x86_64-macosx (x86 64 bits, MacOS X) manual (edit configuration file by hand) +For x86 targets, the "x86_32-" prefix can also be written "ia32-". + For PowerPC targets, the "ppc-" prefix can be refined into: ppc64- PowerPC 64 bits e5500- Freescale e5500 core (PowerPC 64 bit, EREF extensions) @@ -314,7 +317,7 @@ if test "$arch" = "x86" -a "$bitsize" = "32"; then fi ;; *) - echo "Error: invalid eabi/system '$target' for architecture IA32." 1>&2 + echo "Error: invalid eabi/system '$target' for architecture IA32/X86_32." 1>&2 echo "$usage" 1>&2 exit 2;; esac -- cgit