From jan@swi.psy.uva.nl Tue May 15 21:30:59 2001
Received: from gollem.swi.psy.uva.nl (root@gollem [145.18.152.30])
	by swi.psy.uva.nl (8.11.2/8.11.2) with ESMTP id f4FJUw318141;
	Tue, 15 May 2001 21:30:58 +0200 (MET DST)
Received: (from jan@localhost)
	by gollem.swi.psy.uva.nl (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) id f4FJUwb19311;
	Tue, 15 May 2001 21:30:58 +0200
Date: Tue, 15 May 2001 21:30:58 +0200
Message-Id: <200105151930.f4FJUwb19311@gollem.swi.psy.uva.nl>
From: Jan Wielemaker <jan@swi.psy.uva.nl>
To: prolog@swi.psy.uva.nl
Phone: +31 - 20 - 525 6121
Cc: schwab@suse.de, vinil@suse.cz
Subject: [SWIPL] Ann: SWI-Prolog 4.0.6/XPCE 5.1.6 for 64-bit machines

Hi,

With help from Vladimir Linek and Andreas Schwab from the SuSE team I
was able to fix a large number of portability-issues especially for
64-bit hardware.  Compilation and testing was done on Intel Itanium
(Merced) at SuSE running Linux.

Besides portability issues, there are only a few fixes to the
multi-threaded version and XPCE's socket class and HTTP manual server.
Therefore there are no binary releases this time!

Brief summary of portability patches:

	* Data representation problem causing problems in padding
	  native SWI-Prolog string data.  Causing incorrect results
	  and crashes when using XPCE.

	* Raised hard-limit to 1GB on each stack (on 64-bit hardware).
	  (this limit is rather arbitrary).

	* Problems in PL_unify_term() with difference in length
	  between `int' and `long'.  See manual.  This also affects
	  user foreign code that must be portable to these platforms.
	  Various modification to the standard packages to deal with
	  this.

	* Make all stack-size related numbers a multiple of the word-size,
	  so they behave the same regardless of the word-size.

	* Deal more elegantly with setjmp()/longjmp() alignment issues.

	* Fixed many (non-fatal) compiler warnings.

	* [XPCE] close pointer-vararg argument with a pointer rather than
	  an int.

	Cheers --- Jan

