Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
From: "Ralf Habacker" <Ralf.Habacker@freenet.de>
To: "cygwin" <cygwin@cygwin.com>
Subject: RE: Rebasing dlls - why it is necessary
Date: Wed, 17 Jul 2002 14:35:11 +0200
Message-ID: <01cc01c22d8e$64728d30$5aa907d5@BRAMSCHE>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
In-Reply-To: <20020716182528.68f60a70.steven.obrien2@ntlworld.com>
Importance: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400

> This can be seen as a hack, because rebasing should really be for
> efficiency, not for functionality.

... but rebasing is only the half of what is possible. Rebinding is another
part, which could be done on dll's and exes.
Rebinding means to store dll's function addresses direct into a dll/exe import
table, so that on loading the dll/exes the runtime linker does not have to
compute the address, because it is already valid.

I've got a speedup of > 50% on big applications like qt designer and kde dll's.
If anyone like to try this application, see the download area of the kde-cygwin
project on sourceforge on
http://sourceforge.net/project/showfiles.php?group_id=27249

Regards
Ralf


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

