delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2008/06/02/14:43:24

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Message-ID: <48443F2A.84F18D1@dessent.net>
Date: Mon, 02 Jun 2008 11:42:50 -0700
From: Brian Dessent <brian AT dessent DOT net>
X-Mailer: Mozilla 4.79 [en] (Windows NT 5.0; U)
MIME-Version: 1.0
To: Dave Korn <dave DOT korn AT artimi DOT com>
CC: cygwin AT cygwin DOT com
Subject: Re: rebase not compilable
References: <6910a60806020741t7ff86d8bgbb7866e62acf1c09 AT mail DOT gmail DOT com> <484411AA DOT AF8A9011 AT dessent DOT net> <026f01c8c4d3$a4309510$2708a8c0 AT CAM DOT ARTIMI DOT COM> <48442EDB DOT 11A94F8 AT dessent DOT net> <027101c8c4db$0027a820$2708a8c0 AT CAM DOT ARTIMI DOT COM>
X-IsSubscribed: yes
Reply-To: cygwin AT cygwin DOT com
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

Dave Korn wrote:

> Regardless of how well (or poorly) the
> hash function distributes DLLS into the various buckets, there are only 1024
> of them, and we have many DLLs, many of which will occupy multiple buckets;
> collisions are inevitable.

First of all, I don't see where this 1024 comes from.  By my reading the
hash distributes over the range 0x61300000 - 0x712C0000 in 64k
increments, meaning 4092 buckets.

But what I really meant wasn't necessarily to improve the hashing
function per se but to give it more buckets, a wider range.  I realize
that higher than 0x712c0000 tends to run into the Microsoft-assigned
ranges for things in %systemroot%\system32, but it could also place
things on the other side of the Cygwin DLL as well.  Isn't that what
Reini is trying to do here anyway?

I guess my meta-point is that if we have a problem with the way we
distribute image bases, shouldn't we try to find a way to solve that
problem once in a central manner at the time the DLL is created by the
package maintainer, rather than making the end user deal with it by
brute force of resuffling everything on their system (in a way that is
non-obvious if they are not familiar with the problem.)

Brian

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019