[ros-dev] DLL Base Addresses (For Marc)
Steven Edwards
winehacker at gmail.com
Mon Dec 17 23:44:52 CET 2007
On Dec 17, 2007 4:13 AM, Marc Piulachs <marc.piulachs at codexchange.net> wrote:
> Validating is really a two step process, in this case I was referring to the
> first part when rbuild reads the build files and starts processing object's
> properties. When it finds a property representing a base address the
> information it contains must at least *look like* a base address otherwise
> it may be a potential problem that has to be reported to the user. At this
> point the source code is not yet build so rbuild can't perform any
> additional validations. The second step is when the build has ended, now
> rbuild can use (((module base address) + file size + ¿headers size?) rounded
> to nearest 64K multiple) to see if any dlls are *in theory* overlapping
> other's address space. IMO having to run this second process at every build
> is really inefficient, a waste of resources and presents other disadvantages
> I mentioned in my previous mail.
>
> Summarizing, to auto generate and/or fully validate base address we need to
> have the source code compiled, the thing is, if we want to auto generate
> them at every build all the dlls will have to be re-linked to the new
> address. If we generate them by hand we need a way to ensure they will be
> valid under different conditions (compiler used).
Yes but are you talking about extra minutes of compile time or longer?
The amount of hours++ spent managing manually re-basing the dlls over
the years has got to justify spreading the burden to the people doing
the compiling. The extra few minutes Relinking/rebasing seems more
than justifiable compared to the maintenance of fighting with
reservation amounts across various revisions of the compiler.
--
Steven Edwards
"There is one thing stronger than all the armies in the world, and
that is an idea whose time has come." - Victor Hugo
More information about the Ros-dev
mailing list