On Dec 16, 2007, at 4:10 PM, Marc Piulachs wrote:
> Hi Alex,
>
> Let me see if I understood this correctly. The problem is not
> really on
> manually choosing the base address, the problem is that module's
> "baseaddress" attribute is optional, even when the module is of type
> "win32dll", if this attribute is empty rbuild sets a common default
> base
> address (0x10000000 for win32 dll's).
No, the problem is exactly choosing the address: modules overlap with
each other, and manually calculating baseaddresses often doesn't
work. Alex proposed to automate this process and do a
baseaddress.rbuild file generator.
There are not many dlls with baseaddress missing, and if it's
missing, it should be added to those (in trunk).
> AFAIK we are using the same base address that the equivalent
> component has
> on windows so auto generating it using any sort of tool is not
> really an
> option.
Not really, in most cases (might be with a few exceptions), it's not
possible to use exactly Windows' base address (because size of our
modules and windows modules often differs). The problem is to
distribute the dlls in the memory address space so that they don't
overlap.
As for baseaddress in xml form - baseaddress is a module's property,
it's not a standalone object which is part of the module. I don't see
why it should be given a standalone tag (maybe I'm missing something).
WBR,
Aleksey Bragin.