From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id IAA05060 for caml-red; Thu, 30 Nov 2000 08:56:21 +0100 (MET) Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id IAA32755 for ; Thu, 30 Nov 2000 08:04:30 +0100 (MET) Received: from localhost.localdomain (jimbo192.zip.com.au [202.7.88.192]) by nez-perce.inria.fr (8.11.1/8.10.0) with ESMTP id eAU74Ob24517; Thu, 30 Nov 2000 08:04:25 +0100 (MET) Received: from ozemail.com.au (IDENT:root@localhost [127.0.0.1]) by localhost.localdomain (8.9.3/8.8.7) with ESMTP id SAA01600; Thu, 30 Nov 2000 18:02:43 +1100 Message-ID: <3A25FB93.AD27098B@ozemail.com.au> Date: Thu, 30 Nov 2000 18:02:43 +1100 From: John Max Skaller X-Mailer: Mozilla 4.7 [en] (X11; I; Linux 2.2.12-20 i686) X-Accept-Language: en MIME-Version: 1.0 To: fabrice.le_fessant@inria.fr CC: Vitaly Lugovsky , caml-list@inria.fr Subject: Re: Dynamic loading. Again. References: <14885.12770.825697.215308@cremant.inria.fr> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: weis@pauillac.inria.fr Fabrice Le Fessant wrote: > > Last year, Mark Hayden and I did some work on dynamic linking of > native code for Linux. It worked, with few modifications in the > compiler to generate relocatable code in the ELF format, but the code > was really big (something like twice the normal size) and really slow > (about twice slower). Do you know why it was slower?? Normally, static and load time linkage produce identical code, and the code doesn't have to be position independent: any code can be shared, and have distinct per process data at the same virtual address. Absolute addresses are relocated by patching once at load time. What's usually required is segmentation (splitting the code into executable and data segments). {I think all this stinks, and is a result of using a stupid language like C for systems programming .. but that's another story] -- John (Max) Skaller, mailto:skaller@maxtal.com.au 10/1 Toxteth Rd Glebe NSW 2037 Australia voice: 61-2-9660-0850 checkout Vyper http://Vyper.sourceforge.net download Interscript http://Interscript.sourceforge.net