<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body dir="ltr" bgcolor="#ffffff" text="#000000">
Oleg Goldshmidt wrote:
<blockquote cite="mid:m3r5xpj4rv.fsf@goldshmidt.org" type="cite">
<pre wrap="">Shachar Shemesh <a class="moz-txt-link-rfc2396E" href="mailto:shachar@shemesh.biz"><shachar@shemesh.biz></a> writes:
</pre>
<blockquote type="cite">
<pre wrap="">I'm not sure whether base addresses are allocated randomly or
something else is at work here, but collisions are not that common.
</pre>
</blockquote>
<pre wrap=""><!---->
You can manually rebase a DLL at post-link time, and I think that DLLs
shipped by commercial vendors (such as MS :) have precomputed base
addresses to avoid the overhead of load-time relocations. If many of
the DLLs in your experience came from 3rd parties then this may
explain your observation.
</pre>
</blockquote>
When they did not come from 3rd parties, then I got a link warning when
I linked my application, and I rebased them.<br>
<br>
Either way, actual collisions were not so often.<br>
<br>
Shachar<br>
<blockquote cite="mid:m3r5xpj4rv.fsf@goldshmidt.org" type="cite">
<pre wrap=""><a class="moz-txt-link-freetext" href="http://en.wikipedia.org/wiki/Portable_Executable#Relocations">http://en.wikipedia.org/wiki/Portable_Executable#Relocations</a>
<a class="moz-txt-link-freetext" href="http://www.ddj.com/184416272">http://www.ddj.com/184416272</a>
</pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Shachar Shemesh
Lingnu Open Source Consulting Ltd.
<a class="moz-txt-link-freetext" href="http://www.lingnu.com">http://www.lingnu.com</a>
</pre>
</body>
</html>