[ros-dev] DLL Base Addresses (For Marc)
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.
"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