httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <>
Subject RE: DLL Base addresses (was: .dsp link options)
Date Tue, 18 Apr 2000 16:28:31 GMT
> From: Greg Marr []
> Sent: Tuesday, April 18, 2000 9:33 AM
> At 10:06 AM 04/18/2000, William A. Rowe, Jr. wrote:
> > > From: Tim Costello []
> > > I get a bad feeling from the fact that base addresses in all
> > > the project files are now hard-coded, because it seems like
> > > either quite a maintenance effort or the sort of thing that
> > > will be overlooked in time. I've been using the following patch
> > > for a little while to rebase all Apache DLLs after compilation
> > > using EDITBIN - it calculates new addresses automatically given
> > > a ceiling address, currently set to 0x70000000.
> >
> >I think the concept is EXCELLENT!  I share your concerns that coders 
> >forget as they add new modules, or a module grows by leaps and 
> >bounds and collides with the next.
> >
> >I'm mostly concerned though, that the original addresses in the 
> >exports .lib file may not be touched... are they?
> I don't think so.
> In the Project Settings, Link Tab, Base Address, instead of putting 
> the actual address, you can specify a filename that contains all the 
> base addresses for all the modules.


as a footnote

> AFAIK, the SDK/MSVCRT is bound by name, and MFC is bound by ordinal.

I cheat and trust depends... perhaps I shouldn't do that anymore :-)

Here's the new src/os/win32/BaseAddr.ref file for the addressing...
if there are no objections I'll post the .dsp changes tonight!

Scuttle the proposed patch from Tim (and my revision).
I agree this is more work, but at least it's in one place!

; os/win/BaseAddr.ref contains the central repository
;                     of all module base addresses
;                     to avoid relocation

; WARNING: Update this file by reviewing the image size
;          of the debug-generated dll files.  Release
;          image sizes should generally be smaller.

; module-key  base-address      max-size

aprlib          0x6FFA0000    0x00060000
ApacheCore      0x6FF00000    0x000A0000
mod_auth_anon   0x6FEF0000    0x00010000
mod_cern_meta   0x6FEE0000    0x00010000
mod_digest      0x6FED0000    0x00010000
mod_expires     0x6FEC0000    0x00010000
mod_headers     0x6FEB0000    0x00010000
mod_info        0x6FEA0000    0x00010000
mod_rewrite     0x6FE80000    0x00020000
mod_speling     0x6FE70000    0x00010000
mod_status      0x6FE60000    0x00010000
mod_usertrack   0x6FE50000    0x00010000
mod_proxy       0x6FE30000    0x00020000

View raw message