From: "Günter Knauf" <[EMAIL PROTECTED]> Sent: Wednesday, October 03, 2001 9:32 AM
> Hi Greg, Bill, > thanks for the detailed information. > Now I'm asking me why I did not ask you earlier because I have ~20 modules > which then better be recompiled... > I assume that this also applies to Cygwin and perhaps OS2, or? If so then > there's a common interest to have a BaseAddress2.ref for 3rd party modules; > can we perhaps place it on a Apache server so that everyone has access to? > I've already started with this and will now put in all modules I got compiled > for Win32 and post it here if you agree... My only problem is that I don't want to even try maintaining such a beast. IMHO, it's better if they express their /BASE:"0xnnnn0000" directly. Of course I don't mind if an 'installer' were to tack their base entry into BaseAddr.ref directly when merging their sources into the build tree (not such a common act on Win32, since we have so few 'compilers'.) One problem is the size argument. If you build in full debugging mode, your binaries are much larger. I've taken that into account for the current list. Sometimes modules grow, and the entire table must be rearranged. I don't much like trying that for umpteen modules. Look at the rebase.exe utility (provided in the PlatformSDK and with the MSVC products, amoungst other places) which will let you reorder .dll's wrt each other's load addresses. You would specify any 'predictable' modules (those with well established load addresses, such as libraries or the Apache modules we hand-ordered) by the -N opt, then list out the other 'undefined' modules with the -O opt. Use -d to order these modules top-down, and -b 0x6FFF0000 or some such as the starting point. cygwin might benefit from rebasing the entire list at once. Bill