From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id DA619BC8C for ; Sun, 16 Jan 2005 17:26:29 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j0GGQTdW004978 for ; Sun, 16 Jan 2005 17:26:29 +0100 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id RAA19229 for ; Sun, 16 Jan 2005 17:26:28 +0100 (MET) Received: from kurims.kurims.kyoto-u.ac.jp (kurims.kurims.kyoto-u.ac.jp [130.54.16.1]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j0GGQQW1027153 for ; Sun, 16 Jan 2005 17:26:28 +0100 Received: from localhost (suiren [130.54.16.25]) by kurims.kurims.kyoto-u.ac.jp (8.13.1/8.13.1) with ESMTP id j0GGQJbr007091; Mon, 17 Jan 2005 01:26:21 +0900 (JST) Date: Sun, 16 Jan 2005 08:26:37 -0800 (PST) Message-Id: <20050116.082637.115932729.garrigue@math.nagoya-u.ac.jp> To: sven.luther@wanadoo.fr Cc: caml-list@inria.fr, debian-ocaml-maint@lists.debian.org Subject: Re: [Caml-list] binary compatibility of 3.08.3 From: Jacques Garrigue In-Reply-To: <20050116133724.GB1467@pegasos> References: <20050114133632.GA4923@pegasos> <20050115120719.GB11037@yquem.inria.fr> <20050116133724.GB1467@pegasos> X-Mailer: Mew version 4.1 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Miltered: at nez-perce with ID 41EA95B5.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 41EA95B2.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 binary:01 sven:01 luther:01 sven:01 luther:01 binary:01 bug:01 inlined:01 bug:01 ocaml:01 bytecode:01 incompatible:01 incompatible:01 digest:01 X-Spam-Checker-Version: SpamAssassin 3.0.0 (2004-09-13) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.0 X-Spam-Level: From: Sven Luther > Well, if binary compatibility could be maintained at least on the bug fix > branch, it would be good already. > > But if what Jacques says is true, and the binary compatibility is only broken > by the way the diggests are calculated, maybe there may be a > solution there ? > > Or is the binary-compatibility breakage really needed ? Actually, what I gave is only one possible reason for breakage. Another that comes to mind is that .cmx's contain code to be inlined. If any file was modified in the standard library (to fix a bug there), then there is a good chance that this code changed, and as a result the digest will make it binary incompatible. Binary compatibility as you get it in C is just a hack: you drop some consistency checks, and hope that the user is clever enough to not use incompatible libraries. Ocaml chooses the safe way. This could be made a bit more resilient, particularly for bytecode, but you would still have breakages in the bug fix branch. > Anyway, it would be nice if the breakage would at least be announced in the > release documentation. Especially if it doesn't touch all the modules and > libraries, as was the case for 3.08.2. You can safely assume that every new release breaks binary compatibility. (I.e. that some digests in the libraries have changed.) Jacques Garrigue